Gestern gebaut, heute schon in Carola integriert

Ja, das ging schnell, weil das alles so einfach ist 😉

Gestern gebaut, heute schon in Carola integriert

Gestern Abend in Linux am Dienstag bauten wir Recall nach, natĂŒrlich nur eine simple Version, aber funktional. Da durfte die Anbindung an Carola ja nicht fehlen 🙂

Also habe ich das kurz als Plugin eingebaut. Jetzt versteht Vosk leider „Recall“ in Deutsch in keinster weise, weshalb das jetzt erst einmal „GedĂ€chtnis“ heißt. Es wird also mit „Suche im GedĂ€chtnis (nach) Kontostand“ angesprochen.

Die Updates fĂŒr diese Funktion kommen dann auch morgen per RPM zu den Benutzern. Bislang mĂŒĂŸt Ihr Recall aber noch selbst installieren, den Globalen Teil machen wir erst nĂ€chste Woche fertig, glaube ich jedenfalls 😉

Linux am Dienstag baut Recall nach

Update: RPM ist fertig.

 

Piper TTS braucht Eure technische Expertise

Beim letzten Linux am Dienstag wurde uns Piper TTS vorgestellt, daß in seiner initialen Version schon gute Resultate liefert, aber leider min. einen gravierenden Sprachfehler in den deutschen Modulen hat. Carola konnte natĂŒrlich nicht anders und hat die Sprachausgabe schon fĂŒr sich gekappert 😉

Piper TTS braucht Eure technische Expertise

Laut dem GitHub Issue #52 ist dafĂŒr aber ESpeak-NG verantwortlich, weil es min. die Silbe „ch“ nicht richtig ausspricht. So klingen die deutschen Stimmen wie unsere hollĂ€ndischen Nachbarn. Eine provisorische Korrektur spĂ€ter, hatten wir allerdings Turkdeutsch in der Ausgabe, was auf seine Art auch irritierend ist, aber immer noch verstĂ€ndlicher, als wenn CH als ICK ausgesprochen wird 😉

Jetzt kommen die ESPEAK-NG Fachleute unter Euch ins Spiel: Wie bekommt man den Sprachfehler da jetzt raus?

Wenn jemand hilfreiche Tips hat, dann bitte direkt in dem GitHub Issue #52 zum Besten geben, um so schneller kann Piper die Standartsprachausgabe von Linux werden, auch wenn die noch einen weiten Weg hat.

Der Vorteil von Piper ist die komplett lokale Verarbeitung. Es ist zudem auch super schnell, variabel und kann in mehreren Sprachen benutzt werden. Leider fehlt dem TTS System noch jede Form von Betonung durch Satzzeichen, etwas, daß andere TTS wie das von Google oder Mary schon lange beherrschen.

Carola Integration

Das neueste Carola Paket v1.19 hat bereits die nötigen Konfigurationen und den Sprachbefehl mitbekommen. Außerdem könnt Ihr die Piper-RPMs auch im PVA Repo finden. Wer das selbst von Hand nutzen will, kann sich die Files von Github ziehen.

Wenn man eine „nicht-repo“ Version von Carola pimpen will, mĂŒĂŸte man die Github-Dateien nach /usr/local/share so installieren:

piper
├── espeak-ng-data
├── libespeak-ng.so -> libespeak-ng.so.1.1.51
├── libespeak-ng.so.1 -> libespeak-ng.so.1.1.51
├── libespeak-ng.so.1.1.51
├── libonnxruntime.so.1.14.1
└── piper
piper-voices
├── voice-de-eva_k-x-low
├── voice-de-karlsson-low
├── voice-de-kerstin-low
├── voice-de-pavoque-low
├── voice-de-ramona-low
└── voice-de-thorsten-low

und dann das piper-say Script (im PVA Github Repo) benutzten: /usr/local/sbin/piper 

#!/bin/bash

NAME=$(mktemp)
TEMPO=0.95

if [ "$VOICE" == "" -o "$VOICE" == "de" ]; then
#VOICE="de-thorsten-low"
#VOICE="de-eva_k-x-low"
#VOICE="de-karlsson-low"
VOICE="de-kerstin-low"
#VOICE="de-pavoque-low"
#VOICE="de-ramona-low"
fi

TEXT="$1"

if [ "$NAME" != "" ]; then

   TEXT=$(echo "$TEXT" | sed -e "s/ch/sch/g" -e "s/ssch/sch/g" | tr -d "\n" )
   echo "$TEXT" | /usr/local/share/piper/piper -m /usr/local/share/piper-voices/voice-$VOICE/$VOICE.onnx -f $NAME 2>/dev/null
   play $NAME tempo $TEMPO 2>/dev/null
   rm -f $NAME
fi

Die kleine Kompensation:

TEXT=$(echo „$TEXT“ | sed -e „s/ch/sch/g“ -e „s/ssch/sch/g“ | tr -d „\n“ )

ist leider nötig, weil wir ja nicht dauernd ICK hören wollen und weil Piper ein entscheidenden Bug hat:

Wenn es auf ein LF im Text trifft, fĂ€ngt es hinter dem letzten LF erst an zu arbeiten. Ihr könnt Euch vorstellen, was passiert, wenn man Ende vom Text ein „LF“ steht? Genau ..“kritsch“ und das wars 😀

Quelle: https://github.com/rhasspy/piper

Wie komme ich ans Repo dran?

PVA: Carola hat Ihr eigenes Repo bekommen

 

PVA: Die GTTS spricht jetzt anders

Schock in der Morgenstunde: Carola klingt nicht mehr nach Carola.

PVA: Die GTTS spricht jetzt anders

Mit Entsetzen habe ich heute morgen feststellen mĂŒssen, daß Google die Spracherzeugung von GTTS geĂ€ndert hat und das nicht zum Besseren, sondern zurĂŒck in die Steinzeit 🙁

Der ganze Charakter der Stimme hat sich geĂ€ndert, da die zugrundliegende Technik offensichtlich geĂ€ndert wurde. Die Stimme ist jetzt nicht mehr natĂŒrlich, sondern erinnert wieder ganz stark an Pico2Wav.

Da wir beim PVA die erzeugten Texte Cachen gibt es jetzt natĂŒrlich die kuriose Situation, daß neue Sprachausgaben anders klingen als die bisherigen. Leider gibt es keine Einstellung, mit der man das Ă€ndern könnte, jedenfalls nicht offiziell.

Man könnte zwar ĂŒber Google’s Cloud System an die Stimme in alter QualitĂ€t kommen, und andere, aber das wĂ€re nicht mehr „free“ wie bei gTTS. Es wĂŒrden sich zwar nur Cents am Tag ansammeln und die Kosten könnte jeder locker stemmen, aber ich denke, es wird Zeit Mimic3 auf Fedora umzusetzen.

Da sind auch rudelweise gute Stimmen dabei.

Falls das mit der Google Cloud einer braucht:

curl -X POST https://texttospeech.googleapis.com/v1beta1/text:synthesize -d ‚{„audioConfig“: {„audioEncoding“: „LINEAR16″,“effectsProfileId“: [„medium-bluetooth-speaker-class-device“],“pitch“: 0,“speakingRate“: 1.23},“input“: {„text“: „Testsatz fĂŒr die 2023 eingefĂŒhrte Stimme.“ }, „voice“: {„languageCode“: „de-DE“,“name“: „de-DE-Wavenet-A“}}‘ -H „Authorization: Bearer $(gcloud auth application-default print-access-token)“ -H „Content-Type: application/json; charset=utf-8“

Da muß Eurer Key hin.