为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
检测音频情况
发现mpd正在以96000Hz和32位输出即可。
一般来说,linux还会重采样的,只能说调了个乐呵。。。。