LINUX.ORG.RU

Где читать про .asoundrc?

 , ,


1

1

Хотел себе прикрутить softvol и alsaequal.

В конце концов удалось:

pcm.!default{
    type plug
    slave.pcm plugequal
}

ctl.equal {
	type equal;
}

pcm.plugequal {
	type equal;
	slave.pcm "plug:softvol";
}

pcm.softvol{
    type softvol
    slave.pcm "plug:dmix"
    control {
        name "Pre-Amp"
        card 0
    }
    min_dB -5.0
    max_dB 20.0
    resolution 6
}

Конфиг менял методом ненаучного тыка, нормального описания конфига не нашел.

В частности не понимаю:

  • чем plug:softvol отличается от softvol. Почему если в softvol написать slave.pcm dmix - всё работает, а если в plugequal slave.pcm softvol (без plug:) - все перестает работать?
  • Что означает !?
  • Что делает ctl.equal {type equal}?
  • Правда ли что slave.pcm abc то же самое что и slave {pcm abc}?

Что почитать?

★★★★★

Что почитать?

https://www.alsa-project.org/wiki/Asoundrc

И гуглить. Вопросы возникают у всех, поэтому объяснения разбросаны по блогам.

plug

Это плагин, который называется plug. Он делает ресемплинг, адаптируя частоты и форматы семплов.

(без plug:) - все перестает работать?

Оно будет работать, если все приложения, издающие звук будут выдавать его в одинаковом формате, совпадающим с форматом, в котором softvol ожидает данные. Обычно это не так, поэтому «не работает».

Что означает `!`?

Я подозреваю, что это означает: «забыть старое определение, использовать вот это новое».

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Пока нашел ссылки:

Я подозреваю, что это означает: «забыть старое определение, использовать вот это новое».

Хм. Такое мне в голову не приходило. А поведение без ! - расширение существующего определения?

Tanger ★★★★★ ()

К сожалению, то, что есть вот здесь — наиболее подробная справка. Ещё что-то можно почерпнуть из исходников и примеров конфигурации.

Про plug и ! уже объяснили. ctl.equal {type equal} создаёт устройство управления на основе плагина equal. Последнее — да, записи идентичны.

anonymous ()