Dziś chciałbym przybliżyć prosty sposób na to, by „Malina” (Raspberry Pi) do nas przemówiła, i choć nie będzie to raczej przypominało pogadanki z HAL 9000, to może się przydać np. w różnych skryptach, w których potrzebujemy uzyskać „głosowo” jakieś informacje (a przy okazji można pożartować z innych domowników ;-)).

eSpeak, czyli komputer do nas mówi

Do tego celu wykorzystam program eSpeak, który działa w trybie tekstowym, co oprócz prostoty obsługi ma jeszcze jedną (dla mnie) istotną zaletę – można to/go wykorzystać w różnych skryptach, np. do podawania co jakiś czas aktualnej temperatury (o tym jakoś niebawem będzie prawdopodobnie więcej), czy godziny…

Instalacja

Standardowo zaczynamy od instalacji (czasem warto też wcześniej zrobić aktualizację):

sudo apt-get install espeak -y

Obsługa, czyli komputer do nas mówi

Sama obsługa jest prosta, i chyba nikomu nie powinna sprawić trudności – podstawowe polecenie od „odczytania” tekstu to:

sudo espeak "co ma powiedzieć"

Lub jeśli ma to być tekst z pliku:

sudo espeak -f nazwa_pliku

Możemy – podobnie jak w przypadku CRONa – „zazwyczaj niepotrzebne” informacje z konsoli puścić w niebyt, przez dodanie na końcu polecenia:

2>/dev/null

Np.:

sudo espeak "co ma powiedzieć, bez niepotrzebnych statusów"  2>/dev/null

Język (~)polski

Domyślnie eSpeak obsługuje język polski, choć może nie dorównuje Ivonie, to i tak nie jest źle. Listę głosów (dla wszystkich języków) można sprawdzić poleceniem:

espeak --voices

Lub tylko dla języka polskiego:

espeak --voices=pl

By skorzystać z „polskiego głosu” wystarczy lekko zmodyfikować wcześniejsze polecenia:

sudo espeak -v pl "co ma powiedzieć" 2>/dev/null
sudo espeak -v pl -f nazwa_plik 2>/dev/null

Można też ustawić np. polski głos jako domyślny, tak by nie trzeba było dodawać tego parametru do poleceń. Katalog z głosami wykorzystywanym przez program eSpeak znajduje się w lokalizacji:

/usr/lib/arm-linux-gnueabihf/espeak-data/voices/

Jest tam plik o nazwie „default”, i to on jest wykorzystywany do generowania mowy w przypadku, gdy nie wskażemy języka. Dlatego najprościej jest dokonać małej podmiany – plik odpowiedzialny za język polski wstawić w jego miejsce:

sudo mv /usr/lib/arm-linux-gnueabihf/espeak-data/voices/default /usr/lib/arm-linux-gnueabihf/espeak-data/voices/default_oryg
sudo cp /usr/lib/arm-linux-gnueabihf/espeak-data/voices/europe/pl /usr/lib/arm-linux-gnueabihf/espeak-data/voices/default

Po takiej operacji program będzie korzystał z polskiego (no… powiedzmy, że… bo to bardziej „polskawy” ;-)) języka domyslnie.

Mały problem z HDMI

Podczas krótkich tekstów pojawił się jeden problem – przy przesyłaniu dźwięku przez kabel HDMI (razem z obrazem) „ginęło” kilka pierwszych „taktów”, np. z wyrażenia:

1 2. Test

Słychać tylko:

Test

Na razie (mój umysł zaprzątają ważniejsze sprawy) nie sprawdzałem, czy to wina kabla (długość), systemowego sterownika/miksera, czy „po prostu tak jest”, gdyż podczas korzystania z wyjścia Jack 3.5 mm nie ma tego problemu…

Tu znajdziecie informacje, jak zmienić/wybrać wyjście audio w Raspberry Pi…

(!) Zgłoś błąd na stronie
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Napisz komentarz
wipl_napisz-komentarz_01
Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.