Em um sistema embarcado, descobri que apenas um aplicativo pode usar a placa de som simultaneamente. Para meu conhecimento limitado, para resolver o problema, o ALSA fornece o plug-in dmix
para executar a mistura no espaço do usuário e, assim, permitir que vários aplicativos compartilhem a placa de som.
Ao tentar descobrir como usar o dmix
, encontrei um problema. Ao reproduzir um arquivo de áudio (estéreo, 16 bits, 44,1 KHz), o áudio como se estivesse se sobrepondo a si mesmo, em um estranho efeito de eco, com o número de ecos crescendo como uma bola de neve mais abaixo no tempo de reprodução. (Já 10 segundos em reprodução, o som "intensifica" até o ponto em que tenho que pará-lo por medo de dano permanente ao alto-falante.)
Da minha percepção, apenas o primeiro segundo de áudio é reproduzido normalmente, e a estranheza começa em torno do segundo segundo. Eu tentei ajustar as configurações de buffer de aplay
sem sucesso: o efeito não está relacionado ao buffering.
Isso funciona:
aplay /mnt/annie-honestly.wav
Mas isso exibe o estranho efeito de eco:
aplay -Dplug:dmix /mnt/annie-honestly.wav
Eu tentei pesquisar o problema no Google, mas não sei ao certo como chamar o efeito / problema, e não encontrei nada na enxurrada de outros problemas da ALSA.
P.S. Linux v3.18.24, ALSA-lib / -utils v1.0.29. O hardware: FreeScale i.MX35 com o chip de som SGTL5000 (usado no modo 48KHz).