C# Speech Synthesis – Konuşma Sentezleyici
Eğer uygulamanızda, Text-to-Speech (TTS) yeteneği olmasını istiyorsanız, .Net Framework içerisinde bunu yapmanızı sağlayacak sınıflar mevcut.
Projenizde Text-To-Speech sınıflarını kullanabilmek için, System.Speech.Synthesis namespace’indeki sınıflara erişebilmeniz gereklidir.
System.Speech.Synthesis namespace’ine, projenize System.Speech.dll assembly’yi referans olarak ekleyerek ulaşabilirsiniz.
Text-to-Speech kullanmak istediğiniz sınıfın bulunduğu kod dosyasının en üstünde bulunan using‘leri yazdığınız kısma;
using System.Speech.Synthesis;
satırını ekleyiniz. Daha sonra yapmanız gereken, kodunuzun ilgili yerine aşağıdaki kod parçasını eklemek;
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Speak("Konuşmaya çevrilecek ve hoparlörden duyulacak metin");
Uygulama çalışırken, ilgili satıra geldiğinde, önce Speak() methoduna parametre olarak verdiğiniz string hoparlörden duyulur, sonra bir sonraki satırdan çalışmaya devam eder.
Eğer metnin konuşmaya çevrilme işleminin uzun sürdüğünü ve uygulamanıza “yavaşlık” kattığını düşünüyorsanız, aynı kodu aşağıdaki gibi yazabilirsiniz;
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.SpeakAsync("Konuşmaya çevrilecek ve hoparlörden duyulacak metin");
SpeakAsync() method’u sayesinde, uygulama metnin konuşmaya çevrilmesi ve ses kartı aracılığıyla yayınlanması işlemini ayrı bir iş parçacığında gerçekleştirir.
Not : Speak() method’u ingilizce kelimeleri doğru olarak okuyor, fakat türkçe kelimeleri okuyamıyor.
İlgili diğer başlıklar:
- Dosya veya Dizin isimlendirirken kullanmamanız gereken karakterler
- C# MD5 yöntemi ile metin şifreleme
- C# Veri Tipleri
- Uygulamanın Referans Listesini Almak
- Kısa Sınav – 11
- LINQ ile Bilgisayara Kurulu Programları Sorgulamak
- C# Global Assembly Cache içine Assembly yüklemek
- C# Uygulamanın Yönetici (Administrator) hesabı ile çalıştığını kontrol etmek
- C# Obsolete Attribute
- Code Challenge #1