C# ile oluşturduğumuz projelerde mikrofondan alınan sesi yazıya çevirerek, gelen sese göre işlem yaptırabiliriz. Bunun için System.Speech kütüphanesini kullanacağız.
Kütüphaneyi Kullanma Önce menüden “Project > Add Reference..” yolunu izleyerek System.Speech kütüphanesini projeye dahil edelim. Ardından gerekli isim alanını ekleyelim:
using System.Speech.Recognition;
Nesne Tanımlaması ve Ayarlar Kullanacağımız nesneyi sınıf seviyesinde tanımlayıp Form_Load olayında gerekli ayarlamaları yapalım.
SpeechRecognitionEngine speechEngine = new SpeechRecognitionEngine();
// algılanacak kelime gurubunu belirle Choices choises = new Choices("yes", "no");
// tanımladığımız kelimeleri gramer haline getirelim GrammarBuilder grammarBuilder = new GrammarBuilder(choises);
// yeni bir grammar nesnesi oluştur Grammar grammar = new Grammar(grammarBuilder);
// oluşturulan grameri speechEngine nesnesine yükle speechEngine.LoadGrammar(grammar);
// belirlenen kelimelerden biri algılandığında speechEngine.SpeechRecognized += speechEngine_Event;
// speechEngine nesnesi kelimeleri asenkron ve çoklu olarak algılasın speechEngine.RecognizeAsync(RecognizeMode.Multiple); }
Ses Algılandığında SpeechEngine nesnesi belirlediğimiz kelimelerden birini algıladığında tetiklenecek method:
void speechEngine_Event(object sender, SpeechRecognizedEventArgs e) { // algılanan kelimeler içinde foreach (RecognizedWordUnit words in e.Result.Words) { // kelimeye göre işlem if (words.Text.Equals("yes")) { MessageBox.Show("Evet!"); } else if (words.Text.Equals("no")) { MessageBox.Show("Hayır!"); } else { MessageBox.Show("Söylenilen sözcük algılanamadı!"); } } }
Hatalar Eğer No recognizer is installed ya da Yüklü tanıyıcı yok hatası alıyorsanız muhtemelen işletim sisteminin dili Türkçe olduğu içindir. Hatayı engellemek için ya Windows dili İngilizce olmalı ya da dil paketi bilgisayarda kurulu olmalı.
Kütüphaneyi Kullanma
Önce menüden “Project > Add Reference..” yolunu izleyerek System.Speech kütüphanesini projeye dahil edelim. Ardından gerekli isim alanını ekleyelim:
Nesne Tanımlaması ve Ayarlar
Kullanacağımız nesneyi sınıf seviyesinde tanımlayıp Form_Load olayında gerekli ayarlamaları yapalım.
Ses Algılandığında
SpeechEngine nesnesi belirlediğimiz kelimelerden birini algıladığında tetiklenecek method:
Hatalar
Eğer No recognizer is installed ya da Yüklü tanıyıcı yok hatası alıyorsanız muhtemelen işletim sisteminin dili Türkçe olduğu içindir. Hatayı engellemek için ya Windows dili İngilizce olmalı ya da dil paketi bilgisayarda kurulu olmalı.
Kaynak: C# | Sesle komut işleme (Speech Recognition)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
                        
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi BaronRhymes -- 1 Mayıs 2014; 14:44:49 >