25 Ekim 2012 Perşembe

Html5 - Speech Search (Web)

Merhabalar,

Web ortamında çok basit bir şekilde HTML5 ile gelen ve chrome - firefox  desteklediği webkit-speech  özelliğinden bahsedeceğim.

Alışveriş sitesindeyiz ve aramayı konuşarak yapıyoruz. çok güzel olmaz mıydı? bir önceki yazımda windows tabanlı TextToSpeech - SpeechToText (http://onerkaya.blogspot.com/2012/10/myspeech-texttospech-speechtotext.html işlemlerini destekleyen bir uygulama gerçekleştirmiştim. bu sefer Web tarafında Html5 in nimetlerinden yararlanma zamanı geldi bile ;)

İşin özü : <input type="text" x-webkit-speech="x-webkit-speech" lang="tr" />

Ufak bir aspx dosyası ve speech ile gelen değeri , iframe içersinde yahoo üzerinde aratmaktadır :) aşağıda kod örneği ve sırası ile ekranlar bulunmaktadır.





Bunun için browser desteğinin olması gerekmektedir. http://blogs.sitepointstatic.com/examples/tech/speech-input/index.html bu adresten online speech - webkit özelliğini chrome ile test edebilirsiniz. şu an benim uyarlamamda dil parametresi TR dir. Gayet başarılı sonuçlar döndürmektedir.

http://www.webkit.org/ adresinden gerekli gelişmiş bilgileri edinebilirsiniz.

Uygulamamızın kaynak kodları :  https://docs.google.com/file/d/0ByRFI3ULXVPuem1EcUlHTDlrWVE/edit?usp=sharing

Html5 ile ilgili daha detaylı, yenilikleri ile sizlerle tekrar olacağım.

Öner KAYA

MySpeech - TextToSpeech & SpeechToText ;)

Geçen ofiste muhabbeti oldu. Konuştuğumuzu kolaylıkla nasıl yazıya dökeriz, bunu WEB ortamında nasıl sağlarız şeklinde. Kolay olduğunu biliyordum ve ufak bir araştırma yapıp hemen basit bir uygulama gerçekleştirdim. Sizinle bunu paylaşıyor olacağım.

Anlatacağım uygulamanın özelliği; yazdığımız yazıyı seslendirmek, konuştuğumuzu yazıya aktarmak. Ayrıca WEB ortamı için sesli arama özelliğini nasıl kolaylıkla yeni teknoloji olan HTML5 ile yapacağımızı anlatacağım.

Öncelikle .Net in System.Speech kütüphanesini, TextToSpeech için SpeechSynthesizer, SpeechToText işlemim için SpeechRecognitionEngine sınıflarını kullanmaktayım.


TextToSpeech işlemi için;
 SpeechSynthesizer nesnesini yönetmek ve her seferinde aynı sınıfı kullanmak için SingleTon tasarım desenini kullanarak TextToSpeech sınıfı oluşturdum. Dispose işlemi ise, OnFormClosing işlemi sırasında yapmaktayım.



SpeechToText işlemi için;
SpeechRecognitionEngine sınıfını kullanmaktayım.Aynı sınıfı her seferinde ulaşmak için singleton tasarım desenini kullandım. Konuştuğumuzu algılayabilmesi için ilgili dil paketine uygun kelime (grammer) listesi ile sınıfımızı beslememiz gerekmektedir. grammer.txt dosyasını oluşturdum.2 durum var.ilk durum kelime ya da cümle olması, diğer durum ise program tanımlanmasıdır. 'running' diyerek program modunu açıyoruz. sonrasında çalışmasını istediğiniz program adını söylüyorsunuz :) Bu tarz tanımlama örneklerim grammer.txt içersinde mevcut. Daha da zenginleştirilebilir. hatta comma diyince "," ataması şeklinde tanımlamalarda yapılabilinir, desteklenebilir. artık gerisi size kalmış :)






SpeechRecognitionEngine sınıfının eventler yardımı ile ses sisteminden gelen ses yüksekliğini ve yakalanan kelimeleri yakalamaktayım. bu şekilde form tarafında görüntüleme ya da program çalıştırma işlemi yapmaktayım.




Programımız kullanıma hazır. İndirmek için - https://docs.google.com/file/d/0ByRFI3ULXVPuRzZRMUJLSDFRSlE/edit?usp=sharing

Dilediğiniz gibi kullanabilir, geliştirebilir, örnekliyebilirsiniz.

Html5 ile web ortamında sesli arama yapmak için ayrı bir yazı yazdım. ulaşmak için; http://onerkaya.blogspot.com/2012/10/html5-speech-search-web.html .;)

Öner KAYA