Corrupção/eco de som ao tentar usar alsa dmix

Corrupção/eco de som ao tentar usar alsa dmix

Em um sistema embarcado, descobri que apenas um aplicativo pode usar a placa de som simultaneamente. Até onde sei, para resolver o problema, o ALSA fornece o dmixplug-in para realizar a mixagem 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, me deparei com um problema. Ao reproduzir um arquivo de áudio (estéreo, 16 bits, 44,1 KHz), o áudio parece se sobrepor a si mesmo, em um estranho efeito de eco, com o número de ecos crescendo como uma bola de neve mais adiante no tempo de reprodução. (Já após 10 segundos de reprodução, o som "se intensifica" a ponto de ter que interrompê-lo por medo de danos permanentes ao alto-falante.)

Pela minha percepção, apenas o primeiro segundo do áudio é reproduzido normalmente, e a estranheza começa por volta do segundo segundo. Tentei ajustar as configurações de buffer aplaysem sucesso: o efeito não está relacionado ao buffer.

Isso funciona:

aplay /mnt/annie-honestly.wav

Mas isso exibe o estranho efeito de eco:

aplay -Dplug:dmix /mnt/annie-honestly.wav

Tentei pesquisar o problema no Google, mas nem tenho certeza de como chamar o efeito/problema e não encontrei nada na enxurrada de outros problemas do ALSA.

PS Linux v3.18.24, ALSA-lib/-utils v1.0.29. O hardware: FreeScale i.MX35 com chip de som SGTL5000 (usado no modo 48KHz).

informação relacionada