SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
238 stars 16 forks source link

Sepia raspberry client funtkioniert nicht mehr #157

Closed gu3nter closed 2 years ago

gu3nter commented 2 years ago

Hi, danke für das neue update.

Habe heute einen komplett neuen install versucht, d.h neuestes raspberry 64bit os geladen und alles neu eigerichtet. Alles soweit so gut.

nun habe ich folgendes Problem identifiziert: In der Datei sepia-client-rpi.sh musste ich sepia_client_rpi_raspbian_buster.zip zu ändern sepia_client_raspberrypi_os.zip

--> alles soweit installiert und den neuen client eigeloggt.

--> Neustart durchgeführt--> wakeword wird erkannt aber Sepia hört mir nicht zu.

Unter Client Connections (http://IPdesServers/tools/index.html#!client-connections" wird folgendes angezeigt: Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.24.1","deviceId":"o1","sepia-speech":{"type":"asr_error","msg":"no connection to server"}}}

Ich hoff ihr könnt mir helfen

Gruß

fquirin commented 2 years ago

Hi,

In der Datei sepia-client-rpi.sh musste ich sepia_client_rpi_raspbian_buster.zip zu ändern

Ach verflixt, da war das Update für den master branch noch nicht drin. Habe das schnell korrigiert, danke für den Hinweis!

{"broadcast":{"client":"o1_chrome_app_v0.24.1","deviceId":"o1","sepia-speech":{"type":"asr_error","msg":"no connection to server"}}}

Ich glaube das Problem ist die aktuelle Chromium Version im Raspberry Pi Bullseye :-/. Da wurden scheinbar alle Google API keys entfernt was z.B. die Web Speech API kaputt gemacht hat. Ich habe dazu bisher keinen Kommentar gefunden online, aber einen Installer für die alte Version hinzugefügt. Versuch mal bash install_chromium_92_from_archive.sh aus dem ~/install Ordner :crossed_fingers: . Alternative kannst du auch komplett auf den SEPIA STT-Server umsteigen, ich halte mir aber gerne immer beide Optionen offen.

gu3nter commented 2 years ago

Oh OK danke für den Hinweis. Werde erstmal den SST Server testen bevor ich den alten chromium ausprobiere. Habe gerade den SST docker gestartet über die Android App kann ich dann auch den SST Server auswählen, aber nicht über den Browser oder den raspi Client (remote Zugriff). Was müsste ich in die clexi settings eingeben um den SST Server zu verwenden? "SEPIA" geht bei mir wohl nicht.

gu3nter commented 2 years ago

habe es jetzt hin bekommen, dass der sst server über den rpi client funktioniert.

Eine frage noch: Wie kann ich den docker container automatisch starten lassen?

gu3nter commented 2 years ago

So Hab den Autostart des dockers auch hin bekommen --> danke für die Info mit der flaschen chromium Version

PS: Der SST Server scheint sehr gut zu funktionieren :)

fquirin commented 2 years ago

PS: Der SST Server scheint sehr gut zu funktionieren :)

Freut mich, dass es klappt :slightly_smiling_face: . Kurze Frage aus Interesse: Was für ein Mikrofon benutzt du?

gu3nter commented 2 years ago

Ich habe das Respeaker Mic Array v2.0 USB. Das coole neue Feature mit der Led Steuerung habe ich auch schon entdeckt :) https://github.com/SEPIA-Framework/sepia-html-client-app/blob/master/Settings.md

Kurze Frage falls du ich das Mich hast, verwendest du die 1 Channel oder 6 Channel Firmware und es ist hier genau der Unterschied?

fquirin commented 2 years ago

Das coole neue Feature mit der Led Steuerung habe ich auch schon entdeckt :)

:grin: , ist ganz frisch, hab mein Mic Array v2.0 USB erst letzte Woche bekommen ^^.

verwendest du die 1 Channel oder 6 Channel Firmware und es ist hier genau der Unterschied?

