PipeWire 無損音樂播放設定

2023-07-28

這設定只適用於 PipeWire,所以先確認沒有用錯其他音效系統

> pactl info

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 860
Tile Size: 65472
User Name: auphone
Host Name: arch
Server Name: PulseAudio (on PipeWire 0.3.75)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_01_00.1.hdmi-stereo
Default Source: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
Cookie: 0d8d:39cb

PulseAudio (on PipeWire 0.3.75) 可見正在使用 PipeWire,如果只有 PulseAudio 表示沒有在使用,為免混亂可以移除 PulseAudio 然後重新安裝 PipeWire 確保不會誤用其他音效系統

修改 PipeWire 設定檔案

我們需要修改 pipewire.conf,首先把它複製到 /etc/pipewire

cp /usr/share/pipewire/pipewire.conf /etc/pipewire

然後修改 /etc/pipewire/pipewire.conf,我目前常用的 Qobuz 串流軟件最多只會用到 192kHz ,但我的 Fiio K5 Pro 支援更高頻率所以加多一些選項也不壞

context.properties = {
  ...
  default.clock.allowed-rates = [ 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000 ]
  ...
}

儲存後重新啟動 PipeWire

systemctl restart --user pipewire.service
systemctl restart --user pipewire-pulse.service

使用 bit-perfect 軟件測試

我個人是使用 wine-staging 安裝 Windows 版的 Qobuz,然後播放 24bit/192kHz 音樂作測試,K5 Pro 的燈號有成功隨著不同樂曲的音質而轉變。如果沒有訂閱 Qobuz 也可以用其他免費軟件例如 strawberry 播放無損檔案,至於在 Chrome 使用 Web Player 播放則暫未成功過

Fiio K5 Pro playing CD quality music 播放CD 16bit/44.1kHz時的燈號

Fiio K5 Pro playing Lossless music 播放Lossless 24bit/192kHz時的燈號

後記

我覺得 Linux 的音效系統真的很複雜啊,感覺每次需要設定的時候都無從入手,就不能簡單給一個統一的 GUI 讓我設定嗎?而且想找一個可以播放無損的串流平台也是一件很困難的事情,幸好音質最佳的 Qobuz 可以在 Linux 順暢地運行,真希望 Apple / Tidal 這些公司能關注一下 Linux 用戶呢~