[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ALSA: настройка уровней каналов сбразывается при проигрывании vlc/mplayer2



Моя встроеная звуковая карта имеет 6 разьемов.

Хотел звук разделить на 2 источника - усилитель и наушники. Усилитель иногда
выключен - альтернативно использовать наушники.

Можно мучится с Intel HDA чипами, настраивая DSP через:

  $ sudo apt-get install alsa-tools-gui
  $ hdajackretask

Я там нифига не понял.

Далее думал приобрести/спаять сплитер, но мне не ясно с безопасностью такого
решения.

К моему удивлению по умолчанию ALSA сконфигурирована работать в режиме стерео
и дублирует аудио сигнал по всем выходам.

Т.е. я воткнул усилитель в один разьем, наушники в другой.

Ране не понимая я подстроил уровень Master под принятный для усилителя.

В alsamixer можно независимо устанавливать уровень для каждого разьема.

Для наушников - было очень громко и я подбором определил нужный канал и
понизил уровень.

Замечаю что в наушниках все равно очень громко.

Я грешил на pulseaudio и выпилял его к чертям. Но проблема оказалось в другом.
 
При запуске vlc/mplayer - они сбрасывают уровни всех out каналов, оставляя
только Master нетронутым.

При работе проигрывателя настройки alsamixer применятся тут же и не
сбравываются. При изменении громкости в плеере - alsamixer отображает что
Master канал изменяет уровень соответственно.

И мне кажется что менять Master через плеер - также паганая практика.

Как можно запретить менять настройки индивидуальных каналов плеерам
(vlc/player2/браузерный HTML5)?

Можно сделать какой то софтверный/апаратный миксер - где бы мешалися звуковой
вывод программ?

pulseaudio как раз таким занимался, сохраняя настройки для каждого
"обознаного" приложения индивидуально. Но как я разбирался - он слишком
умничает, выставляя уровни каналов на все кроме Master в 100%.

На всяк случай:

  $ lsmod | grep snd_

  snd_usb_audio         180224  0
  snd_usbmidi_lib        32768  1 snd_usb_audio
  snd_hrtimer            16384  1
  snd_seq_midi           16384  0
  snd_seq_midi_event     16384  1 snd_seq_midi
  snd_rawmidi            32768  2 snd_usbmidi_lib,snd_seq_midi
  snd_seq                65536  3 snd_seq_midi_event,snd_seq_midi
  snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
  snd_hda_codec_via      20480  1
  snd_hda_codec_generic    73728  1 snd_hda_codec_via
  snd_hda_intel          36864  1
  snd_hda_codec         131072  3 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_intel
  snd_hda_core           65536  4 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
  snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
  snd_pcm_oss            49152  0
  snd_mixer_oss          24576  1 snd_pcm_oss
  snd_pcm               102400  5 snd_pcm_oss,snd_usb_audio,snd_hda_codec,snd_hda_intel,snd_hda_core
  snd_timer              32768  3 snd_hrtimer,snd_pcm,snd_seq
  snd                    86016  17 snd_pcm_oss,snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_via,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_mixer_oss

  $ lspci | grep -i Audio
  00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

================================================================

ЗЫ Порылся в

  https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture
  man alsactl
  man 7 alsactl_init
  /usr/share/alsa

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

Сохнанить настройки уровней - нету такого в man alsamixer.

Кто нибудь знаком с настройкой ALSA? Всунуть бы желаемый уровень по
умолчанию...

-- 
http://defun.work/


Reply to: