Улучшаем качество звука на Linux (Pulseaudio)

Задался на выходных вопросом улучшения качества воспроизводимого звука на Linux. На ноутбуке установлена звуковая карта с Double Home Theater, под Windows есть возможность установить драйвера Double Home Theater v4, которые заметно улучшали качество звучания. На выходных появилось свободное время и решил провести разведку этого вопроса. И вот что накопал:

По умолчанию, после установки Ubuntu настройки звука выставлены в плохое качество, для улучшения необходимо внести корректировки в конфиг демона Pulse.

1. Открываем конфиг (потребуются права sudo):

sudo nano /etc/pulse/daemon.conf

2. Меняем значение параметров resample-method и default-sample-format, если эти строки закоментированны (перед ними стоит знак “;”), их необходимо раскоментировать:

resample-method = src-sinc-best-quality
default-sample-format = float32ne

Доступные значения для resample-method: src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, trivial, speex-float-N, speex-fixed-N, ffmpeg.

Примечание: N – число от 1 до 9, чем выше число, тем выше качество

Доступные значения для default-sample-format: u8, s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le, float32be, ulaw, alaw.

Внимание: метод src-sinc-best-quality сильно нагружает CPU, поэтому в качестве альтернативы можно попробовать значения src-sinc-medium-quality или speex-float-N со значением N от 5 до 7. Если появились хрипы во время воспроизведения звука, пробуйте менять значение атрибута resample-method на более простой алгоритм, а для значения default-sample-format устанавливать значение более низкой дискретизации.

Настройки по умолчанию: CD quality: 16bit, 2 channels, 44100 Hz.

Если планируется воспроизводить аудиофайлы с большей частотой, можно так же изменить частоту, переопределив следующие параметры:

default-sample-rate = 44100
alternate-sample-rate = 48000

3. По завершению редактирования перезапускаем демона и наслаждаемся проделанной работой:

pulseaudio --kill && pulseaudio --start