Hi zusammen, ich würde gerne meine mittlerweile etwas eingestaubten E-Technik Kenntnisse mit einem Freizeitprojekt wieder beleben und einen eigenen Smart Speaker bauen, den ich via WLAN mit dem Internet verbinden kann. Bevor ich jedoch aktiv loslegen kann, muss ich mich aber logischerweise für die richtigen Hardwarekomponenten bzw. das passende Entwicklerboard für meinen Use-Case entscheiden. Da mir auf dem Gebiet der Sprachverarbeitung leider sämtliche Erfahrung fehlt, wäre ich dankbar für jeden Tipp hinsichtlich meiner Anforderungen an die Hardware. Insbesondere sind für mich noch folgende Fragen offen: - Welche Taktfrequenz ist für eine standardmäßige Sprachverarbeitung notwendig? Reichen 240MHz auf einer optimierten CPU wie Xtensa LX7 o.Ä.? - Wieviel RAM und (internen) Flash haltet Ihr für sinnvoll? Neben der Firmware sollen auf dem Flash noch einige Sprachbefehle gespeichert sein, die z.B. den Anwender bei fehlendem Netzwerk informieren, dass das Gerät gerade offline ist. - Würdet Ihr eher auf einen µC mit integriertem WLAN und BT setzen oder dafür ein externes Modul auflöten? Falls jemandem zufällig ein passendes Entwicklerboard dafür einfällt, nehme ich auch den Tipp gerne an! Aktuell hänge ich irgendwo zwischen NXP RT1064EVK, ReSpeaker Lite Kit und dem Teensy 4.0. Tausend Dank für Eure Tipps und Erfahrungswerte vorab! Beste Grüße Max
Ich würde die Hardware erstmal nach hinten stellen. Zuerst kommen die Algorithmen, die Du einsetzen willst. Kennst Du die? Ist da schon was vorhanden? Ansonsten wäre der erste Schritt, das auf einem Linux-PC auszuprobieren. Auf einem normalen PC lässt sich am einfachsten entwickeln, und Du musst Dir um die Hardware keine Sorgen machen. Die funktioniert garantiert, es gibt alle Treiber etc. Für den ersten Wurf kannst Du was mit Phython oder Matlab zusammenschieben und später dann auf C(++) wechseln. Wenn Du soweit bist, dann wäre der zweite Schritt sowas wie ein Pi Zero W (mit Wifi) oder so. Das Portieren der Software vom PC-Linux (vorzugsweise ein Debian) auf das Pi Linux (auch ein Debian) sollte relativ einfach sein. So ein Pi Zero W ist jetzt nicht so schnell, aber klein und günstig. Wenn Deine Algorithmen zu viel Rechenleistung brauchen, dann wirst Du das an dieser Stelle merken und kannst optimieren. Wohlgemerkt die Algorithmen optimieren - die Implementation kommt erst an zweiter Stelle. Bei einem Einzelstück könntest Du jetzt aufhören. Bei größeren Stückzahlen oder größerem Ehrgeiz könntest Du jetzt den billigsten Prozessor wählen, der Deine Algorithmen gerade noch ausführen kann. Und erst an dieser Stelle kommt dann die Frage nach der Hardware. fchk
Max S. schrieb: > Welche Taktfrequenz ist für eine standardmäßige Sprachverarbeitung > notwendig? Kommt darauf an, was du als "standardmäßig" ansiehst. Aktueller Trend ist ja, da einfach viel (richtig viel) Rechenleistung draufzuwerfen. z.B. mit OpenAI Whisper. Das hat eine gute Erkennung, mit dem Nachteil dass es ab und an Sachen (ganze Nebensätze...) halluziniert. Damit kommt man angeblich (Tiny-Model mit nur einer Sprache) auf einem RasPi 4 wohl gerade so auf Echtzeit/Streaming.
Max S. schrieb: > Smart Speaker bauen, den ich via WLAN mit dem Internet verbinden kann. Und was soll dann passieren ? 'Einfach so' kommt aus dem Internet keine Musik. Entweder du greifst auf bestimmte streaming-Anbieter zu, oder du generierst selbst Töne, oder soll der Speaker dir Webseiten vorlesen ? Das ist die erste Entscheidung, und ganz zum Schluss kommt 'welche Taktfrequenz'. Das ubliche Experimentierboatd fur 'irgendwas mit Internet' ist der rPi.
Michael B. schrieb: > 'Einfach so' kommt aus dem Internet keine Musik. Das ist aber deutlich einfacher hinzubekommen als die vom Threadstarter gewünschte Spracherkennung. Ein Internetradio lässt sich mit 'nem ESP32 zusammmenklöppeln, das haben schon sehr viele gemacht, da muss man noch nicht mal selbst irgendwelche Software schreiben. Eine Heimwanze, die jedes gesprochene Wort mithört und versteht, ist was ganz anderes. Warum man sowas haben wollen könnte, ist nochmal ein ganz anderes Thema. Die etablierten Systeme (Alexa & Co.) arbeiten zweischichtig - die im Gerät selbst verbaute Spracherkennung kann wenig mehr als das "Triggerwort" erkennen, das dann halt "Alexa", "Siri" oder vielleicht auch "Hey Arschloch" lautet. Den Rest der Spracherkennung aber erledigt Software irgendwo in "der Cloud". Daß das komplett indiskutabel ist, müssen wir nicht diskutieren, oder? Um auch nur ähnlich Funktionalität (minus der Datenausleitung) lokal hinzubekommen, ist einiges an Rechenleistung und Programmierkünsten erforderlich -- und das ist, vorsichtig formuliert, ein paar Hutnummern viel zu groß für ein "Freizeitprojekt" von jemandem, der seine "eingestaubten E-Technik-Kenntnisse" wieder beleben möchte.
Sofern du an einer Homeassistant Lösung interessiert bist, ist die Problematik schon gelöst: Ein ESP32 mit ESP-Home übernimmt die Wakeword Erkennung und streamt das Audio dann an einen potenteren HA Server. https://esphome.io/components/voice_assistant
Ich denke mal, sowas selber entwickeln zu wollen, ist ein Faß ohne Boden. Man schaut im Internet, wo jemand sowas schon mal gemacht hat, was der für eine Hardware benutzt hat und pappt dann nur noch dessen Legosteinchen zusammen. Eingestaubte E-Technik Kenntnisse nützen dabei kaum. Die komplexen Platinen wird man eh nicht mehr selber routen können. Man wird auch nie annähernd den Funktionsumfang von Kaufprodukten erreichen.
Max S. schrieb: > ich würde gerne meine mittlerweile etwas eingestaubten E-Technik > Kenntnisse mit einem Freizeitprojekt wieder beleben ... > Da mir auf dem Gebiet der > Sprachverarbeitung leider sämtliche Erfahrung fehlt Kurz gesagt: du hast die idealen Voraussetzungen dafür, eine Alexa selber zu bauen. Das einzige was dir noch fe.lt, ist die Taktfrequenz für den Prozessor ... oder vielleicht doch nicht? Ich würde sagen: Fang doch mal damit an, daß du dir die Sachgeschichte der Maus ansiehst, die sich um Alexa dreht: https://www.wdrmaus.de/filme/sachgeschichten/digitaler_sprachassistent.php5
> Insbesondere sind für mich noch folgende Fragen offen: > - Welche Taktfrequenz ist für eine standardmäßige Sprachverarbeitung > notwendig? Reichen 240MHz auf einer optimierten CPU wie Xtensa LX7 o.Ä.? Also sprachgesteuerte Dialogsysteme wie beispielsweise Abfrage des Zugplanes der Bahn per Telefon gab es bereits vor 25 Jahren als Taktfrequenzen zwischen 100 und 200 MHz üblich fahren. "Dragon NaturallySpeaking" war die gängige Consumer-Soft damals, lief unter Windows XP und so. https://de.wikipedia.org/wiki/Dragon_NaturallySpeaking Also Fachkräfte auf diesem Gebiet bauen dir das heute noch mit einem Wald und Wiesen DSP, Spracherkennung ist ein alter Hut. * https://www.sympalog.de/was-ist-ein-sprachdialogsystem/ * https://www.wolfgang-wahlster.de/wwdata/Alltag/Alltag.html * https://transcribe.com/de/blog/die-geschichte-der-spracherkennung
:
Bearbeitet durch User
Harald K. schrieb: > Um auch nur ähnlich Funktionalität (minus der Datenausleitung) lokal > hinzubekommen, ist einiges an Rechenleistung und Programmierkünsten > erforderlich -- und das ist, vorsichtig formuliert, ein paar Hutnummern > viel zu groß für ein "Freizeitprojekt" von jemandem, der seine > "eingestaubten E-Technik-Kenntnisse" wieder beleben möchte. Sehe ich auch so. Mit einem gewöhnlichen Mikrocontroller wird das auf keinen Fall was. Dazu sind ganz andere Kaliber nötig. Ich kann mir auch kaum vorstellen, dass jemand ein kleines privates Rechenzentrum betreiben will, bloß um die Sprachsteuerung zu ermöglichen. Und bevor ich so etwas zu Amazon/Google/Microsoft auslagere, müsste mir jemand das Gehirn raus blasen.
:
Bearbeitet durch User
>Mit einem gewöhnlichen Mikrocontroller wird das auf keinen Fall was. Ein Raspi kann hier schon einiges: https://github.com/petewarden/spchcat Ich habe es noch nicht probiert, klingt aber "viel versprechend": https://www.hackster.io/petewarden/recognizing-speech-with-a-raspberry-pi-50b0e6
Harald K. schrieb: > Die etablierten Systeme (Alexa & Co.) arbeiten zweischichtig - die im > Gerät selbst verbaute Spracherkennung kann wenig mehr als das > "Triggerwort" erkennen, das dann halt "Alexa", "Siri" oder vielleicht > auch "Hey Arschloch" lautet. > Den Rest der Spracherkennung aber erledigt Software irgendwo in "der > Cloud". Du solltest dein Wissen auffrischen anstatt dir Fäkalwörter einzuprägen und wie oben in die Tastatur zu hacken. Vor ca. 5 Jahren schon gab es ein Open Source Projekt, was auf einem RPi lief, Spracherkennung und dann Befehlsausführung sehr gut beherrschte OHNE Cloud-Unterstützung. Es lief alles lokal. Z.B. konnte ich meine Streaming Boxen dann per Sprache steuern. Ich hab leider vergessen wie das Projekt hieß. Damals hab ich es nur mal testweise aufgebaut weil ich wissen wollte wie gut es funktioniert. Und das war beeindruckend, man brauchte nur ein Mikrofon (besser noch ein Array) am RPi und man konnte loslegen. Nachtrag: ich habe nochmal gegraben, ich glaube es war SNIPS. Hier ein Bericht von Heise von 2019, der immerhin gleich am Anfang beschreibt, das es ohne Cloud auskommt. https://www.heise.de/ratgeber/Snips-Raspi-Sprachassistent-ganz-ohne-Cloud-4415247.html?seite=all Scheint inzwischen von Sonos geschluckt worden zu sein. Ob es noch Open Source ist, das steht auf einem anderen Blatt.
:
Bearbeitet durch User
900ss >Scheint inzwischen von Sonos geschluckt worden zu sein. Ob es noch Open >Source ist, das steht auf einem anderen Blatt. Irgendwas 7 Jahre altes liegt noch auf GitHub. Da steht zwar Doku, aber ein wenig Python-Code ist dabei: https://github.com/clonemvp/snips-platform-documentation
Wie gut eine Sprachsteuerung funktioniert, hängt sehr stark von der Erwartungshaltung ab, die man an die Sprachsteuerung und -Erkennung hat. Und auch von dem, was die Sprachsteuerung erzielen soll. Der erste Schritt ist überhaupt Sprache zu erkennen und mit (hoffentlich) geringer Fehlerrate in Text zu übersetzen. Die einfachste Variante ist eine, die nur vorgegebene Schlüsselwörter kennt. Das ist die von Boimler beschriebene Zugauskunft. Die nächste Variante muss auf die Sprecherstimme trainiert werden, so etwas haben Diktiersysteme wie "Dragon" umgesetzt. Anspruchsvoller sind sprecherunabhängige Systeme. Damit ist der Drops aber immer noch nicht gelutscht, denn der erkannte Text muss nun auch noch verstanden werden. Wenn ein ganz eindeutiger fest vorgegebener Satzbau verwendet wird, ist das leicht, wenn aber frei gesprochener Text verstanden werden soll, ist ganz erheblicher Aufwand nötig. Dieser Aufwand ist es aber, der Systeme wie Alexa, Siri & Co. so erfolgreich machen. 900ss schrieb: > Du solltest dein Wissen auffrischen anstatt dir Fäkalwörter einzuprägen > und wie oben in die Tastatur zu hacken. Nichts von Deinem Gefasel widerspricht in irgendeiner Weise dem, was ich geschrieben habe. Wenn Deine Religion Dir eine klare Ausdrucksweise verbietet, so ist das Dein persönliches Problem, ich werde wegen solcher selbst zugefügter geistiger Erkrankungen meine Ausdrucksweise nicht ändern.
Harald K. schrieb: > Nichts von Deinem Gefasel widerspricht in irgendeiner Weise dem, was ich > geschrieben habe. Doch, du hast erwähnt, dass alles in die Cloud geschickt wird, um es in Befehle zu übersetzen, was mit SNIPE nicht(!) der Fall ist. Das scheinst du nicht genügend informiert gewesen zu sein. Harald K. schrieb: > Wenn Deine Religion Dir eine klare Ausdrucksweise verbietet, so ist das > Dein persönliches Problem, ich werde wegen solcher selbst zugefügter > geistiger Erkrankungen meine Ausdrucksweise nicht ändern. Oh je, armer Wicht.
900ss schrieb: > Oh je, armer Wicht. Muss doch nicht sein. Ist wirklich ein interessantes Thema. Macht das bitte nicht kaputt!
900ss schrieb: > Doch, du hast erwähnt, dass alles in die Cloud geschickt wird, um es in > Befehle zu übersetzen, was mit SNIPE nicht(!) der Fall ist. Ja, mit diesem einen, weltweit von allen genutztem Beispiel, die völlig irrelevanten Alexa, Siri & Co. machen das alle nicht, aber die nutzt ja auch keiner. Wie schlägt sich denn "Snipe/Snips" im Sprachverständnis in Relation zu den anderen Varianten? Kann man dem tatsächlich so etwas zuraunen wie "Hey (900ss), mach mal schöne Musik an!" oder "Hey (900ss), regnets morgen in Regensburg?" 900ss schrieb: > Oh je, armer Wicht. Wenn Du wegen einer Beispielformulierung derartig abgehst, was soll ich da sonst antworten?
Harald K. schrieb: > Kann man dem tatsächlich so etwas zuraunen wie "Hey (900ss), mach mal > schöne Musik an!" oder "Hey (900ss), regnets morgen in Regensburg?" Es hat ausreichend gut Sprache/Befehle verstanden ohne langem Stimmtraining und ohne etwas n mal zu wiederholen. Harald K. schrieb: > Wenn Du wegen einer Beispielformulierung derartig abgehst, was soll ich > da sonst antworten? Ich verstehe, dass dir dazu nichts einfällt.
900ss schrieb: > Es hat ausreichend gut Sprache/Befehle verstanden ohne langem > Stimmtraining und ohne etwas n mal zu wiederholen. Nun steht also anekdotische Wahrnehmung den real existierenden cloudbasierten Systemen gegenüber. 900ss schrieb: > Ich verstehe, dass dir dazu nichts einfällt. Du musst da irgendeine merkwürdige Fixierung haben. Wurde Dir als Kind der Mund mit Seife ausgewaschen? Verprügel Deine Eltern.
Harald K. schrieb: > Nun steht also anekdotische Wahrnehmung den real existierenden > cloudbasierten Systemen gegenüber. Ich hab es getestet und kann eigene Erfahrungen berichten. Damit war/ist das System wohl real existent. Wie meine Erfahrungen gedeutet werden, liegt beim Leser. Ich war zufrieden und fand es beeindruckend gut. Welche Erfahrungen hast du mit nicht-cloudbasierten Lösungen gemacht und welche Systeme waren das? Berichte gerne von deinen Erfahrungen falls es welche gibt außer "hören/sagen".
900ss schrieb: > Harald K. schrieb: Könnt ihr euren Kleinkrieg nicht per Mail austragen? Ihr seid ohnehin offtopic. Der TE wollte ja was selber schreiben. Wenn er nur irgendwas installieren wöllte, dann würden die Hardwareanfordungen ja feststehen.
Axel S. schrieb: > Ihr seid ohnehin offtopic Ich dachte, ich hatte einen interessanten Vorschlag gemacht, mal nach SNIPE zu schauen. Zumal es eben ohne Cloud ausgekommen ist, als ich es testete. Mir ging es danach darum, die von HK angezweifelte Qualität geradezurücken. Dass das in Zweifel stellen von Fäkalsprache gleich so wüste Beschimpfungen auslöst.... schulterzuck..
900ss schrieb: >Ich dachte, ich hatte einen interessanten Vorschlag gemacht, mal nach SNIPE zu schauen. Das fand ich recht nützlich. > wüste Beschimpfungen auslöst.... schulterzuck.. Hier vielleicht ein guter Satz aus den Management Lehrgängen, der sehr hilfreich im Umgang mit dem MC-Netz ist: "Wenn dir ein Affe einen Baum hin stellt, musst du nicht rauf klettern"
Axel S. schrieb: > Der TE wollte ja was selber schreiben Ich vermute stark, dass das ohne eine gewisse Basis (SDK) und viel Erfahrung in dem Gebiet kaum möglich ist. Aber hier: Gerade mit einer Suchmaschine entdeckt. Da kann man vielleicht drauf aufbauen. Espressif bietet ein Framework für das Thema: https://github.com/espressif/esp-sr Zitat: "Espressif's speech command recognition model MultiNet is specially designed to provide a flexible off-line speech command recognition model. With this model, you can easily add your own speech commands, eliminating the need to train model again." Arbeitet scheinbar auch offline. Wie gut es funktioniert, weiß ich natürlich nicht. Das mag derjenige, den es interessiert, selber herausfinden. Hätte nicht gedacht, dass das mit einem solchen Board ESP32-S3 bzw ESP32-P4 überhaupt möglich ist. Wenn ich meinen Tisch nicht voller Analogelektronik hätte, würde ich es selber auch mal testen und herausfinden wir gut es funktioniert. Christoph M. schrieb: > "Wenn dir ein Affe einen Baum hin stellt, musst du nicht rauf klettern" :)) Stimmt im Prinzip. Aber manchmal... ;)
:
Bearbeitet durch User
900ss schrieb >Espressif bietet ein Framework für das Thema: >https://github.com/espressif/esp-sr Uberi scheint auch relativ aktuell zu sein: https://github.com/Uberi/speech_recognition
> Hier vielleicht ein guter Satz aus den Management Lehrgängen, der sehr > hilfreich im Umgang mit dem MC-Netz ist: > "Wenn dir ein Affe einen Baum hin stellt, musst du nicht rauf klettern" Ein weiters Indiz für die Dämlichkeit mancher Managment-Lehrgänge. Ok, manche Manager warten heute noch still und unbewegt unter jedem Schattenspender, das ihnen die Frucht vom Baum ohne eigenes Zutun von allein in den Schoß fällt ... SCNR * https://github.com/voice-engine/smart_speaker_from_scratch * https://3reality.com/product/smart-speaker-development-kit/?srsltid=AfmBOorxHxYwvI5SjhEXcRx1u4ugPljNOtYQHMJ0OKjOiQnAqUx-My8z
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.