Несколько источников звука на одном устройстве ALSA на разных скоростях

429
Milan van Dijck

Я создаю аудио-стример на основе Linux для высококачественного звука. У меня есть несколько приложений, которые я хочу иметь доступ к аудиоустройству одновременно. (вроде демона shairport-sync, roon и music player)

Я нашел плагин dmix для ALSA, который позволяет смешивать два потока звука в одном аудиоустройстве. Однако, dmix требует, чтобы я определял частоту дискретизации при определении устройства dmix, и мне нужно, чтобы частота дискретизации была переменной в зависимости от частоты дискретизации, которая выводится из источника.

Есть ли плагин, который позволяет переключаться между входами? Или я что-то упустил в dmix?

0
PulseAudio делает это автоматически, основываясь на частоте дискретизации первого потока. CL. 5 лет назад 2
Во-вторых, я бы использовал PulseAudio для передискретизации / транспортировки - гораздо проще в настройке dirkt 5 лет назад 1

1 ответ на вопрос

1
Ricardo Biehl Pasquali

Вы должны использовать скорость (скорость преобразования) или плагин (автоматическое преобразование) плагинов. Смотрите список плагинов alsa-lib .

Конфигурация должна быть сделана в файле конфигурации alsa-lib, расположенном в home ( .asoundrc) пользователя.

Темп

Этот плагин преобразует скорость потока. Форматы ввода и вывода должны быть линейными.

Пример использования:

pcm.<name> { type rate slave <slave_name> } 

штепсель

Этот плагин конвертирует каналы, скорость и формат по запросу.

Пример использования:

pcm.<name> { type plug slave <slave_name> } 

Пример использования dmix и плагинов для автоматического преобразования

# Overwrites 'default' pcm.!default { type plug slave.pcm "dmixer" }  pcm.dmixer { type dmix ipc_key 1024 # Any unique value for Interprocess Communication slave { pcm "hw:1,0" period_size 1024 buffer_size 4096 rate 44100 } } 

Похожие вопросы