Ich habe beide getestet. Momentan steht es wieder auf 6 Channel, aber eigentlich halte ich die 1 Channel für sinnvoller. In beiden Fällen ist der erste Kanal der Kanal mit den optimierten Audiodaten, sprich echo-cancelling, beam-forming, noise-cancelling etc.. Bei der 6 Channel Version hat man noch zusätzlich die Möglichkeit die anderen "raw" Daten abzugreifen. Der SEPIA Client sollte automatisch auf Channel 1 gehen. Wenn man ganz sicher sein will nimmt man vielleicht die 1 Channel Firmware, wahrscheinlich werde ich das bei mir auch wieder umstellen. Wenn du den Audio-Out benutzt vom Mic Array kannst du im SEPIA Client auch wake-word + Musik ausprobieren (da gibt's ne ne Einstellung in den wake-word Settings) denn das Gerät filtert den eigenen Sound ziemlich gut raus und sollte somit nicht von der Musik gestört werden. Der einzige Nachteil ist, dass die Samplingrate auf 16khz begrenzt ist, also ein wenig Küchenradio Style :-p

gu3nter commented 2 years ago

Ähh OK, danke für die Info. Dann habe ich ja instinktiv die richtige Channel Firmware verwendet :). Hast du autogain des mics aktiv? Hast du autogain vom Sepia Client aktiv? Was hast du bei gain in Sepia eingestellt?

Ich habe autogain des mics aktiv, gain in Sepia ist 1.0

fquirin commented 2 years ago

Mit dem "auto-gain" experimentiere ich noch. Generell bin ich kein Fan davon und habe ich es immer aus, weil es vom Gefühl her zu mehr Fehlern beim wake-word führt, vermutlich weil es bei stillen Umgebungen den Hintergrund verstärkt. Das ist aber nur eine Theorie. Ich mache gleich mal noch ein paar Tests mit dem Mic Array 2.0. Das Mic Array 2.0 selbst hat ja schon die ganzen Signalverbesserungen in der Hardware, deswegen kann man in SEPIA eigentlich alles ausschalten, noise-cancel, auto-gain, echo-cancel. Den gain in SEPIA stelle ich nur hoch wenn ich über pulsemixer nichts mehr rausholen kann. Wichtig ist das beim Mikrofon Test in der Grafik unten eine schöne "Pyramide" zu sehen ist, das heißt die "voice activity detection" funktioniert.

gu3nter commented 2 years ago

Oh ok, danke für den Tipp werde das auch mal so probieren, ob da noch was rauszuholen ist :)

fquirin commented 2 years ago

Noch ein Hinweis @gu3nter : Mir ist aufgefallen, dass sich die Einstellungen wie z.B. auto-gain beim USB mic regelmäßig resetten, z.B. beim Neustart. Wahrscheinlich müsste man ein Script beim reboot ausführen um diese jedes mal neu zu setzen.

gu3nter commented 2 years ago

Ohh ist mir garnicht aufgefallen :), danke für den Hinweis, werde mir das mal genauer anschauen

fquirin commented 2 years ago

@gu3nter meine favorisierte Einstellung momentan:

Hardware (je nachdem welche USB Rechte dein User hat ggf. 'sudo' nutzen):

Dann in den SEPIA settings:

"microphoneSettings": {
    "gain": 1.0,
    "noiseSuppression": false,
    "autoGainControl": false,
    "echoCancellation": false,
    "resamplerQuality": 5
}

Hier habe ich festgestellt dass die software noiseSuppression ein minimales Knacken im Recording erzeugt, konnte nicht rausfinden warum. Vielleicht auch ein Phänomen meiner Debian/Chromium Version, aber die Hardware noise-supression ist auch so ganz gut und ohne Auto-Gain bleibt die Signalqualität scheinbar recht stabil.

Und in pulsemixer input volume auf 100 :slightly_smiling_face:

gu3nter commented 2 years ago

Danke für den Tipp, scheint echt gut zu funktionieren. Habe aber bei mir über Pulsemixer beim mic 130 eingestellt.

Den Rest habe ich jetzt wie du

fquirin commented 2 years ago

Habe aber bei mir über Pulsemixer beim mic 130 eingestellt

Kann auch nicht schaden denke ich. Im Zweifelsfall mal den Mic-Test nutzen und prüfen ob die Aufnahme irgendwelches Knacken oder Störgeräusche hat.