Matrix Voice - erste Schritte

Begonnen von Prof. Dr. Peter Henning, 06 Juni 2019, 21:09:21

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

So, ich habe die ersten Schritte mit einer Matrix Voice getan. Wenn man diesen Links hier folgt

https://matrix-io.github.io/matrix-documentation/matrix-voice/device-setup/

https://matrix-io.github.io/matrix-documentation/matrix-hal/getting-started/installation-source/

und dann im entsprechenden Verzeichnis ~/matrix-creator-hal/build/demos

das Programm micarray_recorder_direct ausführt, gibt es 8 rohe Audio-Files.

Mit
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_0.raw channel_0.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_1.raw channel_1.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_2.raw channel_2.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_3.raw channel_3.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_4.raw channel_4.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_5.raw channel_5.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_6.raw channel_6.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_7.raw channel_7.wav
sox -r 16000 -c 1 -e signed -c 1 -e signed -b 16 mic_16000_s16le_channel_8.raw channel_8.wav


werden diese in WAV--Dateien umgewandelt, channel_8.wav ist die Datei, die sich durch den Beamforming-Algorithmus ergibt => Sehr viel deutlicher als jede der einzelnen Dateien.

Hochladen auf Google => saubere Erkennung.

Es gibt in dem Verzeichnis noch ein paar andere Demos, die ich analysiere.

LG

pah


the ratman

sehr erfreulich!

seh ich das richtig? du hast da ja sogar was gefunden, dass keinen pc erfordert, oder hab ichs jetzt übersehen?
→do↑p!dnʇs↓shit←

Prof. Dr. Peter Henning

Kein PC, das Ding sitzt auf einem Raspberry Pi. Weiter bin ich im Moment noch nicht.

Nachdem ich gestern abend um 19:30 mit den Kernelmodulen das System zerschossen habe, kam um 23:15 folgende Mail:
ZitatThe latest release of Raspbian has some changes that affect MATRIX device microphone functionality.

