Конфигурационный файл демона PulseAudio, находится в /etc/pulse/daemon.conf. Вот его содержимое:
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out. Use either ; or # for
## commenting.
; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no
; high-priority = yes
; nice-level = -11
; realtime-scheduling = yes
; realtime-priority = 5
; exit-idle-time = 20
; scache-idle-time = 20
; dl-search-path = (depends on architecture)
; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa
; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0
# resample-method defaults to speex-float-1 on most architectures,
# speex-fixed-1 on ARM
; resample-method = speex-float-1
; enable-remixing = yes
; enable-lfe-remixing = no
; flat-volumes = yes
; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 1000000
; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right
; default-fragments = 4
; default-fragment-size-msec = 25
; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0
Строки, начинающиеся с # и ; являются закомментированными, и игнорируются. Поэтому для активации параметра, необходимо удалить перед ним точку с запятой. Полностью описывать каждую директиву не имеет смысла, так как это достаточно подробно описано в man-страницах. Остановимся на наиболее интересных:
high-priority - запуск демона с высоким приоритетом. Имеет смысл при разрывах в звуке или "шорохе".
nice-level - уровень приоритета. По умолчанию это -11 или -10 (зависит от дистрибутива). Чем меньше это число, тем более высокий приоритет получит демон.
realtime-scheduling - планировщик реального времени. Позволяет запустить демон с приоритетом реального времени.
realtime-priority - уровень приоритета реального времени.
resample-method - уровень частоты дискретизации. Данный параметр влияет на качество звука. По умолчанию стоит speex-float-1 - низкое качество при незначительной нагрузке на процессор.
flat-volumes - данная опция позволяет сохранять уровень громкости при старте приложений.
default-sample-format - ещё одна настройка, влияющая на качество воспроизведения. По умолчанию также установлено минимальное значение, для снижения использования процессора.
default-sample-rate - частота дискретизации по умолчанию.
default-sample-channels - количество звуковых каналов (2 = стерео).
default-channel-map - указывает название и расположение звуковых каналов.
default-fragments - размер буфера звуковой карты. По умолчанию настройки оптимальны для большинства звуковых карт, однако для некоторых желательно вычислить точное значение параметра. Об этом будет рассказано далее в статье.
default-fragment-size-msec - время (в миллисекундах) задержки при обработке звуковых фрагментов из буфера.
Настройка качества звука.
Если ваш процессор обладает достаточной мощностью, можно сильно улучшить качество звука через PulseAudio. Для этого откройте конфиг демона (/etc/pulse/daemon.conf), удалите точку с запятой перед следующими строками и укажите:
resample-method = src-sinc-best-quality
default-sample-format = float32le
Внимание: начиная с выпуска Pulseaudio 7, параметр src-sinc заменён на soxr-mq (среднее качество), soxr-hq (высокое качество) и soxr-vhq (очень высокое качество). Если у вас эти методы не работают - установите библиотеку libsoxr0.
Перезапустите демон:
pulseaudio -k
Настраиваем буфер звуковой карты.
Помните, я говорил, что можно указать размер буфера именно для своей звуковой карты? Сейчас мы его вычислим. Для начала нужно отключить PulseAudio:
echo autospawn = no >> ~/.config/pulse/client.conf
pulseaudio -k
Далее получаем значения:
LANG=C timeout --foreground -k 10 -s kill 10 pulseaudio -vvvv 2>&1 | grep device.buffering -B 10
sed -i '$d' ~/.config/pulse/client.conf
Вывод будет примерно таким:
I: [pulseaudio] source.c: alsa.long_card_name = "HDA Intel at 0xfa200000 irq 46"
I: [pulseaudio] source.c: alsa.driver_name = "snd_hda_intel"
I: [pulseaudio] source.c: device.bus_path = "pci-0000:00:1b.0"
I: [pulseaudio] source.c: sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
I: [pulseaudio] source.c: device.bus = "pci"
I: [pulseaudio] source.c: device.vendor.id = "8086"
I: [pulseaudio] source.c: device.vendor.name = "Intel Corporation"
I: [pulseaudio] source.c: device.product.name = "82801I (ICH9 Family) HD Audio Controller"
I: [pulseaudio] source.c: device.form_factor = "internal"
I: [pulseaudio] source.c: device.string = "front:0"
I: [pulseaudio] source.c: device.buffering.buffer_size = "768000"
I: [pulseaudio] source.c: device.buffering.fragment_size = "384000"
Нас интересуют значения device.buffering.buffer_size и device.buffering.fragment_size.По умолчанию частота дискретизации
равна 41000 и 16 бит. Будем исходить из этого. 41000*16=705600 бит в секунду.
Для стерео это будет 1411200 бит в секунду. Вычисляем значение буфера: 768000/1411200=0.544217687075=544.
Значение фрагментов: 384000/1411200=0.272108843537=272. Далее 544/272=2. Осталось записать полученные значения в конфиг.
default-fragments = 2
default-fragment-size-msec = 272
Далее запускаем демон:
pulseaudio -k
pulseaudio --start
сайт настройки-
http://linuxoidblog.blogspot.ru/2015/06/pulseaudio.html
откуда
https://launchpad.net/~yktooo/+archive/ ... /+packages
Индикатор звука-switcher_2.1.1ubuntu0-1_all.deb (33,7 KiB)