Home-Assistant VoiceControl welches LLM

SaxnPaule

Fleet Admiral
Registriert
Okt. 2010
Beiträge
10.073
Hallo Community,

ich habe etwas mit dem Assistant von Home-Assistant rumgespielt und die Voice Control mit Whisper, Piper und OpenWakeWord eingerichtet.
So lange die Sprache auf Englisch eingestellt ist, funktioniert die Speech-To-Text Erkennung und somit das Ausführen von Kommandos ziemlich gut.

Ändert man die Sprache jedoch auf Deutsch, liegt die Speech-To-Text Trefferquote bei gefühlt <5%. So wie ich es gesehen habe bietet Whisper kein deutsches LLM. Bei Verwendung des medium LLM funktioniert zwar die Erkennung deutscher Sprache deutlich besser (nicht zufriedenstellend), allerdings dauert das auf einem NUC mit i5-6260U und 8GB Ram über 10 Sekunden, was nicht alltagstauglich ist. Es liegt jedoch kein Hardwarelimit vor. CPU Auslastung steigt während der Erkennung auf 15%.

Hat jemand von euch schon Erfahrungen mit lokaler Sprachsteuerung in Kombination mit Home-Assistant gemacht? Gibt es bereits brauchbare Lösungsansätze für die Sprachsteuerung auf deutsch?

Ich möchte explizit keine Cloud Lösung, sondern eine, bei der die Daten mein lokales Netzwerk nicht verlassen!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Rexaris
Aus der Readme auf Github: https://github.com/openai/whisper
There are five model sizes, four with English-only versions
Size​
Parameters​
English-only model​
Multilingual model​
Required VRAM​
Relative speed​
tiny​
39 M​
tiny.en​
tiny​
~1 GB​
~32x​
base​
74 M​
base.en​
base​
~1 GB​
~16x​
small​
244 M​
small.en​
small​
~2 GB​
~6x​
medium​
769 M​
medium.en​
medium​
~5 GB​
~2x​
large​
1550 M​
N/A​
large​
~10 GB​
1x​
The .en models for English-only applications tend to perform better, especially for the tiny.en and base.en models. We observed that the difference becomes less significant for the small.en and medium.en models.
Für mich klingt das, dass du keine andere Wahl hast, als das large-Modell zu nehmen, da alle anderen Variante nur auf Englisch getrimmt sind.

Weiter unten in der Readme werden noch die Fehlerraten von large-v2 und large-v3 verglichen, wobei v3 deutlich besser abschneidet. Sofern du letzteres auswählen kannst, solltest du das nehmen.


LLVMs brauchen nun mal Leistung. Daran kann man nichts ändern.
 
Ist momentan noch die Wahl zwischen mäßiger Erkennung und Materialschlacht für ein brauchbares LLVM. Letztere sind vielversprechend aber nur bedingt praktikabel für eine Sprachsteuerung :).

Gibt kompakte Geräte auf Arduino-Basis, Home Assistant unterstützt da auch ein Prokjekt. Bin aber nicht sicher, welche Sprachen da schon sauber laufen.

Habe auch etwas experimentiert, allerdings ist Sprachsteuerung generell 'bitchy'. Mittlerweile nutze ich hauptsächlich dir Schnellstart-Kacheln meiner Watch. Die ist immer nahe.
 
Krik schrieb:
Für mich klingt das, dass du keine andere Wahl hast, als das large-Modell zu nehmen, da alle anderen Variante nur auf Englisch getrimmt sind.
Dann hast du falsch gelesen. Für 4 von 5 gibt es eine english-only und eine multilingual Version (Spalte 4).

Sinnvoll wäre eine German-Only Variante. Die ist dann entsprechend kleiner und benötigt weniger Leistung.
Leider konnte ich nichts entsprechendes für Whisper finden. Vielleicht hat ja auch jemand Erfahrung damit eine andere Speech-To-Text Engine in HA einzubinden, die auch rein deutsche Modelle unterstützt.

Leistung wäre m.E. ja ausreichend vorhanden. Nur scheint die Engine sie nicht sinnvoll abzurufen. Sonst wäre ja die CPU Auslastung höher. Selbst bei einer reinen Single-Thread Anwendung müsste die CPU bei Volllast ja bei ~25% rumeiern.
 
  • Gefällt mir
Reaktionen: Krik
Mea culpa! Ich habe die Tabelle nicht richtig verstanden.
 
  • Gefällt mir
Reaktionen: Otorva, Der_Dicke82 und SaxnPaule
Code:
command: --model guillaumekln/faster-whisper-small --language de --beam-size 3

Das funktioniert überraschend gut. Dauer bis zur Ausführung des Kommandos liegt bei ~4 Sekunden, was ganz akzeptabel ist. Ist zwar auch ein multilinguales Model, aber immerhin klappt damit die Erkennung recht zuverlässig.

Man kann in Whisper auch Huggingface Models verwenden, insofern sie CTranslate2 kompatibel sind.
https://huggingface.co/models?other=ctranslate2
 
Zurück
Oben