Hallo, Ich nutze ein Mikrofonarray das über USB angeschlossen wird. Das array verfügt bereits über einen XVF-3000 und verfügt damit bereits über mono-AEC, sowie einige andere Funktionen um Hintergrundgeräusche zu filtern. Bei klassischer Musik funktioniert das auch ganz gut ohne AEC. Sobald mehr Sprache ins Spiel kommt zb bei einem Fernseher funktioniert es ohne AEC leider nicht mehr wirklich. AEC funktioniert hierbei über einen loopback des Audioausgang des arrays. Das heißt um AEC zu nutzen müsste ich die Aufnahme über das array abspielen. Dies hat jedoch das Problem, dass das Array nur maximal 16khz unterstützt, was der Qualität dann doch nicht gerade gut tun würde. Hat jemand eine Idee wie ich von den Audioaufnahmen am einfachsten den Ton des fernsehers entfernen kann und dennoch das normale Audioequipment so weiternutzen kann (Bekomme das Signal nur Analog von dem Fernseher). Da die Aufnahmen direkt für eine Sprachsteuerung genutzt werden soll ist eine wichtige Vorraussetzung, dass das Ganze nicht zu viel Zeit in Anspruch nehmen sollte. Vielen Dank im Voraus Max
Woher soll die AEC denn wissen, ob du oder der Fernseher mit dem Gerät spricht? Das zu kompensierende Signal muss demzufolge über einen dedizierten Eingang zugeführt werden. Wenn du über dein Array eine Richtungsinformation der Schallquellen ermitteln kannst, könnte man versuchen die Signale über die Richtung trennen. z.B. Dauerschallsignal aus einer bestimmten Richtung -> zu kompensierendes Signal, seltene Schallquellen aus anderen Richtungen -> vermutlich zu erkennendes Sprachsignal. Alternativ könnte man evtl. auch mehrere Kombinationen durchprobieren. Sagen wir, du hast 2 Schallquellen (A und B) erkannt. Dann probierst du die 2 möglichen Kombinationen durch (A=Hintergrund, B=Sprachsignal und A=Sprachsignal, B=Hintergrund), wirfst beide Kombinationen der AEC und dann der Spracherkennung zum Fraße vor, und guckst, welche Kombination einen Treffer ermittelt.
:
Bearbeitet durch User
Erstmal danke für die rasche Antwort. Ich habe das Mic array ja als fertiges mic array. Dh ich bekomme am Ausgang eine bereits optimierte Ausgabe. Wie gesagt funktioniert hier die noise supression bereits sehr gut beispielsweise für Hintergrundmusik, aber bei Sprach zB vom Fernseher natürlich nicht unterscheiden kann. Die Idee war jetzt sozusagen von der Ausgabe des mic arrays eine Aufnahme des Audio Ausgangs des Fernsehers zu entfernen. Das wäre mir wesentlich lieber als mein aktueller workaround, dass ich sobald das hotword erkannt wird die Lautsprecher des Fernsehers abschalte. Sollte es allerdings nicht wirklich mit vertretbarem Aufwand möglich sein eine zweite Aufnahme (Fernseher) von der Hauptaufnahme abzuziehen, bleibe ich auch bei dieser Version ;) Eine Richtungsinformation kann ich abrufen, aber solange der Fernseher die Hauptquelle der Geräusche ist das halt immer die Richtung des Fernseher Die Hotword detection funktioniert auch so ganz gut, aber danach bei der Erkennung vollständiger Sätze ist die Erkennung von Sprache aus dem Fernseher halt ein ziemliches Problem (haben ja auch Alexa und wie sie alle heißen so ihren Spaß mit)
:
Bearbeitet durch User
Dazu müsstest Du erst einmal ermitteln, wie ein eingehendes Signal von der Prozessierung des mic arrays behandelt wird, um zu wissen, wie Du es einspeisten musst, damit es negiert wird.
Max H. schrieb: > Bei klassischer Musik funktioniert das auch ganz gut ohne AEC Warum sollte das ausgerechnet bei klassischer Musik funktionieren und bei anderen Musikstilen mit Sprache nicht? Solange es nicht gelingt, die Signale isoliert von den anderen aufzunehmen und dann mathematisch zu eliminieren, besteht da kaum eine Chance. Da landest du schnell bei der Frage: Beitrag "Schlagzeug aus Audioaufnahme entfernen?"
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.