cpthorn: (Default)
[personal profile] cpthorn
Спробуємо встановити оптимальні налаштування звукових систем ALSA та PulseAudio на Linux. По замовчанню PulseAudio ресемплює все до 16 біт і 48 КГц, а також використовує алгоритм, який оптимізований для швидкості і мінімального використання ресурсів процесора. В принципі це має сенс, особливо для малопотужних лептопів із вбудованою звуковою картою, де якість звуку не настільки важлива, як використання батареї. Але якщо у вас достатньо якісна звукова карта і потужний процесор, то варто звернути увагу на ці налаштування, ви не будете розчаровані результатом.

Отже, перше, що вам потрібно зробити - це створити конфігураційний файл ~/.asoundrc для ALSA, який повинен містити наступні рядки:

defaults.pcm.rate_converter "samplerate_best"
defaults.pcm.dmix.!rate 96000
defaults.pcm.dmix.!format S32_LE


Також рекомендується використовувати користувацькі конфіги Pulseaudio замість системних конфігів, хоча це не обов'язково, ви можете редагувати загальносистемні файли якщо у вас є права:

cp /etc/pulse/daemon.conf ~/.config/pulse/daemon.conf
cp /etc/pulse/default.pa ~/.config/pulse/default.pa


Відредагуйте конфігураційний файл /etc/pulse/daemon.conf (~/.config/pulse/daemon.conf) для PulseAudio, змінивши ці три рядки (розкоментуйте їх якщо вони закоментовані):

resample-method = soxr-vhq
default-sample-rate = 96000
default-sample-format = s32le
avoid-resampling = false


Список встановлених ресемплерів можна вивести командою "pulseaudio --dump-resample-methods". Далі перезапустіть процеси ALSA та PulseAudio ("alsactl restore; pulseaudio -k; pulseaudio --start") або просто перезавантажте операційну систему. Тепер у вас буде роздільність звуку 32 біта і автоматичний ресемплінг аудіо файлів до 96 КГц, здійснений якісним алгоритмом soxr-vhq. Якщо у вашій збірці Pulseaudio відсутній ресемплер soxr-vhq, то замініть його на speex-float-10, який дає приблизно таку саму якість звуку. Зміни на краще помітні неозброєним вухом, звісно якщо програвати треки з достатньо високим бітрейтом або FLAC. Ще одна корисна команда для отримання інформації про ваші звукові карти: "pacmd list-sinks", де можна перевірити зроблені вами налаштування. Якщо використання процесора і батареї є критичним, то вам тоді треба встановити значення defaults.pcm.rate_converter "samplerate_medium" в ALSA і "resample-method = speex-float-5" в PulseAudio, можливо ви навіть не помітите різниці.

Для того щоб уникнути агресивного ресемплінгу, який не всім подобається, але в той же час отримати якісний звук, вам також підійдуть наступні налаштування:

defaults.pcm.rate_converter "samplerate_best"
defaults.pcm.dmix.!rate 48000
defaults.pcm.dmix.!format S32_LE

resample-method = soxr-vhq
default-sample-rate = 48000
default-sample-format = s32le
avoid-resampling = true


З параметром alternate-sample-rate треба бути обережним, він іноді викликає проблеми (проблему помічено на дистрибутиві Fedora). Але якщо з ним проблем немає, то можете дати йому значення 44100.

Кілька додаткових налаштувань для використання сабвуферу низьких частот на звуковій системі, яка підтримує 5.1 (LFE remixing). Всі частоти нижче 80 Герц будуть надсилатись на сабвуфер, це значення рекомендується встановлювати від 80 до 120. Увага - не чіпайте ці параметри якщо у вас звичайні стерео-колонки.

enable-remixing = yes
remixing-use-all-sink-channels = yes
remixing-produce-lfe = yes
remixing-consume-lfe = yes
lfe-crossover-freq = 80


Також додайте цей рядок до /etc/pulse/default.pa (~/.config/pulse/default.pa)

load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

Pipewire поки що не виправдовує надії і сподівання, і дає звук досить низької якості, навіть з resample.quality = 10 у конфігураційних файлах /etc/pipewire/client.conf та /etc/pipewire/pipewire-pulse.conf. Поки звук на Pipewire не покращиться, найкраще рішення - це повернутись до Pulseaudio як дефолтної звукової системи. Для того щоб перемкнутись з Pipewire на Pulseaudio у дистрибутиві Fedora вам потрібно виконати команду:

sudo dnf swap --allowerasing pipewire-pulseaudio pulseaudio

Для уникнення проблем зі зникаючим звуком закоментуйте наступний рядок у конфігу /etc/pulse/default.pa (~/.config/pulse/default.pa):

#load-module module-suspend-on-idle

Ще кілька корисних джерел, присвячених темі звуку на Linux:
- http://mclements.net/blogWP/index.php/2020/06/30/high-res-audio-on-ubuntu/
- https://swaroop-m.medium.com/beginners-guide-for-better-audio-quality-in-linux-d41de6f35a14

Profile

cpthorn: (Default)
cpthorn

August 2023

S M T W T F S
  12345
6789101112
13141516171819
202122 23 24 2526
2728 293031  

Style Credit

Page generated Jan. 26th, 2026 04:17 am
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags

Most Popular Tags