Filtros Digitales (FIR), recoger señal de audio (Transformada de Fourier)
Saludos.
Me encuentro inmerso en un proyecto de reconocimiento de señales acústicas, y se me plantea el problema de que no sé cómo recoger una señal de audio desde el micrófono, para digitalizarla y trabajar con ella.
Estoy bien informado sobre los filtros digitales(especialmente los FIR: Finite Impulse Response), su uso y utilidad... pero todo en un ámbito muy teórico, quiero decir... sé para qué sirve un filtro de pasabanda (que es el que quiero utilizar), la frecuencia de la onda de sonido que debo recortar, el tratamiento sinusoidal del sonido, amplitudes... etc. pero no tengo ni idea de cómo plantear el algoritmo pertinente.
Partiendo de la idea base de que tengo que comunicarme con la tarjeta de sonido del pc, y recoger la señal analógica para pasarle un filtro de "pasabanda", os pregunto:
¿alguien sabe como realizar dicha comunicación?
Me valdría una breve explicación, o un algoritmo sencillo (sin muchos detalles), para romper la barrera que me está frenando en el desarrollo de mi proyecto.
Agradezco sinceramente de antemano, cualquier información al respecto.
P.D.: Como no, decir, que el lenguaje utilizado es C++
Me encuentro inmerso en un proyecto de reconocimiento de señales acústicas, y se me plantea el problema de que no sé cómo recoger una señal de audio desde el micrófono, para digitalizarla y trabajar con ella.
Estoy bien informado sobre los filtros digitales(especialmente los FIR: Finite Impulse Response), su uso y utilidad... pero todo en un ámbito muy teórico, quiero decir... sé para qué sirve un filtro de pasabanda (que es el que quiero utilizar), la frecuencia de la onda de sonido que debo recortar, el tratamiento sinusoidal del sonido, amplitudes... etc. pero no tengo ni idea de cómo plantear el algoritmo pertinente.
Partiendo de la idea base de que tengo que comunicarme con la tarjeta de sonido del pc, y recoger la señal analógica para pasarle un filtro de "pasabanda", os pregunto:
¿alguien sabe como realizar dicha comunicación?
Me valdría una breve explicación, o un algoritmo sencillo (sin muchos detalles), para romper la barrera que me está frenando en el desarrollo de mi proyecto.
Agradezco sinceramente de antemano, cualquier información al respecto.
P.D.: Como no, decir, que el lenguaje utilizado es C++
Supongo que la mejor opción es usar la API del SO.
La referencia de la de windows la tienes en www.msdn.com
Un saludo y suerte.
La referencia de la de windows la tienes en www.msdn.com
Un saludo y suerte.
