суббота, 4 июля 2015 г.

Гайд по настройке PulseAudio. Часть 2.

В первой части, мы рассмотрели распространённые способы настройки звукового сервера PulseAudio. В продолжении, мы рассмотрим способы устранения возможных проблем со звуком, которые также могут пригодится для профилактики.



 

1) Заикается звук при воспроизведении фильмов, музыки или игр.


В файле /etc/pulse/daemon.conf найдите строку ; realtime-scheduling = yes. Присвойте ей значение no и удалите точку с запятой. Перезапустите PulseAudio командой pulseaudio -k


2) Автоматическая настройка микрофона при подключении web камеры.


Если у вас скайп периодически теряет веб камеру, что лечится простым переподключением в usb, но поскольку web-камера ещё и микрофон, то слетает настройка микрофона в pulseaudio. Чтобы не обременять пользователя постоянным администрированием pulseaudio, можно сделать скрипт. При подключении udev запустит скрипт который назначит микрофон от вебкамеры основным. Приведу голые скрипты (если файл не существует то создаём его):

/etc/udev/rules.d/90-webcam_mic.rules 

#SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="09c1", RUN+="/usr/bin/setsid /usr/local/bin/webcammic_udev"
SUBSYSTEM=="sound", KERNEL=="card1", ACTION=="change", RUN+="/usr/local/bin/webcammic_udev"
 
/usr/local/bin/webcammic_udev 
 
#!/bin/sh
/usr/local/bin/webcammic &
 
/usr/local/bin/webcammic 
 
#!/bin/sh
sleep 5
su linux_user -c "echo \"set-default-source alsa_input.usb-046d_09c1-02-U0x46d0x9c1.analog-mono\" | pacmd"
 
где alsa_input.usb-046d_09c1-02-U0x46d0x9c1.analog-mono - это имя микрофона в pulseaudio linux_user - логин вашего простого пользователя.
такая связка нужна чтобы запустить webcammic в фоне, дождаться пока появится устройство в Pulseaudio и только тогда менять настройку.

Чтобы узнать как называется ваш микрофон можно использовать команд


pactl list sources
 

3) Отсутствие устройств воспроизведения или захвата звука

 
Если после обновления или спустя некоторое время Pulseaudio перестал 
правильно определять входные/выходные устройства и источники, попробуйте
очистить конфигурационные файлы pulseaudio. Для этого удалите папки:
~/.pulse, ~/.pulse-cookie и /tmp/.esd-* .
Принудительно завершите процесс pulseaudio командой:
sudo killall -9 pulseaudio
Затем запустите:
pulseaudio --start
 

4) Хрипы и прерывания звука

 
Если на маломощной машине возникают хрипы, то в /etc/pulse/daemon.conf пропишите следующее:
high-priority = no
nice-level = -1
realtime-scheduling = yes
realtime-priority = 5
flat-volumes = no
resample-method = speex-float-1
default-sample-rate = 48000
 

5) Прерывание воспроизведения в Amarok при запущенном Skype

 
Закомментируйте или удалите строчку в /etc/pulse/default.pa
load-module module-cork-music-on-phone
 

6) Непомерное использование ресурсов процессора и искажения

 
Добавьте строчку в /etc/pulse/default.pa
load-module module-udev-detect tsched=0
 

7) Низкий уровень звука или тихий звук

 
Добавьте строчку в /etc/pulse/daemon.conf :
flat-volumes = no
 

8) Нет звука после выхода из спящего режима.

 
Звук работал нормально, но после выхода системы из спящего режима, отсутствует, перезагрузите Pulse:
/usr/bin/pasuspender /bin/true
 

9) Шумоподавитель для микрофона в skype

 
Сначала проверим работу фильтра.
Запускаем skype с дополнительной переменной
PULSE_PROP="filter.want=echo-cancel" skype
Вписываем в /etc/pulse/default.pa для автозапуска при старте pulseaudio 
### Шумоподавитель
load-module module-echo-cancel source_name=noechosource sink_name=noechosink
set-default-source noechosource
 

10) Не работает микрофон в Steam со включённой опцией enable-remixing = no

 
При включении данной опции, микрофон может перестать работать в таких приложениях как Skype
и Steam. Это происходит потому, что эти приложения захватывают микрофон только в режиме моно,
а так как микширование отключено, Pulseaudio больше не будет смешивать стереосигнал в моно. Чтобы это происходило, нужно:
Определить имя источника:
sudo pacmd list-sources
   index: 2
       name: <alsa_input.pci-0000_00_14.2.analog-stereo>
       driver: <module-alsa-card.c>
       flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
Добавить правило в /etc/pulse/default.pa, используя имя источника из предыдущей команды
(в нашем случае alsa_input.pci-0000_00_14.2.analog-stereo)
/etc/pulse/default.pa
### Remap microphone to mono
load-module module-remap-source master=alsa_input.pci-0000_00_14.2.analog-stereo master
channel_map=front-left,front-right channels=2 channel_map=mono,mono
Перезапустить PulseAudio
sudo pulseaudio -k  
 
Ссылки: Arch Wiki
             Ubuntu Wiki
 
 

Комментариев нет:

Отправить комментарий