Spracherkennung und Sprachsynthese

Begonnen von Prof. Dr. Peter Henning, 09 Februar 2017, 08:19:06

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Seit Jahren schon benutze ich die Google-Spracherkennung auf wandhängenden Tablets zur Steuerung meines SmartHome.
Funktioniert prima, wenn man ein wenig Ahnung von Semantik und regulären Ausdrücken versteht: Sprechen, und den zurückgesandten String auswerten. Ist auch schon mit einigen Beispielen dokumentiert.

Seit ca. 3 Jahren verwende ich zur Sprachausgabe die TTS-Engine Ivona (genauer: die Stimme "Marlene"). Ebenfalls ganz gut dokumentiert. Dabei verwende ich eine Kombination aus immer wiederkehrenden Klängen, die ich online bei Ivona "bestellt" und dann als MP3 abgespeichert habe, und der Echtzeit-Sprachsynthese per Android-Ivona.

Inzwischen ist "Jeannie" ein fester Bestandteil des Hauses geworden: "Wie ist der  Status der Haustür" -> "Die Haustür ist gesichert".

Seit ca. 1 Woche spiele ich mit Amazon Echo Dot/Alexa herum - und kann damit eigentlich alles steuern.
Ein gravierender Vorteil: Sehr gute und innovative Hardware zur Aufnahme der Stimme. 6 Mikros im Außenring, eines zentral. Erfassung der Richtung (vermutlich durch einen oder mehrere schnelle DSP), dadurch Ausblenden von Nebengeräuschen.
Zwei gravierende Nachteile: Extrem begrenzte Fähigkeiten des einfachen "SmartHome Skill", komplizierte Konfiguration und umständlicher Aufruf des "Custom Skill" ("Alexa, sage Jeannie: Wie ist der Status der Haustür").

Heute dann mal wieder bei Ivona reingeschaut, um ein paar neue "Festnachrichten" auszuprobieren - und siehe da, Ivona wurde von Amazon aufgekauft und wird jetzt als "Amazon Polly"  angeboten.
Auch das Sichern als MP3 geht jetzt babyeinfach:
https://eu-west-1.console.aws.amazon.com/polly/home/SynthesizeSpeech

Damit ist für mich klar, welchen Weg ich gehen will:

- Hardware, um auch bei Hintergrundgeräuschen einen menschlichen Sprecher und seine Worte zu isolieren (Forschungsthema ...)
- Einen Webdienst, um diese Worte in geschriebenen Text umzuwandeln (Amazon, von mir aus, auch Google, von mir aus)
- Meine eigene semantisch aufgepeppte Software zur Umsetzung in konkrete Handlungen
- Eine TTS-Engine, um Sprache auch wieder auszugeben (Amazon, von mir aus).

LG

pah

pataya

Das Echo/Dot und was Amazon mit der Hardware geschafft hat finde ich auch faszinierend.
Was mich noch von der Sprachsteuerung abhält sind im wesentlichen zwei Dinge:

Die Daten müssen zwingend an Google oder Amazon übertragen werden. Was im Zweifelsfall mit den ausgewerteten Texten passiert weiß ich nicht. In der Hinsicht bin ich aber allgemein skeptisch, was alle Dienste angeht. Deshalb versuche ich, sofern möglich, alles offline zu halten.

und

Es fehlt mir noch eine Stimmerkennung. Wennschon, dennschon ;D. Schließlich möchte ich nicht das jede anwesende Person (oder Fernseher) das komplette Smarthome steuern kann.

Fixel2012

Den Spracherkennungs Server im eigenen Heim zu haben ist mir auch schon um einiges lieber ::) Super, dass dort jemand am Forschen ist!

ZitatEs fehlt mir noch eine Stimmerkennung. Wennschon, dennschon ;D. Schließlich möchte ich nicht das jede anwesende Person (oder Fernseher) das komplette Smarthome steuern kann.

Oh ja, das fehlt mir auch! Das reagieren von nur authorisierten stimmen wäre wundervoll!  ;D
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Prof. Dr. Peter Henning

Den Zahn kann ich Euch ziehen.
Eine Stimmdiskriminierung (=Sprechererkennung) ist mit einer Sicherheit von sagen wir 75% auch innerhalb der nächsten 10 Jahre auf kleinen Systemen nicht machbar.
Wir schaffen es ja nicht einmal als Mensch, am Telefon die Stimmen von Mutter und Tochter oder von Vater und Sohn auseinander zu halten, oder gar im Radio die von Stimmimitatoren und dem Original.

Darüber hinaus gibt es je nach Hintergrundgeräusch, Stimmungslage (eilig ? müde ?) so viele Variationen auch im Sprechverhalten einer Person, dass es nicht einmal mit einem Deep Learning Netzwerk möglich ist, zwei Personen sicher zu unterscheiden.

Allenfalls könnte man weiblich-männlich trennen, weil sich das im Spektrum doch sehr bemerkbar macht (Formantenabstand ist anders).

LG

pah

kleinerDrache

Sprachsteuerung ist ne feine Sache. Am meisten stört mich aber das z.B. der Echo STÄNDIG lauscht, muss er ja sonst keine Reaktion. Da das aber alles an den Server übertragen wird und ich nicht weis was und wie lange das gespeichert wird und noch schlimmer wer da alles ran kommt!!!!

