Miután az előző Linux kiadásom már panaszkodott, hogy őhozzá nincsenek további frissítések, telepítettem az április végén megjelent Kubuntu 24.04 rendszert. Ez LTS, azaz hosszú támogatási idejű. A KDE Plasma testreszabása közben előfordult, hogy a kiválasztott téma legközelebb nem jelent meg. De mivel egy korábbi kiadásban már felmerült hasonló probléma a rendszerbeállítások között, most a keresgélést megspórolva átállítottam a nyelvet angolra, és ezt követően hajlandó volt megjegyezni a dekorációs elemek kért megjelenését.
A rendszer működésében eddig semmi említésre érdemeset nem tapasztaltam, szépen teszi a dolgát.
A korábbi bejegyzésben szereplő szövegfelolvasó programot nem telepítettem automatikusan, hanem szétnéztem a neten, van-e érdemleges újdonság. Mint kiderült, a Mycroft AI, amelyhez a mimic3 tts is tartozott, nem kerül további fejlesztésre. Ellenben leltem egy Piper tts nevű hasonló tudású, de talán még jobb hangzású programot. (https://github.com/rhasspy/piper) Ehhez nem kell egy óriáskígyót (Anaconda) belecsavarni a Linuxba, van hozzá kész futtatható állomány, amely néhány könyvtári modul társaságában felolvassa a szöveget. A githubos oldalán ugyan nincs segédlet a beillesztéshez a speech-dispatcher-be, de a mimic3 tapasztalataival felvértezve már nem ijesztett el a feladat. A neten pedig találtam erre vonatkozó leírásokat. Nem linkelem ide, mert mindegyikben van eltérés/hiba, inkább közzéteszem, ami nálam működik.
A speech-dispatcher konfigurációs állományait átmásoltam a saját könyvtáram .config almappájába. A speechd.conf-ban ez alkalommal a Pulse hangrendszert jelöljük meg végrehajtóként:
AudioOutputMethod "pulse"
A hangmodulok szekcióba pedig felvesszük a Piperét:
AddModule "piper-generic" "sd_generic" "piper-generic.conf"
A modules konfigurációs almappában el kell készíteni a piper-generic.conf fájlt, amely így néz ki:
GenericExecuteSynth "env DATA='$DATA\' VOICE=\'$VOICE\' RATE=\'$RATE\' piper-pipe"
GenericCmdDependency "piper-pipe"
AddVoice "en_GB" "FEMALE1" "en_GB-cori-high"
AddVoice "en_US" "FEMALE1" "en_US-lessac-high"
AddVoice "en_US" "FEMALE1" "en_US-ljspeech-high"
AddVoice "en_US" "MALE1" "en_US-ryan-high"
AddVoice "fi_FI" "MALE1" "fi_FI-harri-medium"
AddVoice "hu_HU" "FEMALE1" "hu_HU-berta-medium"
AddVoice "hu_HU" "MALE1" "hu_HU-imre-medium"
DefaultVoice "en_US-ljspeech-high"
Az AddVoice sorokba persze, mindenki azokat a hangokat veszi fel, amelyeket letöltött magának. A piper-pipe egy kis végrehajtható állomány, amely inkább csak arra kell, hogy egy változót a hang minőségétől függően beállítsunk benne. A saját mappám bin-jébe került, így Path-ban van. Így néz ki:
#!/bin/bash
VOICE_PATH=elérési út a hangfájlokhoz
if [[ ${VOICE: -3} = low ]]; then
ADJ_RATE=16000
else
ADJ_RATE=22050
fi
ADJ_RATE=$((${RATE::-3} * 30 + $ADJ_RATE))
echo "$DATA" | elérési út a Piperhez/ptts --model $VOICE_PATH/$VOICE.onnx --output-raw | \
aplay -r $ADJ_RATE -f S16_LE -t raw -
wait
A piper végrehajtható fájlt átneveztem ptts-re, mert olvastam lehetséges névütközésről.
Helyreállt a világ rendje, működik a felolvasás.