Die Verwendung eines Passbandfilters, der der Sprachbandbreite entspricht, hilft.
Wenn Sie über mehrere Mikrofone verfügen (wie dies jetzt bei Mobiltelefonen der Fall ist), gibt es eine Fülle von ICA-ähnlichen Methoden, die davon profitieren können - aber Ihre Frage deutet darauf hin, dass Sie nur einen Eingang haben.
Was Sie tun möchten, ist die "Ein-Mikrofon-Quellentrennung" (der Name stammt aus Roweis 'wegweisendem Papier), auch "Einzelsensor" genannt. Warnung: Dies ist keineswegs ein gelöstes Problem, und alle Forschungen auf diesem Gebiet sind sehr neu, wobei kein Algorithmus oder Ansatz ein "klarer Gewinner" ist (im Gegensatz zu Gaußschen Mischungsmodellen + FST wurde die Spracherkennung durchgeführt).
Ein guter Rahmen dafür ist die Wiener Filterung. Siehe Benaroya et al. "Single Sensor Source Separation basierend auf Wiener Filterung und Multiple Window STFT" (Lesen Sie Abschnitt 1 & 2, kümmern Sie sich nicht um das Multiresolution-Ding, es sei denn, Sie brauchen es wirklich). Kurz gesagt, Sie berechnen die STFT Ihres Signals, und Sie versuchen, für jeden STFT - Frame Schätzungen des Sprachspektrums und des Rauschspektrums zu erhalten, und Sie verwenden die Wiener - Filterung, um die beste Schätzung des Sprachspektrums daraus zu erhalten (diese ist vergleichbar mit "weich maskieren" des Spektrums).
Ihr Problem ist nun das folgende: Schätzen Sie bei einem STFT-Frame die Sprache und die Rauschkomponente daraus ab. Der einfachere Ansatz, der in dem Artikel von Benaroya beschrieben wird, ist die Vektorquantisierung. Nehmen Sie mehrere Stunden Rede von vielen Sprechern, berechnen Sie die STFT, führen Sie die LBG darauf aus, um ein Codebuch mit 512 oder 1024 typischen Sprachrahmen zu finden. Mach dasselbe für Lärm. Projizieren Sie nun ein gegebenes Bild Ihres Eingangssignals nicht negativ (ein Verfahren zur multiplikativen Gradientenaktualisierung wird in diesem Artikel beschrieben) auf die Sprach- und Geräuschbasis, und Sie erhalten Ihre Sprach- und Geräuschschätzungen. Wenn Sie sich nicht mit der nicht negativen Projektionssache befassen möchten, verwenden Sie einfach den nächsten Nachbarn. Dies ist wirklich das Einfachste, was in der Abteilung "Einzelsensor-Quellentrennung" funktionieren könnte.
Es sei angemerkt, dass ein Spracherkennungssystem tatsächlich eine Eingabe für ein Trennungssystem liefern könnte. Führen Sie einen ersten Dekodierungsdurchlauf mit Ihrem Spracherkennungssystem durch. Verwenden Sie für jeden Frame den mittleren MFCC-Vektor des Gaußschen, der die beste Punktzahl erzielt hat. Invertiere das zurück in ein Spektrum. Boom, Sie haben eine Maske, die Ihnen die wahrscheinlichste spektrale Position der sprachähnlichen Bits angibt, und Sie können sie als Eingabe für die Wiener-Filterung verwenden. Das klingt ein bisschen nach Handwinken, aber der Geist ist, dass man ein gutes Modell dafür braucht, um eine Quelle zu trennen, und ein rückwärts genommenes Spracherkennungssystem ist ein verdammt gutes generatives Modell für Sprachsignale.