Sou engenheiro de software há muito tempo, mas praticamente não tenho experiência com processamento de sinal / áudio. Estou interessado em aprender sobre o processamento de sinais por meio de um caso de uso que temos para um de nossos componentes de áudio. NOTA: este é apenas um exercício de aprendizado para mim ... não é uma prioridade que o resultado final seja útil.
Temos um componente (A) que produz áudio (via alto-falante). Temos outro componente (B) que grava esse áudio (através de um microfone simples).
O que eu gostaria de fazer é usar A para gravar o áudio de B. Então eu gostaria, se possível, comparar os dois fluxos. O objetivo seria remover o áudio presente no fluxo A - deixando as condições ambientais existentes durante a gravação - eu entendo que a remoção total não é possível.
Percebo que há problemas de fase e magnitude. Também percebo que não é apenas uma questão simples de "subtrair" B de A. Dito isto, suponho que você possa subtrair A de A.
Eu gostaria de entender como abordar o problema. Novamente, esta é uma experiência de aprendizado para mim (não há prazos); Estou mais do que disposto a começar do começo.
Qualquer conselho / sugestão seria muito apreciado.
fonte
O problema que não permitirá que o som ambiente exato seja a saída é:
(a) a diferença de volume (b) diferença de fase devido a atraso de tempo.
Assim, no geral, o sinal gravado por B será (assumindo que a sala se comporte como um sistema LTI) , onde ou mais a resposta de impulso da sala. Aqui é o sinal ambiente no local de B. Agora, você pode ver que terá , a menos que saiba a resposta ao impulso da sala ou sua estimativa. Para obter informações, você pode seguir em frente fazendo a subtração e vendo o espectrograma do sinal resultante e comparando com o espectrograma de sinal do sinal ambiente e apenas do A.yB[n]=∑pk=0αkxA[n−k]+xamb[n])=(x∗h)[n]+xamb[n] h[n]=αn xamb[n] z[n]=xA[n]−yB[n] z[n]≠xamb[n]
O contrário é colocar o microfone próximo a A para minimizar o efeito da resposta ao impulso da sala. Essa técnica é usada em fones de ouvido com cancelamento de ruído, onde o ruído ambiente deve ser removido. http://en.wikipedia.org/wiki/Noise-cancelling_headphonese .
fonte
Isso soa como um caso padrão para "cancelamento de eco acústico". Existem muitas patentes, trabalhos de pesquisa e teses acadêmicas sobre o assunto (a partir de 1967, acredito no artigo de MM Sondhi "Um cancelador de eco acústico adaptável").
Uma visão geral simples está aqui http://supportdocs.polycom.com/PolycomService/support/global/documents/support/technical/products/voice/vortex_choose_acoustic_echo_canceller.pdf .
Este é um livro decente sobre o tópico http://www.amazon.com/Advances-Network-Acoustic-Cancellation-Processing/dp/3540417214
fonte