Text to Speech menggunakan eSpeak di Raspberry Pi 3B+
Apa itu eSpeak? eSpeak adalah software speech synthesizer untuk bahasa Inggris dan bahasa lainnya. Mudahnya, eSpeak software untuk mengolah suara, dan bisa kita gunakan untuk mengubah teks yang kita inginkan menjadi suara (Text to Speech) seperti layaknya kita membaca tulisan dengan suara keras. eSpeak, bisa diinstall di mesin dengan sistem operasi Linux maupun Windows. eSpeak menyediakan TTS (Text to Speech) dalam berbagai bahasa, termasuk Bahasa Indonesia meski suaranya (voice) tidak semerdu yang ada di konter bank :). Untuk membuatnya merdu, eSpeak menyediakan parameter khusus untuk bisa menggenerasi suara sesuai keinginan kita.
Kalau kita ingin Raspberry Pi 3B+ (RPI) kita jadikan mesin yang bisa berbicara, seperti contoh aplikasinya adalah mesin antrian, kita bisa install eSpeak dan menjalankannya dengan program Python. Instalasinya cukup mudah, namun ketika dijalankan kemungkinan anda akan menemukan error yang membuat eSpeak tidak bekerja. Saya butuh waktu hampir 1 bulan lamanya untuk membuat eSpeak bisa “bicara” di RPI saya.
Menyiapkan Raspberry Pi 3B+
Sebelum melakukan instalasi eSpeak, tentu kita harus pastikan audio device di RPI kita bekerja sebagaimana mestinya. Anda bisa gunakan speaker dengan colokan audio 3.5mm atau bisa juga menggunakan headset handphone untuk mendengar suara yang dihasilkan RPI. Perlu diketahui RPI dapat menghasilkan suara melalui soket audio 3.5mm dan melalui perangkat yang terhubung dengan port HDMI. Kita dapat memilih salah satu port di mana suara akan dikeluarkan. Jika RPI anda menggunakan Raspbian, berarti anda bisa memilih memilih port audio yang aktif melalui raspi-config. Buka terminal kemudian ketik perintah berikut:
sudo raspi-config
Setelah itu akan muncul tampilan pilihan konfigurasi RPI seperti berikut:
Pilih Advance Options, kemudian pilih Audio. Pada tahap ini anda diminta untuk memilih suara akan dikeluarkan melalui mana. Saya lebih memilih Force 3.5mm (‘headphone’) jack karena perangkat display HDMI yang saya pasang pada RPI tidak memiliki speaker. Jika sudah silakan klik OK kemudian Finish.
Untuk mencoba apakah audio RPI sudah berfungsi ketikkan perintah berikut pada command prompt.
aplay /usr/share/sounds/alsa/*
anda akan mendengarkan beberapa suara dari speaker/headphone.
Instalasi eSpeak
Menginstal eSpeak di RPI cukup mudah, pada command prompt terminal gunakan perintah berikut:
sudo apt-get update sudo apt-get install espeak sudo apt-get install espeak python-espeak
Baris pertama perintah diatas untuk mengaupdate paket linux di RPI kita, selanjutnya baris kedua adalah perintah untuk instalasi eSpeak. Ketikkan ‘Y’ ketika diminta untuk meneruskan. Kemudian untuk menjalankan espeak dengan Python ketikkan perintah seperti baris ketiga. Ikuti prosesnya sampai selesai.
Menjalankan TTS (Text to Speech) eSpeak dengan Command
Selanjutnya, kita mulai mencoba menjalankan eSpeak untuk membaca tulisan kita. Dari beberapa referensi yang saya baca untuk mencobanya kita bisa menggunakan perintah:
sudo espeak "hello world"
kata atau kalimat dalam tanda petik “” bisa diganti sesuai dengan keinginan kita. Saat perintah ini dijalankan pada RPI, kita mungkin saja mendapatkan error seperti berikut:
Untuk mengatasinya kita cukup memberikan tambahan perintah –stdout | aplay dibelakang perintah espeak “hello world” tadi. Sekarang anda bisa menggunakan eSpeak dengan Phyton atau bahasa pemrograman yang lain. Coba seperti ini:
sudo espeak "hello world" --stdout|aplay
Untuk mencobanya dengan bahasa Indonesia gunakan perintah ini:
sudo espeak -vid+f2 -k5 -s140 "nomor antrian 188, ke konter 5. Terima kasih" --stdout|aplay
dimana -vid parameter voices bahasa Indonesia, jika ingin mengganti bahasa Inggris gunakan -ven. Parameter+f2 adalah parameter voice/suara female (wanita) nomor 2, anda bisa mengubah suaranya menjadi suara laki-laki gunakan +m1 . Angka satu dibelakang huruf m atau f merupakan index variasi suara bisa anda ganti mulai 1-7 untuk male dan 1-4 untuk female.
Parameter -k5 menunjukkan bahwa kalimat diawali dengan huruf kapital, artinya jika ada huruf kapital maka akan dibaca dengan penekanan pitch (nada). Coba ganti angka 5 dengan 20 dan dengarkan bedanya.
Parameter -s140, merupakan parameter kecepatan membaca teks. Untuk parameter-parameter yang lain anda bisa cek di sini. Selamat mencoba.