Hallo beisamen, ich hätte eine wohl etwas blauäugige Frage bzw. Problem. Auch muss ich vorrausschicken dass ich nur wenig DSP Erfahrung habe (ein wenig Audioprogrammierung aber nichts grandioses). Dazu mein Szenario: handelsübliches Mobiltelefon mit Speaker. Abstand von Mikrofon und Speaker sind naturgemäß extrem klein. Das Telefon soll als real-time Vocoder verwendbar sein, d.h. reinsprechen, samples manipulieren und Ausgabe über Speaker. Natürlich kommt es da zu einem akkustischen Feedbackloop (außer man verwendet Kopfhörer). Klassische Lösungen wie man sie aus dem Musikbereich kennt sind nicht anwendbar da Mikrofon und Speaker ihren Platz und ihre Ausrichtung nicht ändern können. Ich habe nun schon etwas länger recherchiert und alle möglichen Lösungen scheinen eine Form von adaptiven Filter zu sein mit normalized LMS gradient descent. Diese scheinen eine (kurze) Trainingsphase zu benötigen. Würde ein solcher NMLS Filter bei meinem Feedback Problem helfen? Ich habe das ungute Gefühl dass das Problem nicht (so einfach) lösbar ist. Bevor ich also Zeit in das Verstehen und Implementieren eines solchen Systems investiere wollte ich noch die Meinung von Experten einholen. Ist so ein System machbar? Danke für alle Hinweise, Mario
Schreib deinen Beitrag doch gleich komplett auf Englisch, dann wirkt es nicht mehr ganz so lächerlich. Zum Thema: Wie groß darf bzw. muss die Zeitverzögerung zwischen Ein- und Ausgabe sein? Du schreibst von Samples, möchtest du also soetwas: Aufnehmen -> Filter einstellen -> Bearbeiten -> Ausgeben ? Dann hättest du überhaupt keine Probleme, während der Aufnahme könntest du deinen "Speaker" einfach abschalten. Alles andere wäre IMHO kaum sinnvoll auf einem Mobiltelefon umsetzbar. Eine Echtzeit-Stimmenverfremdung (können manche Karnevalsmasken z.B.) im Handy stelle ich mir extrem schwer benutzbar vor. Dir selber mit verfremdeter Stimme und ggf. Zeitverzögerung zuhören wird wohl nette Kopfschmerzen hinterlassen. Einfach "nur" die Stimme zu verfremden wird auch schwer möglich sein, eben aufgrund des geringen Abstand Mikrofon->Lautsprecher. Die kleinen Lautsprecher können einen sprechenden Menschen doch kaum übertönen, ohne selbst schon wunderbare Verzerrungen zu produzieren. Noch dazu, wo der "Output" vom Handy so nah an deinem "Output" ist.
Tut mir leid wenn die englischen Begriffe auf dich laecherlich wirken. Nachdem all die Literatur die ich dazu gelesen habe auf englisch war dachte ich es waere angebrachter dieses Vokabular zu verwenden. Und IMHO wie von dir verwendet hat doch sicherlich auch ein deutsches Pendant nehme ich an oder? Unter Samples haette ich weniger eine mehrere Sekunden lange Aufnahme verstanden sondern eher jeweils die Amplitude zu einem Abtastzeitpunkt. D.h. das ganze soll in nahezu Echtzeit passieren (plus natuerlich der Latenz der Hardware selbst). Die Sinnhaftigkeit des ganzen entzieht sich auch meinem Verstaendnis etwas. Wie du bereits angemerkt hast ist der Lautstaerkenpegel des Telefons viel zu schwach um die Stimme zu uebertoenen. Meinen potentiellen Auftragsgeber waere das jedoch anscheinend egal. Danke fuer die Hinweise!
Mario Zechner schrieb: > Würde ein solcher NMLS Filter bei meinem Feedback Problem helfen? Prinzipiell ja, aber: > Ich habe das ungute Gefühl dass das Problem nicht (so einfach) lösbar ist. Da könntest du recht haben. Ich sehe folgende Probleme: - API: du brauchst samplesynchronen Zugriff auf Mikrofon- und Lautsprechersignal. - Nichtlinearität: wenn du den Handylautsprecher gut aussteuerst wird das vermutlich nichtlineare Verzerrungen zur Folge haben, die du mit einem linearen Filter nicht kompensieren kannst. - Direktes Sprachsignal und Lautsprechersignal treten in deinem Fall immer gleichzeitig auf. Bei normaler Echokompensation wird die Filteradaption angehalten sobald ein lokaler Sprecher aktiv ist (double talk detection), das geht bei dir nicht. Das macht es dem NLMS sehr viel schwieriger zu konvergieren. Abgesehen von den technischen Problemen glaube ich aber auch dass so ein Verzerrer im Handy nicht gut benutzbar ist.
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.