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.

PVA: Cluster & Netflix & Streaming zusammen

Ich habe da mal ein Video für euch, aber nicht weiter erzählen 😉

PVA: Cluster & Netflix & Streaming zusammen

Kleine Demo, was man mit PVA so alles machen kann:

Wir haben hier jetzt das Netflixplugin, das Clusterplugin und das Streamingplugin kombiniert.

Die Geräte waren alle in einer Videokonferenz versammelt, damit man das Ergebnis sehen konnte. Die „Küche“ war ein Intel ATOM Tablet, das Wohnzimmer ein alter Laptop. Die Latzenzen bis man etwas sieht, sind jetzt nicht dem Netzwerk geschuldet, sondern dem Umstand, daß wir Livestreaming über FFMPEG machen, wozu FFMPEG erstmal ein paar Sekunden braucht. Es sind aber natürlich andere Wege denkbar: Temporäre Filezugriffe von den Geräten auf einen Share, Netzwerkpipelines usw. da geht noch was 😉

PVA: Clusterplugin für Carola

Netflix Plugin für Carola

Was ich Euch damit aber zeigen möchte ist, daß die Technik da ist. Baut Euch daraus die Wohnungs-KI, die ihr schon immer haben wolltet. KI? War da jetzt KI im Spiel? Nein, natürlich nicht, aber .. da wäre noch was …

KI, or not KI?

JETZT haben Ihr eine KI im Spiel 😀

Ihr merkt, daß ChatGPT hier im Freetalkmodus lief, weshalb alle Anfragen an Carola zu einem „Fehler“ geführt haben. Betreibt man das im Lückenfüllermodus, reagiert es nur auf den PVA Namen. Die Fehler in der Spracherkennung nerven, sind aber im Bereich des vertretbaren. ChatGPT holt da einiges richtig raus.

PVA: Carola trifft auf ChatGPT 4

 

 

PVA: Carola trifft auf ChatGPT 4

Na, heute schon den Mount Everest bestiegen? Wo war der doch gleich noch mal? Kein Problem mehr für Carola.

PVA: Carola trifft auf ChatGPT 4

Die neueste Funktionserweiterung für Carola erlaubt die Integration von ChatGPT in Euren Alltag. Natürlich nur, wenn ihr das wollt, denn einfach so ist weder aktiviert noch funktional. Ihr braucht nämlich einen eigenen API Key von open.ai . Sofern Ihr willens seid, irgendeine SMS fähige Telefonnummer anzugeben, ist das nur eine Sache von Minuten.

Im neusten GitHub Stand ist alles drin, was Ihr dazu braucht. Z.Z. ( 26.3. 15 Uhr ) ist Github allerdings gerade am zusammenbrechen, da müßt Ihr warten bis das wieder da ist 😉

Einrichtung ChatGPT

Im Terminal startet Ihr einmal ai.py und folgt der Anweisung. Alternativ könnt Ihr auch das „chatgpt“ Script in /usr/local/sbin/ so ändern, daß der API KEY per Umgebungsvariablen übermittelt wird. Eure Wahl.

Jetzt passen wir noch die Defaultkonfig an. Abweichend von den Einstellungen die ansonsten in der Datei sind, ändert Ihr das hier:

chatgpt:“enable“,“true
chatgpt:“mode“,“keyword
chatgpt:“keyword“,“emma

enable“ dürfte selbsterklärend sein 😉 Den Modus muß ich aber kurz erklären, da gibt es drei von: freetalk, keyword und gapfiller . Da alle Modi private Informationen an externe Datenkraken übermitteln, ist das Modul per se deaktiviert.

Im Freisprechenmodus ( freetalk ) wird alles im Raum, das keine Reaction oder nicht als Kommando identifiziert ist, genommen und an ChatGPT übermittelt. Es ist also die natürlichste Form mit dem Botsystem zu sprechen. Da aber alles an Open.AI übermittelt wird, ist es der datenschutztechnisch bedenklichste Modus von allen.

Im Schlüsselwortmodus (keyword) muß man ein selbstgewähltes Schlüsselwort benutzen, ich habe da mal „emma“ genommen, weil das in normalen Sätzen nicht vorkommt, aber das könnt Ihr machen, wie Ihr wollt 😉 Datenschutztechnisch ist es der beste Modus, weil nichts ungewollt rausgeht.

Der ggf. beste Kompromiss zwischen Datenschutz & Handhabung ist der Lückenfüllermodus. Wenn Eurer Sprachassistent über sein Schlüsselwort mit einem Kommand beauftragt wird, es aber nicht erkennt, z.b. weil es gar keins ist, wird ChatGPT gefragt. Es füllt also die Lücke von Kommandos auf. Das hat den Vorteil, daß man nur ein Schlüsselwort braucht und es auch genannt sein muß. Es wird also nicht alles Gesprochene automatisch bei Open.ai landen. Nachteil: Wenn Euch eine Anweisung z.B. „spiele video xxxxxx ab“ durch die Lappen geht, weil die Spracherkennung Mist gemacht hat, dann landet das auch bei Open.AI. Das könnte peinlich enden 😉

Startet PVA neu und fertig. Viel Spaß damit 🙂