Nein Danke da kann ich mir ja auch gleich eine Wanze ans Hemd hängen und allen sagen wie sie die abhören können. Offline wäre mir persönlich lieber. Stimmerkennung , schöne Sache aber wie schon gesagt wurde, NOCH nicht wirklich möglich. Wenn ich mir überlege das selbst eine gut trainierte Sprachsoftware schon mit einer Erkältung überfordert ist naja.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

pataya

#5
Genau genommen überträgt der Dot/Echo tatsächlich nur die Anfragen mit dem Codewort "Alexa" an die Amazon-Server und nicht alles.

Fixel2012

Zitat von: pataya am 09 Februar 2017, 10:21:58
Genau genommen überträgt der Dot/Echo tatsächlich nur die Anfragen mit dem Codewort "Alexa" an die Amazon-Server und nicht alles.

Ist laut Amazon so, ja. Es haben auch schon mehrere Leute mit Wireshark nachgeprüft, soll wohl stimmen, das der echo/dot nur mit den Amazon Servern spricht nachdem das wakeword gesagt wurde.

Ob das so bleibt weiß man nicht...
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

pataya

Ich wusste garnicht das Amazon dazu überhaupt Angaben macht ::)
Denke auch nicht das sich da großartig was ändern wird. Aber man muss ja auch nicht gleich wieder anfangen den Aluhut rauszukramen 8)

Fixel2012

Zitat von: Prof. Dr. Peter Henning am 09 Februar 2017, 09:56:56
Den Zahn kann ich Euch ziehen.
Eine Stimmdiskriminierung (=Sprechererkennung) ist mit einer Sicherheit von sagen wir 75% auch innerhalb der nächsten 10 Jahre auf kleinen Systemen nicht machbar.
Wir schaffen es ja nicht einmal als Mensch, am Telefon die Stimmen von Mutter und Tochter oder von Vater und Sohn auseinander zu halten, oder gar im Radio die von Stimmimitatoren und dem Original.

Darüber hinaus gibt es je nach Hintergrundgeräusch, Stimmungslage (eilig ? müde ?) so viele Variationen auch im Sprechverhalten einer Person, dass es nicht einmal mit einem Deep Learning Netzwerk möglich ist, zwei Personen sicher zu unterscheiden.

Allenfalls könnte man weiblich-männlich trennen, weil sich das im Spektrum doch sehr bemerkbar macht (Formantenabstand ist anders).

LG

pah

Dachte ich mir schon, dass dies fast unmachbar ist. ;D

Männliche Stimmen von Weiblichen zu unterscheiden scheint mir da auch deutlich einfacher!
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

kleinerDrache

Hmmm Dann müsste aber das Wort "Alexa" fest verdrahtet sein oder wie will das Teil sonst dieses Wort erkennen ????? Aluhut kram ich nicht raus aber das vertrauen in große Dienste ist nach so einigen Hacks und Lecks doch etwas erschüttert.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Fixel2012

Zitat von: kleinerDrache am 09 Februar 2017, 11:15:02
Hmmm Dann müsste aber das Wort "Alexa" fest verdrahtet sein oder wie will das Teil sonst dieses Wort erkennen ????? Aluhut kram ich nicht raus aber das vertrauen in große Dienste ist nach so einigen Hacks und Lecks doch etwas erschüttert.

Naja, die Mikrofone lauschen dauerhaft mit. Ich denke der echo/dot muss eine kleine eigene Spracherkennung haben um dieses Wort zu erkennen. Anschließend ist er bereit mehr zu hören und nimmt dies auf und schickt es an die Amazon Spracherkennungs-Server.

Das ist nur meine Vermutung dahinter, sollte ich falsch liegen korrigiert mich ;)
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

herrmannj

bei android doch auch fest verdrahtet. (im flash abgelegt). Eine Zeit lang konnte man das ändern (Hey Google -> Hey Haus). Geht aber imho mittlerweile nicht mehr ..

vg
joerg

Romoker

Richtig. Die Aktivierungsworte "Alexa, Amazon, Echo und Computer" sind fest in der Firmware der Echos verdrahtet, d.h. das permanente Lauschen erfolgt nur lokal. Erst nach Aktivierung durch das konfigurierte Aktivierungswort erfolgt die Übertragung in die Cloud.
BeagleBoneBlack & Raspberry Pi 4; FB7490; div. Homematic Komponenten; CUL433: CUL_TX, Conbee II, SOMFY, 1-Wire, Z-Wave, Zigbee, SmartPlugs von Sonoff und Shelly mit MQTT

kleinerDrache

wenn das so ist ok, dann wird hoffentlich auch nur das übertragen was nötig ist. ;) Für mich persönlich aber trotzdem nix .
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Simon74

Ich teste/spiele seit 2 Tagen mit Amazon Echo Dot,
ich musste feststellen das ich wohl einen angeborenen Sprachfehler habe (hat mir ausser dem Dot noch keiner klar gemacht).
Aber nun gut, wer versteht wohl Österreicher ?  ;D

Ich wünsche mir mit dem Amazon Dot dasselbe als wie es per Android/AMAD per voice Input passiert,
also einfach ein lokales auswerten des übermittelten Strings.
Mir ist jedoch nicht klar ob das so eigentlich schon möglich wäre mit dem Custom Skill ?