На встроенной системе я обнаружил, что только одно приложение может использовать звуковую карту одновременно. Насколько мне известно, для решения этой проблемы ALSA предоставляет плагин dmix
для выполнения микширования в пользовательском пространстве, и таким образом позволяет нескольким приложениям совместно использовать звуковую карту.
Пытаясь разобраться, как использовать dmix
, я наткнулся на проблему. При воспроизведении аудиофайла (стерео, 16 бит, 44,1 кГц) звук как будто накладывается сам на себя, создавая странный эффект эха, причем количество эхо растет как снежный ком по мере воспроизведения. (Уже через 10 секунд воспроизведения звук «усиливается» до такой степени, что мне приходится его останавливать из-за страха необратимого повреждения динамика.)
По моему восприятию, только первая секунда аудио воспроизводится нормально, а странности начинаются где-то со второй секунды. Я пытался настроить параметры буферизации, но aplay
безуспешно: эффект не связан с буферизацией.
Это работает:
aplay /mnt/annie-honestly.wav
Но здесь виден странный эффект эха:
aplay -Dplug:dmix /mnt/annie-honestly.wav
Я пытался найти эту проблему в Google, но даже не уверен, как назвать эффект/проблему, и не нашел ничего среди множества других проблем ALSA.
PS Linux v3.18.24, ALSA-lib/-utils v1.0.29. Аппаратная часть: FreeScale i.MX35 со звуковым чипом SGTL5000 (используется в режиме 48КГц).