LINUX.ORG.RU

Отследить PCM-канал микшера


0

0

Ситуация следующая. У меня стоит внешняя звуковая карта, контролируемая драйвером snd_ymfpci. Все замечательно, но при задании уровня канала PCM в микшере более 0dB карта начинает шипеть. Поэтому, чтобы не было такого эффекта, я во всех программах, которые связаны со звуком, использую канал Master. Но какая-то бяка все равно добирается до PCM и делает с ним все, что хочет.

Отсюда два вопроса:

1) Можно ли отследить, какая бяка меняет громкость PCM? Если да, то как это сделать?

2) Можно ли наложить ограничение на PCM, например, максимум до 0dB? Если нет, то можно ли как-нибудь совсем заблокировать этот канал?


Ответ на: комментарий от kilolife

Спасибо. Вот только можно поточнее: где, чаво и как?

Ибо порылся в документации alsa и в гугле и нарыл только опцию nonblock (которая влияет только на открытие звуковой карты и совместную работу) и плагин Soft Volume (который, если я правильно понимаю, является программным и никакого отношения к Master и PCM не имеет)

DiGital
() автор топика
Ответ на: комментарий от DiGital

>... и плагин Soft Volume...

Кстати, как вариант. Сделать софтовый PCM каналом по умолчанию а железные PCM и Master выставить на требуемый максимум. Типа так (конец /etc/asound.conf):

Для карточек не имеющих аппаратного микширования:

pcm.!default {
type softvol
slave.pcm {
type dmix
ipc_key 9818
slave.pcm "hw:0"
}
control {
name "Soft"
card Ваша_карта
}
resolution 101
}

Для карточек с аппаратным микшированием:

pcm.!default {
type softvol
slave.pcm "0"
control {
name "Soft"
card Ваша_карта
}
resolution 101
}

Ну, и регулировать громкость каналом c Названием "Soft".

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

Ругается. Что-то я неправильно сделал. Но, честно говоря, вариант с софтовым каналом мне не очень нравится...

DiGital
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.