Forum: Digitale Signalverarbeitung / DSP / Machine Learning Entfernen von Hintergrundmusik aus Aufnahmen


von Max H. (max7198)


Lesenswert?

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

von Joe F. (easylife)


Lesenswert?

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
von Max H. (max7198)


Lesenswert?

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
von J. S. (engineer) Benutzerseite


Lesenswert?

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.

von -gb- (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.