为arch Linux开启高采样率

星期五, 1月 31, 2025 | 1分钟阅读 | 更新于 星期五, 1月 31, 2025

通过调整pipewire开启高采样率

配置pipewire

目前linux主流的音频框架已经进化为pipewire,它是低延迟且支持以前的音频框架的(如:Jack等)。 同时通过pipewire可以实现在wayland下实现屏幕共享。因此arch linux推荐使用此框架。 使用pacman安装以下软件包:

pacman -S pipewire
pacman -S pipewire-alsa
pacman -S pipewire-jack
pacman -S pipewire-audio
pacman -S pipewire-pulse
pacman -S pipewire-session-manager
pacman -S wireplumber

pipewire需要进行配置以实现高采样率,使用以下命令创建配置文件

cd ~/.config #进入配置文件夹
mkdir pipewire #创建pipewire配置文件夹
cd pipewire
mkdir pipewire.conf.d #创建配置文件夹
cd pipewire.conf.d
touch custom.conf #创建配置文件,可以使用任何名字

使用任何编辑器打开此配置文件,添加配置项到其中

context.properties = {
    default.clock.rate = 96000 #设置默认的采样率
    default.clock.allowed-rates = [ 48000 96000 192000 ] #设置可用的采样率
}

重要

我的耳机最高支持96000 Hz的采样率,如果有更好的设备当然可以使用更高的采样率

使用sytemctl重启pipewire的主要服务

systemctl --user restart pipewire
systemctl --user restart pipewire-audio
...

使用pactl info命令检测安装情况

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 249
Tile Size: 65472
User Name: aiser
Host Name: aiser
Server Name: PulseAudio (on PipeWire 1.2.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 96000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_06_00.6.analog-stereo
Default Source: alsa_input.pci-0000_06_00.6.analog-stereo
Cookie: 12ad:28e6

发现96000Hz的采样率已经被设置成功即可。

为播放器设置采样率

框架设置完成并不算完成了设置,为实现高音质播放,还需要播放器设置正确。 我使用rmpc+mpd作为音乐播放器,其中mpd为音乐播放的后端,因此需要设置mpd即可。

cd ~/.config/mpd #如果运行了mpd服务,这个目录会被自动创建,如果没有请使用mkdir创建
touch mpd.conf #创建配置文件

mpd需要设置几个关键的参数,包括music_directory,pid_file,db_file, state_file,playlist_directory,log_file, bind_to_address,port,audio_output。其中audio_output需要特殊配置一下

audio_output {
        type            "pipewire"
        name            "PipeWire Sound Server"

重启mpd

systemctl --user restart mpd

使用pw-top检测音频情况 pw-top 发现mpd正在以96000Hz和32位输出即可。 一般来说,linux还会重采样的,只能说调了个乐呵。。。。

© 2024 - 2025 Aiser's Blog

欢迎来到我的博客!

Me

我的名字是Aiser,这是我的博客