Наброски по поднятию alsa с удалением pulseaudio
(Вариант I), (на пакетной базе SL6 DVD5, без aserver; p6/t6 платформа)
# Предполагается звук pulseaudio поднимал:
#
# lsmod | grep snd
snd_hda_codec_analog 66402 1
snd_hda_intel 20792 2
snd_hda_codec 78885 2 snd_hda_codec_analog,snd_hda_intel
snd_hwdep 4522 1 snd_hda_codec
snd_pcm 69074 2 snd_hda_intel,snd_hda_codec
snd_page_alloc 6824 2 snd_hda_intel,snd_pcm
snd_seq_midi 4172 0
snd_rawmidi 16438 1 snd_seq_midi
snd_seq_midi_event 5783 1 snd_seq_midi
snd_seq 43295 2 snd_seq_midi,snd_seq_midi_event
snd_timer 17227 2 snd_pcm,snd_seq
snd_seq_device 5270 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 46163 13 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 840 1 snd
# apt-get remove pulseaudio-daemon alsa-plugins-pulse pulseaudio-utils
# Не удалять!!!
#
# rpm -qa|grep pulse
libpulseaudio-0.9.22-alt3
# apt-get install libalsa alsa-utils alsa-oss
# mkdir /var/lib/alsa/
# touch /var/lib/alsa/asound.state
# Пользователь в группе audio?
#
# cat /etc/group|grep audio
#
# Если нет, то
#
# gpasswd -a USERNAME audio
# alsactl init
# Чем владеем?
#
# amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'Headphone',0
Simple mixer control 'PCM',0
Simple mixer control 'Front',0
Simple mixer control 'Front Mic',0
Simple mixer control 'Front Mic Boost',0
Simple mixer control 'Surround',0
Simple mixer control 'Center',0
Simple mixer control 'LFE',0
Simple mixer control 'Side',0
Simple mixer control 'Line',0
Simple mixer control 'CD',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958 Default PCM',0
Simple mixer control 'IEC958 Playback Source',0
Simple mixer control 'Beep',0
Simple mixer control 'Mono',0
Simple mixer control 'Capture',0
Simple mixer control 'Capture',1
Simple mixer control 'Capture',2
Simple mixer control 'Analog Mix',0
Simple mixer control 'Input Source',0
Simple mixer control 'Input Source',1
Simple mixer control 'Input Source',2
# Готовим общесистемные настройки для restore
#
# amixer set Master 12% unmute
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 39
Mono: Playback 7 [18%] [-48.00dB] [on]
# amixer set PCM 97% unmute
Simple mixer control 'PCM',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 248 [97%] [-1.40dB]
Front Right: Playback 248 [97%] [-1.40dB]
# amixer set Front 97% unmute
Simple mixer control 'Front',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 39
Mono:
Front Left: Playback 38 [97%] [-1.50dB] [on]
Front Right: Playback 38 [97%] [-1.50dB] [on]
# amixer set Beep 0% mute
Simple mixer control 'Beep',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 15
Mono: Playback 0 [0%] [-45.00dB] [off]
# amixer set Headphone unmute
Simple mixer control 'Headphone',0
Capabilities: pswitch penum
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
# alsactl -f /var/lib/alsa/asound.state store
# Готовим индивидуальные пользовательские настройки для restore
# (или через alsamixer)
#
$ amixer set Master 17% unmute
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 39
Mono: Playback 7 [18%] [-48.00dB] [on]
$ amixer set PCM 97% unmute
Simple mixer control 'PCM',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 248 [97%] [-1.40dB]
Front Right: Playback 248 [97%] [-1.40dB]
$ amixer set Front 97% unmute
Simple mixer control 'Front',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 39
Mono:
Front Left: Playback 38 [97%] [-1.50dB] [on]
Front Right: Playback 38 [97%] [-1.50dB] [on]
$ amixer set Beep 0% mute
Simple mixer control 'Beep',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 15
Mono: Playback 0 [0%] [-45.00dB] [off]
$ amixer set Headphone unmute
Simple mixer control 'Headphone',0
Capabilities: pswitch penum
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
$ touch ~/.asoundrc
# Сохранить текущие индивидуальные пользовательские настройки
#
$ /usr/sbin/alsactl store -f ~/.asoundrc
# Восстановление настроек на старте
#
$ echo "/usr/sbin/alsactl restore -f ~/.asoundrc" >> ~/.bash_profile
Тестконтроль:# reboot
# init 2
$ mplayer Про\ хакеров.mp3
MPlayer 32772-4.5.1 (C) 2000-2011 MPlayer Team
161 audio & 351 video codecs
Playing Про хакеров.mp3.
Cache fill: 0.00% (0 bytes)
Audio only file format detected.
Load subtitles in ./
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 6.2 (06.2) of 194.0 (03:14.0) 1.2% 53%
Exiting... (Quit)
Замена pulseaudio на alsa
(Вариант II. С udev-alsa, alsa-utils, libalsa. p6/t6 платформа)
(На пакетной базе SL6 DVD5, - требуется подключение к интернет (текущая сборка beta3))
(Feature request на компонент udev-alsa отправлен в багзилла. Наличие в dvd5 ждем в следующем релизе.)
Проверить, что ядерные модули alsa загружены:
# lsmod | grep snd
snd_hda_codec_analog 66402 1
snd_hda_intel 20792 2
snd_hda_codec 78885 2 snd_hda_codec_analog,snd_hda_intel
snd_hwdep 4522 1 snd_hda_codec
snd_pcm 69074 2 snd_hda_intel,snd_hda_codec
snd_page_alloc 6824 2 snd_hda_intel,snd_pcm
snd_seq_midi 4172 0
snd_rawmidi 16438 1 snd_seq_midi
snd_seq_midi_event 5783 1 snd_seq_midi
snd_seq 43295 2 snd_seq_midi,snd_seq_midi_event
snd_timer 17227 2 snd_pcm,snd_seq
snd_seq_device 5270 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 46163 13 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 840 1 snd
Удалить pulseaudio:
# apt-get remove pulseaudio-daemon alsa-plugins-pulse pulseaudio-utils
Установить alsa:
# apt-get install udev-alsa alsa-utils libalsa alsa-oss
Настройка. Дополнительно.Инициализация :
# alsactl init
Found hardware: "HDA-Intel" "Analog Devices AD1988" "HDA:11d41988,104381e1,00100400" "0x1043" "0x81ec"
Hardware is initialized using a generic method
Настройка каналов:
xfce4-mixer
или
$ alsamixer -V all
или:
Установить уровни и состояния:
$ amixer set Master 17% unmute
$ amixer set PCM 97% unmute
$ amixer set Front 97% unmute
$ amixer set Beep 0% mute
$ amixer set Headphone unmute
Посмотреть список каналов:
$ amixer scontrols
Посмотреть уровни, состояния и пределы диапазонов:
$ amixer scontents
Текущие уровни сохраняются при разгрузке операционной системы и восстанавливается при загрузке.
Вариант III
(Связка udev-alsa + aserver)
Полезное дополнение к материалу:The OpenNET Project: Подключение нескольких звуковых плат через ALSA
http://ua.opennet.ru/tips/2368_alsa_sound_hardware.shtmldebian-russian-debian - Re: 2nd sound card - msg#00150
http://osdir.com/ml/debian-russian-debian/2010-03/msg00150.htmlОтдыхаемВариации на тему Две звуковые карты:Обращаем внимание в списке аудио девайсов/субдевайсов на значение card/device (это и есть значение hw:n.m):
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: AD198x Digital [AD198x Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: AudioPCI [Ensoniq AudioPCI], device 1: ES1371/2 [ES1371 DAC1]
Subdevices: 0/1
Subdevice #0: subdevice #0
'Card 0' обычно дефолтное, если вы не сменили оное в /etc/modprobe.d/sound или как-то ещё локально.
Соответственно, чтобы не мешать гостям, берём удлиннитель аудио для наушников, присоединяем к карте "1", и через shell расслабляемся слушая музыку.
Проигрывание потокового аудио через:
Аудиосервер alsa, звуковая карта '1', device '1' (см. номера card/device в выводе 'aplay -l' выше):
$ mplayer -nocache -ao alsa:device=hw=1.1 http://stream-hautdebit.frequence3.net:8000
Проигрывание потокового аудио через:
Аудиосервер pulseaudio, звуковая карта '1':
$ mplayer -nocache -ao pulse::1 http://pub1.di.fm:80/di_trance
см. номер карты в выводе
$ aplay -l
выше, или:
$ cat /proc/asound/cards
Соответственно то же самое, но через звуковую карту '0' выглядит как:
$ mplayer -nocache -ao alsa:device=hw=0 http://relay.181.fm:8130
$ mplayer -nocache -ao pulse::0 http://nl2.ah.fm:9000
Управление звуком через amixer было уже рассмотрено в двух вариантах.
И даже в трёх, если считать и alsamixer.
Выбирайте тот, который вам более удобен.
В частности управление картой '1'.Посмотреть состояние 'Master' на карте '1':
$ amixer -c1 get Master
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 10 [32%] [-31.50dB] [on]
Front Right: Playback 10 [32%] [-31.50dB] [on]
Установить 'Master' на карте '1':
$ amixer -c1 set Master 20%
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 7 [23%] [-36.00dB] [on]
Front Right: Playback 7 [23%] [-36.00dB] [on]
$ amixer -c1 set Master 20
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 20 [65%] [-16.50dB] [on]
Front Right: Playback 20 [65%] [-16.50dB] [on]
Предупреждение!Если из системы Вы не удаляли pulseaudio, то команда без опции-параметра принудительно задающего номер карты
$ amixer set Master 12
изменяет уровень Master pulseaudio.
Даже если у вас одна звуковая карта, если вы хотите управлять непосредственно картой, использовать опцию-параметр обязательно
P.S.
Конструктивные пинки приветствуются...
Дополнено:Воспроизведение аудио в mplayer с pulseaudio через произвольную звуковую карту.Сопутствующее:
Подробнее об amixer: Решаем проблему: звук в колонках, звук в гарнитуреПодробнее об amixer (II); Разруливаем проблему: звук в колонках, звук в гарнитуреГорячее подключение usb-audio гарнитуры в системе с alsa