View this email in your browser (https://mailchi.mp/matrixlabs.ai/update-matrix-microphone-fix-for-latest-raspbian-kernel?e=992ed8c283)
https://matrix.one
Microphone Fix for Latest Raspbian Kernel
The latest release of Raspbian has some changes that affect MATRIX device microphone functionality. Read on below for details, and troubleshooting resources.

⚠️ This change only effects those who have updated and upgraded their Raspbian install since April 2019, or started out with the latest version of Raspbian.

Raspbian recently rolled out a Linux kernel update with some changes to ALSA libraries, the audio architecture for Linux. This has caused some incompatibility issues with the MATRIX kernel modules that configure MATRIX device microphones to effectively interface with Raspbian.

We are working on updating the MATRIX kernel modules to restore compatibility, and will update you via email, and post an announcement on our community (https://community.matrix.one) as soon as the issue is resolved. In the mean time, if you are affected by this change, click the button below for instructions on how to downgrade your Linux kernel and restore microphone functionality.

Click Here For Kernel Module Workaround (https://community.matrix.one/t/kernel-modules-4-19-workaround/2413)
If you have any questions or issues, please create a post on our community forum (https://community.matrix.one) . Our team is always checking the community to answer any questions you may have.

Sincerely,
Team MATRIX

Aber die Beispielprogramme funktionieren noch.

LG

pah

the ratman

ich frag mich nur grad - allerdings wieder mal ohne was zu wissen, nur aus dem bauch raus:
wie weit is das ein problem, wenn man die matrix warscheinlich eh ohne raspi betreiben wollen würde?
denke, dass wäre ja der präferierte weg für uns: esp32 füllen, in ne ecke stellen und am fhem-gerät die audios empfangen und weiter verteilen. oder planst du da andere wege?
→do↑p!dnʇs↓shit←

Prof. Dr. Peter Henning

Natürlich. Denn komplexere Auswertungen kann man in eine ESP nicht unterbringen. Mein präferiertes Szenario: Raspberry Pi mit Matrix Voice an der Zimmerdecke. Dieser reagiert auf ein Hotword, aktiviert dann die Sprachaufzeuchnung, sendet diese an G. (wen auch immer) und leitet danach den erkannten Text an FHEM weiter.

LG

pah

dkreutz

Dann mal hier ein Vorschlag zum spielen: https://github.com/gooofy/zamia-speech#installation
Läuft auch auf dem Raspi3. Ich habe gestern Abend mit der "Live Mic Demo" die Tagesschau "transkribiert". Bis auf einen Politiker mit bayerischem Akzent war die Trefferquote mit dem generischen Modell (kaldi-generic-de-tdnn_250) erstaunlich gut. Ggfs. muss man aber (technisches) Fach-Vokabular nachtrainieren.

Und hier ein "Add-on" dazu für Hotword-Erkennung: https://github.com/JarbasAl/kaldi_spotter
Zuvor definierte Hotwords werden als JSON Payload ausgegeben (in der vorliegenden Demo auf der Konsole ausgegeben, aber das kann man ja in HTTP/REST-Aufrufe umbauen).

Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai

the ratman

wäre nicht mein lieblingsszenario. der vorteil in meinen augen wäre der wenige platzbedarf für eine matrix ohne raspi. sehr flach an jeder decke unterzubringen.

täusch ich mich, oder gibts da ned irgendwo ne primitve hotword-erkennung für den raspi? glaube mich zu erinnern, dass da jemand was gebastelt hat um das vor die hw-erkennung von alexa zu stellen. wenn ja, würde das auch ohne raspi an der matrix gehen.

o.k, wieder mal zu langsam *g*

naja, zumindest hab ich mich recht erinnert: https://www.mobilegeeks.de/news/datenschutz-alias-unterdrueckt-dauerlauschen-von-google-home-und-co/
btw. welch herrlich hilflose idee das ist *lach*
→do↑p!dnʇs↓shit←

the ratman

kannst damit was anfangen? https://www.hackster.io/matrix-labs/program-over-the-air-on-esp32-matrix-voice-5e76bb
damit sollte man dann ja aus fhem raus das ding sogar prorammieren können, oder?
→do↑p!dnʇs↓shit←

the ratman

#8
scheints vor kurzem rausgekommen: https://community.mycroft.ai/t/picroft-mycroft-ai-with-matrix-voice/4940

picroft mit matrix voice ... ich saug schon mal

nachdem mycroft scheints eh ihre -hardwareambitionen für die nächste zeit aufgegeben hat und weiterhin auf dem pi werkeln wird, vielleicht ein durchaus unterstütztes projekt?
am ende des ganzen sieht man eine anbindung an openhab. das müsste doch einer unserer tastaturgötter in 5 sek. an fhem gebracht haben, oder?
→do↑p!dnʇs↓shit←

Prof. Dr. Peter Henning

Ich bin leider derzeit durch private Probleme etwas gehandicapt.

LG

pah

the ratman

tut mir leid zu hören. dann wünsch ich dir - für was auch immer - besserung!

aber eh wurst derzeit. ich würd jetzt sowieso nicht unbedingt auf mycroft setzen, nachdem die nicht in die gänge kommen. wovon wollen die leben, wenns keine hw verkaufen können?
würde dann wohl wieder darin enden, alles in fhem am laufen zu haben und ne tote 3.anbieter sw zu haben.

zumindest sammel ich mal hier, was es so gibt - vielleicht hilfts dann ja mal, wenn mozialla mit deren spracherkennung fertig is - so in 10 oder 20 jahren *lach*
→do↑p!dnʇs↓shit←

the ratman

die matrix-leute werden langsam fleißig - esp32 als streamer mit snips über mqtt ... https://www.hackster.io/matrix-labs/esp32-matrix-voice-satellites-streaming-audio-to-pi-server-63b9cd
das wäre in "einfach installieren" dann ja quasi sowas wie die "fhelexa"
→do↑p!dnʇs↓shit←

dkreutz

Zitat von: the ratman am 25 Juli 2019, 09:52:33
nachdem mycroft scheints eh ihre -hardwareambitionen für die nächste zeit aufgegeben hat und weiterhin auf dem pi werkeln wird, vielleicht ein durchaus unterstütztes projekt?
am ende des ganzen sieht man eine anbindung an openhab. das müsste doch einer unserer tastaturgötter in 5 sek. an fhem gebracht haben, oder?

Den FHEM-skill für Mycroft gibt es doch schon längst  :)
https://forum.fhem.de/index.php/topic,89780.0.html
Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai

the ratman

jo eh, nur keine (für mich funzende) (wlan)verbindung zur matrix. um die gehts hier ja eigentlich. mir pers. würde halt mycroft mit einer matrix am allerbesten gefallen - so aus dem bauch raus. drum die erwähnung. wobei mycroft auf meinen raspis auch nie länger als 3 sätze gefunzt hat und dann einfach eingefroren ist.

ich denke, der grundgedanke hier wird sein: fhem + (was auch immer für eine) speech2text auf einem raspi und der matrix voice mit esp32.
sprich ein für alle funktionierendes gesamtkonzept, von einem fhem-programmier. auf die leute hier kannst dich wengistens verlassen, dass deren werke auch sicher funktionieren und die anleitungen dazu (zumindest meistens) durchschaubar und aktuell ist.
→do↑p!dnʇs↓shit←

dkreutz

#14
Sollte machbar sein: Matrix-Voice-ESP32-MQTT-Audio-Streamer auf dem Matrix Voice
und auf dem RPI3 mit Mycroft ein Service, der den MQTT-Audio-Stream empfängt und anden Mycroft-STT Service übergibt, z.B. ein adaptierter Hermes Audio Server.

Ist was für jemanden, der a) sich mit Mycroft auskennt und b) einen Matrix Voice ESP32 hat. Auf mich trifft nur a) zu. Wenn jemand mir einen Matrix Voice ESP32 zeitweise überlässt, könnte ich mich damit beschäftigen...

EDIT: defekte Links
Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai