Gast
#2016535
Hallo community, es geht um folgendes Problem: Über ein Mikrofon wird Sprache in Echtzeit übertragen. Leider werden dabei extrem viele, laute Nebengeräusche durch Lüfter, Motorgeräusch usw. eingefangen. Um diese Geräusche zu eliminieren, möchte ich folgendes tun: -Development kit mit DSP kaufen -Kit auf platine später auflöten, auf der Platine befindet sich dann ADC und Stecker für Mikrofon Der Algorithmus besteht aus folgenden Modulen: DFT - Blockbildung aus mehreren Abtastwerten - Erkennung ob Sprache aktiv ist - bei nicht aktiver Sprache->Abspeichern des Datenblocks - bei aktiver Sprache-> Subtratktion des Datenblocks mit keiner Sprache von Datenblock mit Sprache=> Erhofftes Ergebnis: Erhebliche Dämpfung des Hintergrundlärms - inverse DFT Fragen bzgl. DFT: 1. Habe ich richtig erkannt das ich um eine Umwandlung von Zeit in Frequenzbereich für einen geeigneten dynamischen Filter nicht umgehen kann? 2. Gibt es Möglichkeiten die Implementierung der DFT zu umgehen (durch Autocode oder bestehende Codes)? Ich habe von FFTW und Spiral gelesen. Es handelt sich jedoch lizenzbedingt um nichtkommerzielle Nutzung der Produkte. 3. Auf der Seite: http://www.dspdimension.com/admin/dft-a-pied/ Habe ich folgenden Code entdeckt:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
Ist dieser so realisierbar oder ist die Implementierung auf dem DSP wie in anderen Beispielen einige hundert Zeilen lang? 4. Gibt es bestehende für mich nutzbare Codes für die Erkennung von aktiver oder inaktiver Sprache? 5. Welcher DSP bevorzugt ihr nach den Aspekten: Firma, ADC integriert oder nicht, Entwicklungsumgebung der Software usw. Vielen Dank im Vorraus