- Gerekli Bileşenler
- Devre şeması
- Hoparlörü Arduino ya Bağlama
- TTS için Arduino Programlama (Metinden Konuşmaya)
Metinden konuşmaya veya TTS sistemi normal metni Konuşmaya dönüştürür. Bu teknoloji, sistemin metni insan sesiyle konuşmasını sağlar. Toplu taşımadaki duyurular, müşteri hizmetleri aramaları, akıllı telefonlarınızdaki sesli asistanlar veya herhangi bir makinenin navigasyon menüsü gibi birçok Metin-Konuşma dönüşümü örneği vardır. TTS'yi Microsoft Word'de, belgede yazılı metni seslendirecek şekilde ayarladığınız yerde bile bulabilirsiniz.
Bugün bu eğitimde, Arduino kullanarak Metin Okuma dönüştürücüsünün nasıl yapılacağını öğreneceğiz. Daha önce Çalar saat konuşmasında Raspberry pi ile TTS'yi kullandık ve ayrıca Google sesli klavyeyi kullanarak konuşmayı ahududu pi'de metne dönüştürdük.
TTS ilk adım ön işleme veya normalleştirme. Bu adım, sembollerin, sayıların ve kısaltmaların '?' Gibi makineler tarafından okunabilen kelimelere dönüştürülmesini içerir. "soru işareti" haline getirilecektir.
İkinci adım sesbirimler veya fonetik transkriptleri içine normalize metnin dönüştürülmesini kapsar. Fonemler, söylenen kelimelerin küçük parçalarıdır, yani bunlar cümle oluşturan seslerdir. Bu adım, makinenin kelimeleri insanların yaptığı gibi konuşabilmesi için gerçekten çok önemlidir.
Son adım konuşma ses içine fonemlerin sentezidir. Bu adım, farklı kelimeler / ifadeler için insan sesini kaydetmek veya temel ses frekansları oluşturmak ve bunları fonemler olarak yığmak veya insan konuşma mekanizmasını kopyalamak gibi farklı yöntemlerle gerçekleştirilebilir.
Gerekli Bileşenler
- Arduino kurulu
- Konuşmacı
- Bir Amplifikatör Devresi
- Düzenlenmiş Güç Kaynağı
- Kabloların Bağlanması
Devre şeması
Bu Metin-Konuşma dönüştürücüsünde, gürültüyü azaltmak ve net bir ses elde etmek için bir amplifikatör devresi kullandık. Amplifikatör devresi IC LM386 kullanılarak yapılmıştır. Bunun için devre şeması aşağıda gösterilmiştir:
Sesi ayarlamak için 100K pot kullanılır. Net bir ses elde etmek için ayarlayın. Bu devre hakkında herhangi bir karışıklığınız varsa, LM386 Tabanlı Ses Amplifikatör Devresini inceleyin. Dirençlerin ve kapasitörlerin tam değerine sahip değilseniz, yakın değerli olanları kullanın.
Hoparlörü Arduino ya Bağlama
Amplifikatör devresini yaptıktan sonra bağlantılar çok kolaydır.
Güç kaynağını amplifikatör devresine bağlayın ve Arduino'nuzun dijital pin 3'ünü 10K dirence bağlayın ve Arduino'nun toprağını devrenin toprağına bağlayın. Şimdi negatif terminalini toprağa ve pozitif terminalini 220µF kapasitörüne bağlayarak hoparlörü bağlayın ve güç kaynağını bağlayın.
TTS için Arduino Programlama (Metinden Konuşmaya)
Bu Arduino tabanlı TTS için program, kütüphane bunun için mevcut olduğu için de çok kolaydır. Bu kütüphane Talkie olarak adlandırılır ve kütüphane yöneticisi tarafından eklenebilir. Kitaplığı eklemek için Sketch-> Include Library-> Mange Libraries'e gidin .
Şimdi Kütüphane Yöneticisi ekranınızda olacak. Arama çubuğuna Talkie yazın ve yükle düğmesine tıklayın. Kütüphane yüklenecek.
Bu kütüphane çok kullanışlıdır ve 1000'den fazla kelime ve komut içerir. Birkaç örneği var, hepsini deneyebilirsiniz ama burada çalışmayı açıklamak için basit bir kod kullanıyoruz.
Kitaplıkta verilen diğer komutları da deneyebilirsiniz. Bu komutları almak için Documents \ Arduino \ libraries \ Talkie \ src'ye gidin ve ardından başlık dosyalarını açın ve farklı uyarılar için kullanılabilecek birkaç komut alın. Jscrane TTS kitaplığı, google TTS kitaplığı vb. Gibi birçok başka TTS kitaplığı vardır. Bunları da deneyebilirsiniz.
O halde kodlamaya başlayalım. Öncelikle bazı başlık dosyalarını ekleyin. Talkie.h , bu kütüphaneyi başlatmak ve Arduino'nun Digital pin 3'ünü çıkış pini olarak ayarlamak için kullanılır. Vocab_US_Large.h kullandığımız uyarıları kullanmak için kullanılır ve Vocab_Special.h kullandığımız duraklama kullanmak için kullanılır.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Şimdi komutları kullanmak için bir nesne 'değeri' tanımlayın:
Talkie sesi;
Burada aynı mesaj hoparlörde tekrarlanacaktır, bu nedenle kurulum işlevini boş bırakın ve komutları döngü işlevine koyun. İlk komut voice.say (spPAUSE2) uyarı mesajını tekrarlarken kısa bir ara vermektir . Ve sonraki komutlar, şu anlama gelen sadece basit kelimelerdir: KUZEYDE TEHLİKE TEHLİKE FIRTINA.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Son olarak kodu Arduino ya yükleyin ve güç kaynağını ona bağlayın. Devreyi açar açmaz uyarıları duymaya başlayacaksınız! Net bir ses alamazsanız, potun düğmesini ayarlamayı deneyin veya Arduino'nun uygun güç kaynağı alıp almadığını kontrol edin ve Arduino'nun GND'sinin devrenin toprağına bağlı olduğundan emin olun.
Kodun tamamını bir tanıtım videosu ile kontrol edin. Video aşağıda verilmiştir.