Przede wszystkim: wersja na Raspberry Pi (konkretniej na Raspbiana) jest dość mocno okrojona. Nie ma tu aplikacji służących do tworzenia audioksiążek - na razie działa wyłącznie polecenie milena_say. Jednak w większości przypadków - np. RPi działający bez monitora z podłączonymi głośnikami - możliwość tworzenia głosowych komunikatów jest wystarczająca.
Niestety, malinka rozwija się tak szybko, że nie ma sensu tworzenie plików instalacyjnych. Pozostawię więc może informacje o nich jako część historii...
A więc po kolei:
wget http://www.polip.com/files/milena-0.3.8.1.tar.gz
tar -xzf milena-0.3.8.1.tar.gz
cd milena-0.3.8.1
bash install_rpi.sh
.
Ściągamy następujące pliki:
Rozpoczynamy od instalacji mbroli i polskiego głosu:
sudo dpkg -i mbrola3.0.1h_armhf.deb
sudo apt install mbrola-pl1
Po zainstalowaniu mbroli wydajemy polecenie:
sudo dpkg -i milena*.deb
Teraz możemy wypróbować działanie syntezatora mowy:
milena_say cześć kolego
Powinniśmy usłyszeć powitanie.
Niestety - nie zawsze sprawa wygląda tak wesoło. Niektóre telewizory podłączone przez hdmi potrzebują dłuższego
czasu (ponad sekundę) aby się dogadać z malinką; w efekcie tego opóźnienia komunikat może być
w ogóle nie słyszany. Specjalnie w wersji dla Raspberry Pi skrypt milena_say posiada dodatkowy przełącznik
-d pozwalający regulować opóźnienie generowania głosu - przykładowo polecenie:
milena_say -d 1300 cześć kolego
spowoduje, że generowana mowa będzie poprzedzona 1300 milisekundami ciszy, potrzebnej aby telewizor zrozumiał co ma robić.
Nowe wersje Mileny. Nie do końca sprawdzone, ale warto spróbować :)
Serwer mowy przeznaczony jest przede wszystkim dla różnego rodzaju robotów i urządzeń IoT. W porównaniu z poleceniem milena_say jest dużo szybszy (mowa startuje prawie od razu) oraz ma większe możliwości konfiguracji (tempo, częstotliwość bazowa, częstotliwość próbkowania i odtwarzania). Dodatkowo ma możliwość podłączenia ust robota (na dzień dzisiejszy na razie jeden moduł obsługujący pojedynczą matrycę 8x8 LED na układzie MAX7219.
Zaczynamy od instalacji Mileny w wersji co najmniej 0.2.92. Jeśli polecenie milena_say działa, możemy przystąpić do instalacji serwera mowy. Ściągamy następujące pliki:
Teraz możemy przystąpić do instalacji.
Zaczynamy od instalacji serwera, czyli
sudo dpkg -i kedrigern_0.2.2-1_armhf.deb
Jeśli mamy podłąćzoną matrycę LED (8x8, MAX7219) możemy użyć jej jako wyświetlacz ust:
sudo dpkg -i kedrigern-matrix_0.2.2-1_armhf.deb
No i oczywiście coś co pozwoli nam korzystać z serwera, czyli:
sudo dpkg -i libkedrigern_0.2.2-1_armhf.deb
Teraz możemy sprawdzić, co potrafi nasz serwer:
kedrigern -h
lub (jeśli mamy zainstalowany moduł matrix)
kedrigern -M matrix -h
W odpowiedzi dostaniemy wykaz opcji, z którymi możemy uruchomić serwer. Aby je przetestować, należy otworzyć
drugi terminal; w pierwszym uruchamiamy serwer poleceniem "kedrigern" z różnymi
opcjami, w drugim testujemy poleceniem kdr-say.
Po ustaleniu opcji należy zedytować plik /etc/default/kedrigern i w nim ustawić domyślne parametry. Po przetestowaniu poleceniem
kedrigern -C /etc/default/kedrigern
możemy już uruchomić nasz serwer w tle:
sudo systemctl start kedrigern
Jeśli chcemy, aby serwer startował od razu przy starcie systemu, należy wydać polecenie:
sudo systemctl enable kedrigern
Do komunikacji z serwerem służą polecenia kdr-say, kdr-stop i kdr-speaking.
Moduł w Pythonie (działa zarówno w 2 jak i 3):
Typowe wywołanie:
from kedrigern import Voice
voice = Voice()
voice.say("To jest test")
Jeśli kogoś interesują pliki żródłowe, są tu: