FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: dkreutz am 30 Juni 2022, 19:32:42

Titel: Mimic3 - Text-to-Speech offline
Beitrag von: dkreutz am 30 Juni 2022, 19:32:42
Mycroft AI hat Mimic3 veröffentlicht: https://mycroft.ai/mimic-3/

Damit ist Sprachausgabe offline/lokal erzeugt möglich. Mit einem Raspberry Pi4 erreicht man bereits annehmbare Synthesegeschwindigkeit (real-time-factor 0.5, d.h. eine Sekunde Audio benötigt ca. eine halbe Sekunde zur Synthese). Wer geduldig ist, kann Mimic3 auch auf einem RPI3 laufen lassen (RTF ca. 1.5x). CUDA GPUs werden auch unterstützt. Es sind über 100 verschiedene Stimmen in aktuell 25 Sprachen verfügbar.

Dokumentation: https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3
Github: https://github.com/MycroftAI/mimic3


p.s.: Bei der Erstellung des Datasets für die deutsche "Thorsten"-Stimme habe ich mitgearbeitet - weitere Details siehe https://www.thorsten-voice.de
Ein TTS-Modell auf Basis des Thorsten-Voice Datasets in höherer Qualität wurde von coqui.ai dem mit dem Coqui-TTS Release 0.7.1 veröffentlicht: https://github.com/coqui-ai/TTS
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 04 Juli 2022, 15:20:03
Vorab mal Danke für die (vermutet sehr) viele Arbeit an der "Thorsten"-Stimme!

Habe das ganze jetzt mit "thorsten_low" in Rhasspy eingebunden (grob: die "Remote HTTP"-Methode wie von @synesthesiam hier gepostet (https://community.rhasspy.org/t/mimic-3-tts-preview/3651/36)), und der natürliche Klang dieser Variante ist erst mal sehr angenehm.

Fix ist es auch, auf dem dafür eingesetzten i3 ist der RTF bei etwas mehr als 0.10. Leider kommt dieses "low"-Modell nicht an die Demos auf thorsten-voice.de ran, was die Sprachmelodie angeht.
Wo wäre denn der richtige Ort, um Rückfragen zu diesem Themenkreis zu stellen bzw. feedback zu geben? Oder gibt es einen "schnellen Tipp", wie man das verbessern kann?
EDIT: Anscheinend gibt es signifikante Unterschiede zwischen dem "alten" und dem "neuen" Modell, und mimic3 scheint noch das "alte" Modell zu verwenden => vermutlich reicht etwas Geduld, oder man wechselt auf Coqui-TTS...

Weiter würde mich interessieren, ob/wie man das ggf. direkt in FHEM für TTS via "regulärer Audio-Hardware" einbinden könnte (Stichworte "OpenMultiroom" bzw. vorläufig mein Thread "Yamaha, DLNA und MPD (https://forum.fhem.de/index.php/topic,128125.0.html)"). Soweit ich das bis dato überblicke, müßte man idealerweise das Text2Speech-Modul erweitern, dass es den mimic3-server als weitere Quelle akzeptiert?
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: dkreutz am 04 Juli 2022, 21:50:15
Zitat von: Beta-User am 04 Juli 2022, 15:20:03
Vorab mal Danke für die (vermutet sehr) viele Arbeit an der "Thorsten"-Stimme!
Danke für das Feedback. Ja, das war vor allem für Thorsten viel Arbeit, er hat über 30h Texte "eingesprochen".

Zitat
Habe das ganze jetzt mit "thorsten_low" in Rhasspy eingebunden (grob: die "Remote HTTP"-Methode wie von @synesthesiam hier gepostet (https://community.rhasspy.org/t/mimic-3-tts-preview/3651/36)), und der natürliche Klang dieser Variante ist erst mal sehr angenehm.

Fix ist es auch, auf dem dafür eingesetzten i3 ist der RTF bei etwas mehr als 0.10. Leider kommt dieses "low"-Modell nicht an die Demos auf thorsten-voice.de ran, was die Sprachmelodie angeht.
...
Das Mimic3-CLI unterstützt SSML (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#ssml), damit kann man Sprechgeschwindigkeit, Betonung, etc. beeinflussen

Zitat
EDIT: Anscheinend gibt es signifikante Unterschiede zwischen dem "alten" und dem "neuen" Modell, und mimic3 scheint noch das "alte" Modell zu verwenden => vermutlich reicht etwas Geduld, oder man wechselt auf Coqui-TTS...
Die Beispiele auf thorsten-voice.de wurden mit dem VITS-Modell von Coqui-TTS erzeugt. Beide Modelle basieren auf VITS und dem neuen Dataset (das haben wir Michael Hansen/Synthesiam vorab zur Verfügung gestellt), aber für Mimic3 "thorsten_low" wurde die Samplingrate reduziert und weitere Optimierungen vorgenommen, damit der RTF <1 auf dem RPI4 erreicht werden konnte.

Zitat
Wo wäre denn der richtige Ort, um Rückfragen zu diesem Themenkreis zu stellen bzw. feedback zu geben? Oder gibt es einen "schnellen Tipp", wie man das verbessern kann?
Mimic3-spezifische Fragen am Besten bei der Mycroft-Community (https://community.mycroft.ai) oder im Mattermost-Chat (https://chat.mycroft.ai), da antwortet dann ggfs. auch Michael/Synthesiam. Bei Fragen zu Coqui-TTS in den Github-Discussions (https://github.com/coqui-ai/TTS/discussions) oder im Matrix/Gitter-Kanal (https://matrix.to/#/#coqui-ai_TTS:gitter.im).
Natürlich versuche ich auch gerne hier Fragen zu beantworten.

Zitat
Weiter würde mich interessieren, ob/wie man das ggf. direkt in FHEM für TTS via "regulärer Audio-Hardware" einbinden könnte (Stichworte "OpenMultiroom" bzw. vorläufig mein Thread "Yamaha, DLNA und MPD (https://forum.fhem.de/index.php/topic,128125.0.html)"). Soweit ich das bis dato überblicke, müßte man idealerweise das Text2Speech-Modul erweitern, dass es den mimic3-server als weitere Quelle akzeptiert?
Ich weiß nicht ob das weiter hilft, aber der Mimic3-Webserver ist kompatibel zu MaryTTS (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#marytts-compatibility).
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 05 Juli 2022, 10:14:52
Zitat von: dkreutz am 04 Juli 2022, 21:50:15
Danke für das Feedback. Ja, das war vor allem für Thorsten viel Arbeit, er hat über 30h Texte "eingesprochen".
Na ja, die "30h Texte" sind ja "nur" das Audio-Endergebnis, insgesamt würde ich davon ausgehen, dass der Gesamtaufwand um ein vielfaches darüber liegt (auch bei den Supportern...).

Zitat
Ich weiß nicht ob das weiter hilft, aber der Mimic3-Webserver ist kompatibel zu MaryTTS (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#marytts-compatibility).
Hatte dann gestern auch noch gesehen, dass Michael vor ein paar Tagen auch einen entsprechenden Patch eingecheckt hatte - für Rhasspy macht das die Sache sehr viel leichter, weil man dann direkt auch die zur Verfügung stehenden Sprachen per dropdown-Liste auswählen kann. (War nur bei mir kaputtgespielt gewesen, weil ich mit der nicht funktionierenden preview-Version einen anderen endpoint konfiguriert gehabt hatte).
Habe dann damit noch ein wenig rumgespielt und uU. auch thorsten-emptional_low ausgetestet.

Zitat
Das Mimic3-CLI unterstützt SSML (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#ssml), damit kann man Sprechgeschwindigkeit, Betonung, etc. beeinflussen
Was ich mit "Sprachmelodie" gemeint hatte, läßt sich aber m.E. weder hierdurch (auf einfache Art und Weise) beeinflussen, und auch nicht durch die "emotional"-Variante.

Zitat
Die Beispiele auf thorsten-voice.de wurden mit dem VITS-Modell von Coqui-TTS erzeugt. Beide Modelle basieren auf VITS und dem neuen Dataset (das haben wir Michael Hansen/Synthesiam vorab zur Verfügung gestellt), aber für Mimic3 "thorsten_low" wurde die Samplingrate reduziert und weitere Optimierungen vorgenommen, damit der RTF <1 auf dem RPI4 erreicht werden konnte.
Für meine Ohren klingt das so, als würden die beiden "Thorsten"-Varianten die derzeit mit Miminc3 heruntergeladen werden können, auf "Thorsten-21.02-neutral" (=> "thorsten_low") bzw. "Thorsten-21.06-emotional" basieren, jedenfalls wäre das (neben der Namensgebung) meine Folgerung auch aus den Hörproben unter https://www.thorsten-voice.de/2022/03/20/vergleich-thorsten-aktuell-mit-dem-neuen-modell/ (https://www.thorsten-voice.de/2022/03/20/vergleich-thorsten-aktuell-mit-dem-neuen-modell/).
EDIT: als Versionsangabe findet sich für "thorsten_low" in https://github.com/MycroftAI/mimic3-voices/blob/master/voices/de_DE/thorsten_low/config.json (https://github.com/MycroftAI/mimic3-voices/blob/master/voices/de_DE/thorsten_low/config.json):
"audio_dir": "/media/12tb/de-de/Thorsten-Voice-Neutral-Dec2021-22kHz/wavs"
Vielleicht habe ich auch zu schnell auf die emotional-Variante gewechselt?!?
Habe das erst mal auch im Rhasspy-Forum nachgefragt, vielleicht kann man ja einfach die erforderlichen files manuell nachrüsten (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#downloading-voices)? (https://mycroft-ai.gitbook.io/docs/mycroft-technologies/mimic-tts/mimic-3#downloading-voices)?)

Bzgl. maryTTS-Kompabilität und dem Text2Speech-Modul: Bisher war maryTTS nach meinen Recherchen nicht als Synthetisierungsweg vorgesehen und irgendwie könnte man den Eindruck haben, dass für das Modul häufig vorgefertigte mp3-files bereitgehalten werden. Die könnte man auch mit Coqui-TTS erzeugen, da kommt es ja nicht unbedingt auf Geschwindigkeit an. Da das auch eine "HTTP-Server"-Schnittstelle (aber nur für localhost) anbietet, könnte man das evtl. auch für ad-hoc-Ausgaben anzapfen, was aber wiederum voraussetzen würde, dass Text2Speech so eine Schnittstelle hätte... In meinem momentanen Setup wäre das nicht/nur über Umwege zu machen, von daher würde mir insgesamt der Mimic3-Weg mehr zusagen.

Na ja, ein weites Feld ;D .
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: dkreutz am 05 Juli 2022, 21:02:37
Zitat von: Beta-User am 05 Juli 2022, 10:14:52
Na ja, die "30h Texte" sind ja "nur" das Audio-Endergebnis, insgesamt würde ich davon ausgehen, dass der Gesamtaufwand um ein vielfaches darüber liegt (auch bei den Supportern...).
Das ist richtig, der erste Kontakt zu Thorsten ist zweieinhalb Jahre her, neben den eigentlichen Aufnahmen gab es diverse Experimente zur Optimierung der Audioaufnahmen, Konfiguration der TTS-Modelle, viel ausprobieren, und immer wieder warten auf Trainingsergebnisse.

Zitat von: Beta-User am 05 Juli 2022, 10:14:52
Für meine Ohren klingt das so, als würden die beiden "Thorsten"-Varianten die derzeit mit Miminc3 heruntergeladen werden können, auf "Thorsten-21.02-neutral" (=> "thorsten_low") bzw. "Thorsten-21.06-emotional" basieren,
Sowohl Mimic3-thorsten_low als auch das VITS-Modell von Coqui-TTS (v0.7.1) basieren auf dem Dataset "Thorsten-Voice-Neutral-Dec2021". Beides sind VITS-Modelle, aber Michael Hansen benutzt für Mimic3 eine andere Implementierung als Coqui-TTS.

Zitat von: Beta-User am 05 Juli 2022, 10:14:52
Bzgl. maryTTS-Kompabilität und dem Text2Speech-Modul: Bisher war maryTTS nach meinen Recherchen nicht als Synthetisierungsweg vorgesehen und irgendwie könnte man den Eindruck haben, dass für das Modul häufig vorgefertigte mp3-files bereitgehalten werden. Die könnte man auch mit Coqui-TTS erzeugen, da kommt es ja nicht unbedingt auf Geschwindigkeit an. Da das auch eine "HTTP-Server"-Schnittstelle (aber nur für localhost) anbietet, könnte man das evtl. auch für ad-hoc-Ausgaben anzapfen, was aber wiederum voraussetzen würde, dass Text2Speech so eine Schnittstelle hätte... In meinem momentanen Setup wäre das nicht/nur über Umwege zu machen, von daher würde mir insgesamt der Mimic3-Weg mehr zusagen.
Ist etwas gebastelt, aber man könnte über einen Shell-Aufruf mit wget/curl gegen den Coqui- oder Mimic3-Server die Synthese anstossen und das Ergebnis lokal als WAV-Datei schreiben (oder per Shell-Aufruf mit Mycroft-CLI) und dann das Text2Speech-Modul diese Datei abspielen lassen.
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 06 Juli 2022, 13:24:56
Zitat von: dkreutz am 05 Juli 2022, 21:02:37
Sowohl Mimic3-thorsten_low als auch das VITS-Modell von Coqui-TTS (v0.7.1) basieren auf dem Dataset "Thorsten-Voice-Neutral-Dec2021". Beides sind VITS-Modelle, aber Michael Hansen benutzt für Mimic3 eine andere Implementierung als Coqui-TTS.
Muss nochmal mit "thorsten_low" experimentieren, evtl. bin ich verfrüht davon ausgegangen, dass das mehr oder weniger dasselbe ist wie die "emotional"-Variante.

Zitat
Ist etwas gebastelt, aber man könnte über einen Shell-Aufruf mit wget/curl gegen den Coqui- oder Mimic3-Server die Synthese anstossen und das Ergebnis lokal als WAV-Datei schreiben (oder per Shell-Aufruf mit Mycroft-CLI) und dann das Text2Speech-Modul diese Datei abspielen lassen.
Habe mich mal etwas in dem Modul umgesehen, und evtl. zumindest für maryTTS-kompatible (HTTP-) Server versucht, das direkt ins Modul einzupflegen, Test steht noch aus (es lädt...). Dafür braucht es soweit erkennbar nur die Zulassung als mögliche Quelle und eine passende Auswertung. Coqui habe ich nicht am laufen, und wenn, dann das Problem, dass es auf der falschen Hardware wäre. Aber es sollte ggf. kein größeres Problem sein, das nach dem Muster "espeak" iVm. der parseParams-Auswertung aus dem TTS_user-Attribut (analog maryTTS) zu machen.
Falls du Coqui am laufen hast, kannst du ja gerne versuchen, das entsprechend aufzubohren, ich häng' meine maryTTS-Fassung hier mal an, feedback folgt, wenn ich Zeit zum "in Ruhe" testen habe... (Vielleicht hat ja auch jemand Lust, das zu testen, bei dem Text2Speech bereits läuft, dann muss ich mich nicht mit eventuellen Untiefen "drumrum" beschäftigen).

EDITS:
- "thorsten_low" klingt wirklich deutlich besser als ich das in Erinnerung hatte :) .
- Die aktualisierte Modul-Version bringt zumindest schon mal Dateien in das cache-Verzeichnis (im SERVER-Modus). Die sind aber im RIFF-wave-Format (Beispiel anbei) und brauchen in irgendeiner Form eine Nachbearbeitung. Mal sehen, vielleicht hat ja einer eine Idee, wie das gehen könnte...?
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 07 Juli 2022, 19:55:23
Anbei aktualisierter Versuch für das Text2Speech-Modul.

Es werden Dateien nach ./cache geschrieben, und die wav sieht auch nach RIFF-Format aus, aber  abspielbar scheint es nicht zu sein, und lame erzeugt daraus auch keine brauchbare mp3...

Vielleicht kann sich das ja jemand mal ansehen, der mehr von audio-Dateien versteht?
Titel: Antw:Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 10 Juli 2022, 10:08:19
Zitat von: Beta-User am 07 Juli 2022, 19:55:23
Anbei aktualisierter Versuch für das Text2Speech-Modul.
...und nochmal einer 8) ...

Wobei "Versuch" es nicht mehr trifft: Es läuft ;D ;D ;D ;D

Zu ändern waren eigentlich nur ein paar "Kleinigkeiten".

PS: patch ist in https://forum.fhem.de/index.php/topic,128346.0.html zu finden.
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 21 Juni 2023, 21:15:17
läuft super ... eine frage hätte ich allerdings noch zum tts_user

bei mir würde der so aussehen: host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low (so funzt das auch)

ich müsste dann aber noch den speaker wo unterbringen "angela_merkel"
wie schaut den das dann aus?

aja, und weil ich dafür hier sicher richtig bin *g* gibts noch weitere stimmen wo zum saugen für mimic3?

thx für infos!
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 22 Juni 2023, 07:07:41
Die Stimme steckt im "voice"-Anteil des Aufrufs.
Welche es gibt, und wie die im Detail geschrieben werden, ist (soweit ich mich entsinne) am einfachsten über das Webinterface von mimic rauszubekommen:
Getestete Stimmen werden erforderlichenfalls automatisch runter geladen. Zum " voice"-Argument muss bei mimic dann halt noch die Sprache vorn ergänzt werden (analog zum aktuellen Aufruf).
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 22 Juni 2023, 08:21:30
welche es gibt, is mir klar, beispiel hab ich oben ja genannt.
nur wie bind' ich den "speaker" nach dem "namen" in den aufruf von fhem ein?

im webinterface gibts dafür dann ja ein eigenes feld:
Screenshot 2023-06-17 202306.jpg
(dieser dämliche copy-befehl vom webinterface von mimic3 mag auch nicht,... darum der screenshot)
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 22 Juni 2023, 14:27:35
Hmmm, weiß leider grade auch nicht mehr im Detail, wie ich auf den kompletten http-Aufruf gekommenen war.... Kannst du mal suchen, ob es irgendwo eine doku dazu gibt?
(Bin bis derzeit nur mobil und kann wenig helfen).
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 22 Juni 2023, 14:52:12
hehe, du willst, dass ich dir infos suche ... gut, selber schuld *g*

was ich gefunden habe, wäre ein aufruf der thorsten voice (am ende von https://wiki.ubuntuusers.de/Thorsten-Voice/ ): "mimic3 --voice de_DE/thorsten-emotion_low "Hallo flüsternde Ubuntu Gemeinschaft." --speaker 7 > output.wav "
da wäre "-- speaker 7" dann "flüstern", was scheinbar einfach die nr. in der reihung im webinterface wäre.

also so: "host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low --speaker Angela_Merkel" - fail
und so: "host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low --Angela_Merkel" - fail
und so: "host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low -speaker Angela_Merkel" - fail

die richtung scheint zu passen: "host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low speaker=Angela_Merkel" - erfolg?
mein problem: die lautsprecherquali zw. lokal und entfernt ist so derartig unterschiedlich (ich teste zw. fhem (lokal mit neuer soundbar) und webinterface (client schleppi)), dass ich mir nicht wirklich sicher bin, ob die stimme 100% dieselbe ist. und im webinterface krieg' ich "server" nicht zum laufen - man frage mich nicht, warum ...

nachtrag: nö, is eindeutig nicht merkel, abe0 'ne weibliche stimme ...
mit zahlen anstelle des namens gehts auch nicht

sollt ich noch was informativeres finden, geb ich bescheid.

aja, was ich beim testen gern mal feststelle: die caches hauen mir immer dazwischen. wenn man sich da ned jedes mal 'nen neuen satz einfallen lässt, nimmt er gern auch mal zu meiner verwirrung was altes.


hilft das?
is ne mycroft config, bei tts gibts auch wieder den "speaker":
{
  "max_allowed_core_version": 21.2,

  "listener": {
    "wake_word": "hey computer"
  },

  "hotwords": {
    "hey computer": {
        "module": "pocketsphinx",
        "phonemes": "HH EY . K AH M P Y UW T ER .",
        "threshold": 1e-90,
        "lang": "en-us"
    }
  },

  "tts": {
    "module": "mimic3_tts_plug",
    "mimic3_tts_plug": {
        "voice": "en_US/cmu-arctic_low",
        "speaker": "rms",
        "length_scale": 0.8,
        "noise_scale": 0.667,
        "noise_w": 0.8
    }
  }
}
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 22 Juni 2023, 15:11:33
Die x=y-Argumente aus dem Attribut werden vermutlich im http-Aufruf umgewandelt (=>Quelltext....), von daher könnte das so passen; alternativ mit Raute hinter die voice? (#)

Das mit dem löschen der files ist m.E. eine Frage zu text2speech, die man dort/an den maintainer platzieren sollte (ggf. mit "Schubs" für den patch)?
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 22 Juni 2023, 15:21:55
meinst du so? "host=192.168.178.3 port=59125 lang=de_DE voice=de_DE/m-ailabs_low#Angela_Merkel"
ist weiterhin weiblich, aber sicher nicht merkel aus dem webinterface und qualitativ unter jeder sau. mir fallt auch auf, dass er wohl auch gern alte einstellungen nimmt, wenn ihm die neuen nicht passen. scheints muss man schon viel scheiße bauen, dass da gar nix rauskommt.

was text2speech files angeht ... frag mich sowieso, warum da der eine den andern scheints ignoriert und nicht alle voneinander profitieren ... da misch' ich mich aber sicher ned ein, zu feig bin ich *g*

ich würde aber sagen: bevor du dir jetzt deine finger an glasscheiben wund-schlägst und ich mehr rate als wisse, was du willst, warte ich mal ab, bis du mal zeit, lust und laune hast. ich zumindest habs ned eilig.
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 28 Oktober 2023, 12:16:02
@Beta-User hast du neuigkeiten wegen der merkel?


ansonsten: ich hätte wieder mal 'ne offline tts gefunden: https://github.com/rhasspy/piper
immer noch nicht perfekt, aber nicht ganz so schlimm, wie der rest.

da gäb's dann halt auch stimmen zum saugen und wohl auch gut per script zu bearbeiten. die deutschen originale im "testbereich" sind ja eher ... na ja (verschlucken halbe worte)


einbinden möglich?
vielleicht kann man damit ein bissi mehr und besser spielen?
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: dkreutz am 28 Oktober 2023, 12:39:55
Zitat von: the ratman am 28 Oktober 2023, 12:16:02ansonsten: ich hätte wieder mal 'ne offline tts gefunden: https://github.com/rhasspy/piper
immer noch nicht perfekt, aber nicht ganz so schlimm, wie der rest.

da gäb's dann halt auch stimmen zum saugen und wohl auch gut per script zu bearbeiten. die deutschen originale im "testbereich" sind ja eher ... na ja (verschlucken halbe worte)

Mycroft - und damit auch Mimic3 - ist "tot". Piper ist der Quasi-Nachfolger von Mimic3, da steckt der Mimic3-Entwickler (der früher für Mycroft gearbeitet hat) dahinter. Die Thorsten-Voice ist für Piper inzwischen nicht nur in der Qualitätsstufe "low", sonder auch "medium" und "high" verfügbar. Klingt besser, braucht aber auch mehr Resourcen (RAM, CPU).

Übrigens gibt es demnächst die Thorsten-Voice auch in Hessisch (https://www.thorsten-voice.de/2023/10/13/🇩🇪-thorsten-voice-babbelt-suedhessisch/) - wird dann wahrscheinlich auch irgendwann für Piper verfügbar sein.


Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 28 Oktober 2023, 14:08:20
das lest sich ja mal schon ganz gut ... ich werd' der letzte sein, der sich beschwert *g*

jetzt müsste man halt nur das ganze in fhem 'reinkriegen.
oder ist das gar schon der fall? bastelt da jemand und oder kann's mir erklären?

was ressourcen angeht - langsam wirds ja schwer, 'ne plattform zu haben, die für fhem mit allem drum und dran nicht overpowered ist - so gesehen ...

nachtrag:
brauchbar als grundstock? https://exitcode0.net/posts/wyoming-piper-docker-compose/
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 30 Oktober 2023, 14:03:15
aja, jetzt ist der onkel thorsten auch in high unterwegs.

wow! ich bin so überhaupt 'ned begeistert. man hört jetzt nur in besserer qualität, wie er sachen falsch ausspricht oder verschluckt *lach*
mal ganz ehrlich: wenn man nicht d'runter den satz stehen hätte ... ich würd' die hälfte nicht verstehen.

war auch lachen will: https://rhasspy.github.io/piper-samples/
man achte vor allem auf die kreative aussprache des wortes "Phänomen" ... da red ja sogar ICH besseres deutsch *g*
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: dkreutz am 02 November 2023, 16:12:30
Zitat von: the ratman am 30 Oktober 2023, 14:03:15aja, jetzt ist der onkel thorsten auch in high unterwegs.

wow! ich bin so überhaupt 'ned begeistert. man hört jetzt nur in besserer qualität, wie er sachen falsch ausspricht oder verschluckt *lach*
mal ganz ehrlich: wenn man nicht d'runter den satz stehen hätte ... ich würd' die hälfte nicht verstehen.

Nach inzwischen 2-3 Jahren Zuarbeit zur Thorsten-Voice kann ich dazu nur soviel sagen:
Da trennt sich die Spreu vom Weizen bzw. frei/opensource von kommerziellen Modellen. Wenn Du eine deutlich bessere Betonung/Aussprache benötigst, musst Du halt Geld auf den Tisch legen - und selbst einige TTS-Voices von Google und AWS haben da vergleichbare Schwierigkeiten.

Zitat von: the ratman am 30 Oktober 2023, 14:03:15war auch lachen will: https://rhasspy.github.io/piper-samples/
man achte vor allem auf die kreative aussprache des wortes "Phänomen" ... da red ja sogar ICH besseres deutsch *g*
Die "Phänomen"-Aussprache liegt vermutlich schlicht an unterschiedlichen Encoding-Parametern bzw. Phonem-Mappings, die bei Training und Synthesierung verwendet worden sind. Probier einfach mal alle verfügbaren deutschen Stimmen durch, einige sprechen das Wort "richtig" aus, einige nicht. Zumindest die Thorsten-Voice kann "Phänomen" auch "richtig", muss dann aber mit entsprechenden Parametern gefüttert werden (was bei der Erstellung der Piper-Demos wohl vergessen wurde).
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: the ratman am 03 November 2023, 09:37:46
ich will auch keineswegs die leistung schmälern, die dahinter steht! kann mir schon vorstellen, dass man sich solche stimmen nicht über nacht zusammen bastelt und durchaus herzblut da rein stecken kann, aber:

ZitatDa trennt sich die Spreu vom Weizen bzw. frei/opensource von kommerziellen Modellen. Wenn Du eine deutlich bessere Betonung/Aussprache benötigst, musst Du halt Geld auf den Tisch legen - und selbst einige TTS-Voices von Google und AWS haben da vergleichbare Schwierigkeiten.
ich hab halt bis jetzt die lokalen zu betreibenden 08/15 voices vom windows (jene, die kostenlos beiligen), verwendet. mein fhem läuft in einer vm auf win und bedient sich per modul an windows-resourcen.
das dumme bei mir: ich glaub' immer, was erfahrene leute mir erzählen. darum probier ich immer wieder, voll auf linux zu setzen. das ginge auch zu 90% gut, scheitert aber immer an solchen kleinigkeiten. ich lebe hier übrigens nicht alleine. meine meinung ist als "spielkind" noch relativ gut. ich zitiere lieber nicht, was andere hier zu den stimmen sagen *g*.
btw. da ich auch noch paranoid vom feinsten bin, kommt mir keine google- oder amazon-stimme per zwischennetz ins haus!

ZitatDie "Phänomen"-Aussprache liegt vermutlich schlicht an unterschiedlichen Encoding-Parametern bzw. Phonem-Mappings, die bei Training und Synthesierung verwendet worden sind. Probier einfach mal alle verfügbaren deutschen Stimmen durch, einige sprechen das Wort "richtig" aus, einige nicht. Zumindest die Thorsten-Voice kann "Phänomen" auch "richtig", muss dann aber mit entsprechenden Parametern gefüttert werden (was bei der Erstellung der Piper-Demos wohl vergessen wurde).
ich als "sprachwissenschafter" - jo, genau.
zumindest bei den demo-voices würde ich thorsten sogar in die kategorie "besser als der rest" stellen. bis jetzt bin ich dumm-dämlich von ausgegangen, dass auf der demo-seite präsentiert wird, was am besten funzt. wenn es da andere stimmen gibt, und man mir sagt, wie und wo ich alles nötige zusammenbasteln kann, probier ich auch gerne weiter.
und ganz ehrlich: wie kann man sowas als DEMO rauswerfen? seits ihr ned stolz auf eure arbeit und rotzt dann sowas für leute raus, die nach der besten offline-stimme unter linux suchen? so nach dem motto: "die werden schon wissen, dass und wie es besser klingen kann". kein angriff! ich bin nur echt verwundert.

eigentlich ist das alles ja sowieso nur theoretisch. ich wüsste zumindest nicht, dass (oder wie) piper in fhem funzt. da ich zu 100% anwender und zu 0% programmierer bin, muss ich also sowieso warten, bis sich wer der thematik annimmt ...
Titel: Aw: Mimic3 - Text-to-Speech offline
Beitrag von: Beta-User am 10 März 2024, 16:06:37
Hallo zusammen,
nachdem @Tobias grade dabei ist, den TTS-Teil für MaryTTS (bzw. Mimic3) in das offizielle Modul einzupflegen, ich aber selbst grade nicht testen kann, wäre es nett, wenn jemand anders das kurzfristig übernehmen könnte. Link zu Tobias Test-Fassung: https://github.com/tobiasfaust/MyFHEM/raw/master/FHEM/98_Text2Speech.pm (bzw. @Ellerts ergänzte Fassung von hier:
https://forum.fhem.de/index.php?msg=1306518

THX vorab!