快轉到主要內容

Linux用PipeWire讓不同牌子的藍牙喇叭TWS串聯形成雙聲道

· 民國115年丙午年
·
切換繁體/簡體
分類 Linux系統 Linux使用技巧
標籤 PipeWire
目錄

DIY TWS stereo system using PipeWire and mixed Bluetooth speakers on Linux PC.

測試系統:Ubuntu 26.04

不同牌子的藍牙喇叭可以TWS互聯形成雙聲道嗎?

或者我們應該這樣問:電腦是否可以一對多,同時使用兩個藍牙喇叭播放音樂?

很多藍牙喇叭都只有單聲道,用電腦播放的時候雙聲道會自動合併成一個聲道。

賣藍牙喇叭的商家都會用我們支援TWS互聯喔~慫恿你買兩顆。基本上藍牙5.0的TWS串聯是限定同型號的才能這樣做,他們都把配對過程寫死在韌體了,因此不同品牌的藍牙喇叭不能互相連接。

但我偏偏就買了形狀各異的多個藍牙喇叭啊……

那我就在想,可不可以用Linux的PipeWire實現不同品牌藍牙喇叭播放呢,也就是一個喇叭左聲道一個右聲道,形成「軟體模擬TWS串聯」。

暫時不考慮同步率與音量差距問題。

是這樣的,Linux的PipeWire音訊伺服器提供自由度極高的audio routing功能,可以變更音訊輸出的目標,包括切割左右聲道。

因此就能達成如下效果,兩個大小不同的藍牙喇叭同時播放音樂,一左一右。

然後如果要修正音量不一致,再用EasyEffects微調。

不需要打指令操作,因為已經有很多可視化的PipeWire接線工具。

1. 安裝PipeWire接線工具
#

  1. 讓Linux同時配對兩個藍牙喇叭,此時只有一個喇叭能輸出音效。在KDE桌面應該會看到多個音效面板。

    1.webp

  2. Flatpak安裝qpwgraph這個接線工具,它會記住所有連接。

flatpak install flathub org.rncbc.qpwgraph
  1. 接著打開qpwgraph,拖動FR與FL的節點。

  2. 例如我這裡播放音樂的程式是Spotify,FL與FR兩個節點都接在S20這個藍牙喇叭上。

    c1.webp

  3. 點一下FL的線條,按Disconnect,解除連線。

    c2.webp

  4. 再拖動到FL另外一個BT255藍牙喇叭的FL,完成左右聲道分割。

    c3.webp

  5. 若你想要的是兩個喇叭同時播放音樂,那就不需要切割聲道。就直接把Spotify同時連接到兩個喇叭的節點就行了。

  6. 點選Patchbay → Save as,這樣下次重開機的時候就能快速載入規則。

2. 用明顯雙聲道的音樂測試效果
#

最著名的就是皇后樂團的波西米亞狂想曲啦,中間地獄合音的時候就能觀察到雙聲道切換的效果

Pink Floyd - Any Color You Like有左右切換的聲音

2015年重新混音過的Space Oddity可以清楚聽到不同時期Davie Bowie的嗓音!

3. 用EasyEffects微調效果
#

如果某顆喇叭聽起來太小聲,安裝EasyEffects調整音效。

但EasyEffect似乎不能指定裝置單獨套用效果。這個時候又得請出qpwgraph調整了。Easyeffects的Sink會夾在中間,一次只能對一個裝置套用。

d1.webp

4. 嘗試四聲道!?
#

串聯兩個以上藍牙喇叭或許可行。

有些電腦的音效卡支援多聲道設定檔,或者得用到JACK的Pro Audio了。

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。