2010-02-26 14 views
9

¿Alguien puede indicarme en la dirección correcta cómo minimizaría el ruido ambiental mientras grabo a alguien que habla utilizando el núcleo de audio SDK de iPhone? Supongo que un filtro de paso de banda que elimine cualquier frecuencia por encima y por debajo del rango vocal humano podría funcionar. Sin embargo, no tengo idea de cómo implementaría filtros de banda en audio en el SDK. La solución óptima sería aquella que elimina el ruido del flujo antes de que se escriba en la memoria/disco.iPhone SDK: ¿Cómo grabar voces con supresión de ruido ambiental?

Algún código de muestra sería apreciado.

+1

El ruido, por su naturaleza aleatoria, es intrínsecamente algo difícil de eliminar del audio o de cualquier otra señal. Si bien puede eliminar el ruido aparente en una grabación, afectará la señal de forma impredecible. Considere todos los archivistas e ingenieros de grabación y su batalla constante con el ruido. – lucius

+0

¿Ha sido capaz de reducir el ruido de fondo durante la grabación? Si es así, por favor, brinde algunas ideas. – Warrior

Respuesta

8

Debería implementar un adaptive filter y un voice activity detector. En los períodos en los que no hay habla, se recogerá el ruido ambiental y se usará para impulsar el filtro adaptativo.

+1

Interesante idea. Gracias. – memmons

+1

R -> ¿me puede proporcionar algún código para implementar el algoritmo de filtro adaptativo? – Warrior

+1

@Warrior: los filtros adaptativos no son triviales para implementar: le sugiero que lea un buen libro sobre el tema, p. Ej. http://www.amazon.com/Adaptive-Filter-Theory-Simon-Haykin/dp/0130901261 ​​o al menos Google, por ejemplo, LMS, etc. y aprenda algo de la teoría antes de intentar una implementación –

2

Busque "sustracción espectral", que es una técnica para analizar una muestra de lo que está llamando ruido de fondo y luego sustraerla de la señal regular. Sí, siempre obtendrás algunos artefactos. Es una compensación.

Cuestiones relacionadas