Hallo zusammen,
mir ist vorhin eine Idee gekommen. Ich möchte gern einen Radio-Stream abhören und bei gewissen Worten, die der Moderator von sich gibt, eine Aktion auslösen.
Hat da jemand Ansätze wie das zu realisieren wäre?
Gruß
Syrius
Hallo zusammen,
mir ist vorhin eine Idee gekommen. Ich möchte gern einen Radio-Stream abhören und bei gewissen Worten, die der Moderator von sich gibt, eine Aktion auslösen.
Hat da jemand Ansätze wie das zu realisieren wäre?
Gruß
Syrius
SzeneBox.org bei Telegram https://t.me/szenebox
Hi Syrius,
ich denke aber das das ein zu komplexes Thema ist um so etwas privat umzusetzten, ich habe allerdings auch keine Ahnung von dieser Thematik. Trotzdem mal ein paar Gedanken die mir zu dem Thema auf die Schnelle gekommen sind:
Allein wenn ich daran denke wie das mit Android funktioniert, habe ich den Eindruck das es mit großem Rechenaufwand verbunden ist.
Man muss zuerst das Handy trainieren damit es den Aufruf verstehr, beispielsweise mehrmals sein Ok Google sagen damit es das mit deiner Aussprache und Stimme erkennen kann. Mit völlig unbekannten Stimmen/Sprachweisen ist das sicher Schwieriger. Der Rest der Befehle wird dann zuerst an Server gesendet und dort ausgewertet.
Auf der anderen Seite gibt es seit vielen Jahren die Spracherkennungsprogramme, die immer genauer werden.
Vom Prinzip her müsstest du wohl den kompletten Radiotext aufnehmen und jedes Wort (erkennbar an kurzen Sprechlücken) mit mehreren, verschieden schnell und deutlich gesprochenen, abgespeicherten Tonfolge vergleichen, wobei da eine grössere Toleranz als Abweichung erlaubt sein müsste.
Ich vermute einfach mal das du als Reaktion etwas aufnehmen möchtest. Dann wäre das nächste Problem, wo ist das Ende der Aufnahme ? Es sagt ja keiner "Ende"
Ja, die Vermutung lag nahe, dass das nichts einfaches wird. Es geht im Detail darum, dass wenn jemand bei einem Gewinnspiel im Radio teilnimmt, und der Moderator den Namen des Gewinners aufruft, eine Nachricht per Telegram getriggert wird, was den Teilnehmer wiederum triggert anzurufen, um den Gewinn zu erhalten.
Such mir auch schon einen Wolf aber was brauchbares ohne weiter Cash zu investieren... bisher nichts gefunden.
SzeneBox.org bei Telegram https://t.me/szenebox
Es geht also um einen ganz speziellen und immer denselben Namen, was von Vorteil ist. Denn bei allgemein Namen ist ein Doppelname wie Marius Meyer-Bender sicher wohl schwerer als Name zu erkennen, weil der aus drei Wörtern besteht.
Was zum nächsten Problem führt, es sollte sowohl Marius Bender als auch nur Bender erkannt werden. Marius Bender deswegen, weil dann die Treffsicherheit besser gegeben ist, als wie einfach bei Bender, wo vielleicht Länder oder ähnliche Wörter einen Fehlalarm auslösten könnten.
Ein noch grösseres Problem wäre, wenn der zu überwachende Name Wiese, Lukas, oder sonst ein Name wäre, der auch im normalen Sprachgebrauch öfters vorkommt. Deswegen möglichst mit Vornamen.
Wie geschrieben, ich sehe nur die Möglichkeit kommplett alles Live aufzunehmen, im Speicher/Ramdisk jedes einzelne Wort abzugleichen und sofort wieder zu löschen wenn es nicht zutrifft. Was natürlich auch aufwendig ist und eines erst zu bekommenden Algorhytmus bedarf.
Ob es kostenlose Pragramme zu dem Thema gibt, glaube ich weniger. Und wenn dann nur um diesen Text in einer Datei weiterzuverarbeiten, nicht um eine Reaktion auszulösen. Ich hatte mal kurz gegoogelt, es gibt viel theoretische Abwandlungen dazu, aber in der Praxis habe ich auf die Schnelle nichts hilfreiches gefunden.
Wir haben eine tolle Community hier, vielleicht fällt jemanden wirklich noch etwas brauchbares ein.
Kann man nicht evtl Amazon Alexa oder Google Home dazu kriegen bei dem richtigen "Codewort" eine dementsprechende Routine zu starten?
So nach dem Motto: Alex (umbenennen) hört den entsprechenden Vornamen (das Trigger Wort) und wird aktiv, direkt danach erkennt sie ja dann hoffentlich den Nachnamen, der dazu benutzt wird die dementsprechende Routine zu starten.
Kein plan ob das überhaupt geht und wenn, ob es auch sauber erkannt wird.
Was ist rot und stört beim Kauen ?
Ein Backstein
https://marc.w.erfel.de/2015/09/30/n...s-funkscanner/
vielleicht hilft sowas in die richtung, dort wird auch über ähnliches geschrieben.
Google & Microsoft bieten Deep Lerning APIs an / KI und sowas ...
Das gibt es auch für Audio Streams
https://cloud.google.com/speech-to-text/
Damit bekommst du zb aus dem gesprochenen text. Im Text kannst du dann halt nach Namen suchen.
also generell gibt es mehrere probleme
das signal könnte mit störungen ankommen und somit ist die signalverarbeitung erschwert, da du von stream redest, hörst du das ganze wohl per internet ab, also ist das problem schonmal minimiert
dann gibt es das problem das der moderator nicht unbedingt den richtigen namen sagen könnte bspw. michi das michael
ich habe vor einem jahr mal probiert eine sprachsteuerung für eine app umzusetzten und hier mal ein paar sachen die ich da so mitgenommen habe
selbst bei perfekten audio signalen / aussprachen gibt (bzw. gab es zu dem zeitpunkt) keine api die freizugänglich ist die 100% der worte erkannt hat
ich suche gleich mal kurz ob ich meine alte dokumentation zu dem ganzen finde, weil ich dort ein paar services vergliechen habe ich weiß nurnoch das ich am ende https://wit.ai/ verwendet habe
es gibt jedoch nicht nur cloud-lösungen es gibt auch noch offline lösungen wir CMU Sphinx, hier musst du jedoch dein eigenes modell erzeugen
sonstiges: https://de.wikipedia.org/wiki/Soundex
https://en.wikipedia.org/wiki/Levenshtein_distance
edit:/
anscheint hatten ein paar Services bei dem Testsatz doch 100% erkannt, aber bei echten Aufnahmen sah das Ganze etwas anders aus.
der test satz war:
Influenza-A-Virus H1N1 bezeichnet einen Subtyp des Influenzavirus, der bei Enten, Menschen und Schweinen vorkommt, aber auch zahlreiche andere Säugetierarten sowie Truthähne infizieren kann
Google-Speech-Recognition: 100% erkannt, Antwortzeit: schnell, Preis 1.44 USD /h
Wit.ai (Facebook) 100% erkannt, Antwortzeit schnell, kostenlos
Bing Speech Recognition: 1 Fehlerhaftes, ...
Trint.com: 2 Fehlende, 1 Fehlerhaftes Wort
CMUSphinx: 71% Fehlende Wörter
Sonstige:
Dragon NaturallySpeaking bietet keine API
Voicebase Registration keine EMail erhalten
Amazon Transcribe muss CC hinterlegt werden
IBM (WATSON): kein Deutsch
So wie ich das verstehe verwenden Alxa und Co ja einzig dieses eine Triggerwort, in deinem Beispiel den Vornamen. Dieses muss man ihnen aber auch erst durch mehrmaliges sprechen antrainieren. Das ist dann der Auslöser. Die nächsten Wörter bis zu einer grösseren Sprechpause, werden dann digitalisiert aufgenommen und and die Server zum auswerten versendet.
Man müsste wohl tief in die Software eingreifen damit eine andere Aktion gestartet wird. Eben vielleicht - statt den Satz an die Server zu senden, ihn an einen Telegram-Bot schicken.
Falls so etwas klappen würde, könnte man natürlich die Hardware dazu mitverwenden. Und müsste das radio dann vor die Alexa/Google Box stellen.
Mit ohne Kosten:
https://github.com/codeforequity-at/...ech-processing
warum so kompliziert? wandel die audiospur in waveform um und vergleich sie mit genau der waveform des wortes, das du raushören willst. ist keine 100%ige lösung aber gut genug sollte das doch schon funktionieren
Wave she ich als kritisch an ... die waveform kann sich unterscheiden in Höhen und Tiefen je nach Stimme der Ansage.
Fand da die Idee per Alexa besser ... man müsste doch einen hook erstellen können der auf den Namen XYZ die Aktion A1 Auslöst? mit etwas Knowhow sollte das per Custom Routine doch umsetzbar sein! Alexa hört doch eh alles mit