2010-02-26 5 views
9

Qualcuno può indicarmi la giusta direzione su come ridurre al minimo il rumore ambientale durante la registrazione di qualcuno che parla usando l'iPhone SDK Core Audio? Sto indovinando un filtro passa-banda che elimina qualsiasi frequenza al di sopra e al di sotto della gamma vocale umana potrebbe funzionare. Non ho idea di come implementerei i filtri di banda sull'audio nell'SDK. La soluzione ottimale sarebbe quella che elimina il rumore dal flusso prima che venga scritto su memoria/disco.iPhone SDK: come registrare le voci con la compressione del rumore ambientale?

Qualche esempio di codice sarebbe apprezzato.

+1

Il rumore, per sua natura casuale, è intrinsecamente una cosa difficile da rimuovere dall'audio o da qualsiasi altro segnale. Mentre è possibile rimuovere il rumore apparente in una registrazione, questo influenzerà il segnale in modi imprevedibili. Prendi in considerazione tutti gli archivisti e gli ingegneri della registrazione e la loro costante battaglia con il rumore. – lucius

+0

Sei stato in grado di ridurre il rumore di sottofondo durante la registrazione? – Warrior

risposta

8

È necessario implementare un adaptive filter e un voice activity detector. Nei periodi in cui non vi sono discorsi si raccolgono rumore ambientale e si utilizza questo per pilotare il filtro adattivo.

+1

Idea interessante. Grazie. – memmons

+1

R -> puoi fornirmi tutti i codici per implementare l'algoritmo del filtro adattativo? – Warrior

+1

@ Warrior: i filtri adattivi non sono banali da implementare - ti suggerisco di leggere un buon libro sull'argomento, ad es. http://www.amazon.com/Adaptive-Filter-Theory-Simon-Haykin/dp/0130901261 ​​o in mancanza almeno di Google per LMS ecc. e imparare parte della teoria prima di provare un'implementazione –

2

Avere una ricerca per "sottrazione spettrale" che una tecnica di analizzare un campione di ciò che si sta chiamando il rumore di fondo e quindi sottrarlo dal segnale regolare. Sì, otterrai sempre alcuni artefatti. È un compromesso.