Raspberry Pi 的應用 - 連音響發燒友也愛用的音樂播放器:Volumio

by 7月 11, 2015 8 意見        

把 Raspberry Pi 拿來放音樂?! 你 ... 確定嗎???
幹嘛那麼麻煩? 這是你們這些阿宅才會這樣子做啦。
用 iPhone / iPod 來聽才夠潮啊,那塊電路板醜的要死,誰要用啊。
我們都嘛是用百萬級的音響來聽,這個境界是你們凡人不懂的啦。

如果你真的這樣子認為,那就太小看音響發燒友為了追求音質的極致所付出的努力了!!!
更新日期 - 2016/11/28

2016/10/15 官方已經釋出 2.0 版,請參閱 數位音樂播放器的再進化:Volumio 2

為什麼要自製播放器


以下是我這個木耳而且非發燒友,保證不客觀、不中肯的個人獨斷觀點。

雖然還是有很多發燒友認為真空管擴大機與黑膠唱片的類比訊號設備,才能呈現音樂最真實的面貌與細節,但不可否認的是,數位訊號早已經佔據了我們的世界,就算如此,人們追求極致音樂的心情卻從未改變。

大從視聽室的隔音、喇叭單體數量及位置的安排,小到線材接頭的材質、電力來源的純淨度,本來就無一不吹毛求疵,既然數位浪潮勢不可擋,數位訊源自然也成了顯學,但是如何讓數位訊源不用經過轉換,又容易分類管理,又可以支援無失真的檔案格式,最佳男主角當然就是電腦 (CAT,  Computer As Transport) 囉。

可是電腦也有許多令人難以克服的問題,CPU、主機板、SSD、電源供應器、音效卡、作業系統、播放程式 ... 等等的型號搭配與雜訊干擾問題,再加上體積龐大、耗電與價格高昂,實在稱不上是最佳解。

這時 35元美金的單板電腦 Raspberry Pi 橫空出世了,一來零組件單純,對訊號的干擾可以降到最低,二來價格便宜,體積又小又省電,三來作業系統與播放程式又容易客製化與最佳化,這不就是最好的選擇嗎?!


事前準備

  • Raspberry Pi Model B / B+ / 2B,Model A / A+ 須加上 USB 有線 / 無線網路卡。
  • Raspbian 作業系統。
  • 內建音效輸出的效果僅止於「有聲音」的程度,若是要有品質更好的音樂,建議添購 USB 音效卡、USB DAC、I2S DAC 來取代。
  • 喇叭。

什麼是 Volumio


Volumio 的前身是 raspyFi,這是一個特製的 Linux 發行版。

目標非常簡單,就是利用 Raspberry Pi 來完成一個簡單易用、效果又令人驚豔的數位音源播放器。

不管是用電腦、手機、平板都可以透過網頁介面輕鬆播放音樂。

音樂檔格式支援的格式有:常見的 MP3無損的 FLAC不壓縮的 WAV高壓縮比的 AACApple 的無損 ALAC有損壓縮的 Musepack 等格式。

我們可以把音樂檔儲存在隨身碟、NAS 或是連線到其他電腦去讀取,或是直接播放網路串流音樂平台 - Spotify 裡的音樂;如果音樂存在 iPhone / iPad / Mac 裡面的話,更可以透過 AirPlay 協定來播放音樂,Android 設備也有 DLNA 可以使用。

除了可以在 Raspberry Pi 上使用之外,還支援 UDOOCuBoxCuBox-IBeagleBone BlackCompulab UtiliteCubietruck 等等的 單板電腦

除了 Volumio 之外,其他類似的發行版還有 RuneAudio

以及 moOde Audio Player

安裝 Volumio


下載 Volumio 1.55


將這個 ZIP 壓縮檔解開來,就會得到 * .img 的映像檔。

將 Volumio 的映像檔燒錄到記憶卡裡面,燒錄的方法請參閱 將可開機的映像檔燒錄到 USB 外接儲存設備 的步驟。

燒錄完成之後,插到 Raspberry Pi 準備開機。

最重要的是電源線、網路線 / USB 無線網卡先接好;再把需要的週邊如 USB 音效卡、USB DAC、I2S DAC、隨身碟、USB 外接硬碟、喇叭全部接上去。

最後打開 Raspberry Pi 的電源,稍後等 30 秒到 1 分鐘左右,聽到喇叭放出一個如音符升階的音效,就代表開機完畢。

是的,就這麼簡單,準備進入無失真、高品質音樂的天堂!!!


初次連線


Volumio 主要是透過網頁介面來操作,所以只要有瀏覽器的設備就可以播放音樂。

打開瀏覽器之後,在網址列輸入 http://volumio.local/,或是 Raspberry Pi 的 IP 位址,就可以看到主畫面了。


Windows 如果連不上去的話,可以安裝 BonjourSetup 後再連線。

Android 手機或平板也可以到 Google Play 安裝 Wolumio Web App for Android 來播放。

而 iPhone 則是可以下載 MPoD 來使用。

其實 Volumio 底層是使用 MPD (Music Player Daemon) 來實作的,所以只要是支援 MPD 的 Client 端程式都可以拿來播放。


基本設定


Volumio 其實安裝完成就可以開始使用,不過有些基本的設定倒是可以針對我們的需求調整一下,先點選右上角的「Menu」按鈕。

總共有七個選單:
  • Main - 主畫面
  • Library - 音樂儲存庫
  • Playback - 播放及音效設定
  • Network - 網路設定
  • System - 系統設定
  • Credit - 介紹
  • Turn off - 關機 / 重新開機

網路設定


基本上,網路不通的話,我們連主畫面都看不到,所以,第一次使用請用有線網路來連線。

這邊會顯示目前使用中的 IP 位址,預設是「DHCP」自動取得 IP,若是要改成指定 IP 的話,可以改成 「Static」,再手動輸入 IP、子網路遮罩、通訊閘、DNS 等設定值。

當然我們也可以用無線網路來連線,在 Wireless Connection 的部份,輸入無線基地台的 SSID 名稱、WEP / WPA / WPA2 加密、連線密碼,就可以用無線網路卡來連線了。

連線成功後,就會看到無線網卡取得的 IP位址,這時候才可以把網路線拔掉。

系統設定


Player Name 的預設值是「volumio」,所以瀏覽器可以使用「http://volumio.local/」連線。

假設我們想把名稱改成 my-music-station,輸入新名稱之後,將 Volumio 重新開機就可以生效了;不過別忘了,下一次連線就要改成用「http://my-music-station.local」來連線。

Services management 有四個選項,保持預設值就可以了。

Streaming Services 串流音樂目前只支援 Spotify,而且必須是 Premium 帳戶。
(話說,Apple Music 已經出來了,Volumio 要不要考慮支援一下 ..... XDD)

I2S Driver 是針對想要追求音質的朋友,額外加裝 I2S 介面的 DAC 到 Raspberry Pi 來輸入音樂,這邊就要指定 I2S DAC 的型號,官方支援了八種型號,最受歡迎的是 Hifiberry 的產品。。

若是打算用 USB DAC 的朋友,請參考一下支援清單 - Volumio Forum - DACsraspyFi - Supported Dacs

不喜歡開機音效的話,可以把 Miscellaneous 這裡的「Startup Sound」關閉。

「CHECK UPDATES」用來進行系統更新。

播放及音效設定


Volume control mixer


如果我們遇到沒有辦法在管理介面調整音量的狀況,可以試著將「Hardware」改成「Software」,但是音質會受了一些影響。

也可以改成「Disabled」,那就請沙發馬鈴薯們多移動一下屁股囉 ... ^_*。
(沙發馬鈴薯,couch potatoes 是英文俚語,指那些老是坐在沙發上懶洋洋,連一動都不動的人。)

General music daemon options

如果 MP3 音樂在播放結束前,會突然結束跳到下一首歌的話,請關閉「gapless mp3 playback」這個無縫播放功能。

預設 DSD (Direct Stream Digital) 會直接輸出,如果我們的設備在播放時有問題的話,再開啟「DSD over PCM」這個功能。

「Volume normalization」是用來讓所有播放時的音量統一,不會每換一首歌就忽大忽小,但是可能會喪失一些細節, 預設值 2048K 可以讓 CD 等級的音樂持續播放 12 秒鐘。

「Audio buffer size」是指 Volumio 會先把音樂可用的緩沖記憶體空間,單位為 KB,用來避免讀取音樂檔遇到網路不穩或是讀取不順時,不會因而讓突然停止播放。

「Buffer before play」以可減少手動換下一首音樂的間隔時間,10% 大概夠 CD 等級的音樂預先載入 1 秒鐘。
「Auto update」當我們異動儲存音樂目錄裡的歌曲時,是否要自動更新資料庫清單。

Resampling


「Audio output format (resampling)」將所有的音樂重新取樣,可能會破壞細節,請小心使用。

「Sample rate converter」重新取樣的轉換方式,速度越快,效果越差,但是也比較節省系統資源。


加入音樂檔案


設定完畢之後,重點就是加入音樂檔案,點選「Menu」裡的「Library」。

Volumio 支援從 NAS 網路儲存設備、USB 外接儲存設備,或是把檔案上傳到記憶體裡播放。

NAS

雖然名稱是「NAS」,不過只要是用網路連接 Windows、OS X、Linux 或 NAS 分享出來的資料夾,都是用這個選項。

點選「ADD NEW MOUNT」按鈕。

在這邊開始設定相關的參數。
  • Source name - 自訂的名稱,在 Volumio 音樂資料庫顯示用的。
  • fileshare protocol - 連線的協定,要連線到 Windows / OS X 選「SMB/CIFS」,要連線到 Linux 或是 NAS 則是選擇「NFS」。
  • IP address - 遠端電腦或 NAS 的 IP 位址
  • Remote directory - 分享出來的目錄名稱。
  • Username - 遠端電腦不允許匿名 (Guest) 連線的話,輸入使用者帳號。
  • Password - 該使用者的密碼。
這邊就以連線到 Windows 分享的資料夾為例。

輸入正確的設定值並存檔,就可以看到成功加入音樂資料庫了,系統會顯示一個綠色的勾勾符號。

不過,若是看到前面是紅色的叉叉符號,代表未連線成功。

點選這個連線設定,就會出現錯誤訊息,告知無法連線的原因。
「sh: 1: 4036,rsize=8048,wsize=8096,iocharset=utf8,ro,dir_mode=0777,file_mode=0777: not found」是進階參數 (advanced options) 錯誤。

「unable to find suitable address」是指 IP 打錯、網路斷線、電腦沒開機 ... 等。

將設定值修正好就可以重新連線了。

USB

我們可以在 Windows 或 OS X 上面把音樂檔複製到 FAT32 及 NTFS 格式的隨身碟或外接硬碟,再插到 Raspberry Pi 的 USB 埠就可以了,不需要進行任何設定。

RAM

我們必須手動把音樂檔案複製到 RAM Play 的專屬目錄,正好也順便看一下其他連線方式的目錄。

就可以在音樂資料庫裡找到。

不過,請特別注意,RAM Play 是暫存在記憶體空間,千萬不要放進太多歌曲,就算是 Raspberry Pi 2 也只有 1GB;此外,這些歌曲在重新開機之後就會消失,一定要記得備份。


個人音樂台開播


點選左下角的「Browse」按鈕。

在這邊點選讀取音樂檔的來源。

比較特別的是 Web Radio,清單裡加入了不少網路上的串流電台,音樂類型也很多元,例如:古典樂、爵士樂、重金屬、藍調 .... 等。

點選之後就可以直接播放。

而 USB、NAS、RAM Play 就是來自上一個步驟的設定,這邊以 USB 為例。

點選「USB」就可以看到存在 USB 設備裡的目錄或檔案了。

我們可以在點選最右邊三條橫線的按鈕,點選「Add」把整個目錄的音樂加入播放清單。

或是任意的選擇歌曲加入播放清單。

最後,點選右下角的「Playlist」按鈕,就可以看到剛剛加入的所有曲目。

要儲存這份播放清單的話,在右下角的文字框輸入自訂名稱,再按右側的存檔按鈕即可。

右上角的文字框是用來搜尋歌曲名稱用的,隨打即找,清單也會即時更新。

要將曲目從清單中移除的話,就在該曲目最右邊的「-」按鈕即可。

我們回頭看一下「Playback」主畫面。

正上方的四個按鈕則是下一首 (Previous)、停止 (Stop)、播放 / 暫停 (Play/Pause)、下一首 (Next)。

左邊的圓圈代表這首曲目的播放進度,可以直接點選到指定的秒數播放,下面的四個按鈕從左到右是循環播放 (repeat)、隨機播放 (random)、僅播放一次 (single)、播完即刪 (consume mode,在每一首歌撥放完之後,就自動從播放清單中刪除)。

右邊的圓圈代表音量,同樣也可以點選它來調整,或是按下方的三個按鈕:降低音量、靜音、放大音量。


參考資料


圖片來源

  • http://7-themes.com/6868731-music-wallpaper.htm
  • http://macrophotoz.com/antique-portable-gramophone-recording-machine/

更新紀錄

  • 2015/07/11 撰文。
  • 2016/11/28 更新 - 加入 2.0 版的文章連結。

Heracles Jam,江湖人稱「海公公」

IT 技術家 - 創站部落客

一個常用 Windows、慣用 macOS、愛用 Linux 的 3C 阿宅
現職 MIS / 業界講師 / 資訊顧問 / 部落客

8 則留言 :

  1. 你好。請問第一次安裝 VOLUMIO 是否一定要接網路線 ? 我是用 pi 3,安裝時一直跑很久,最後卡了一堆的指令和程式碼,然後就停了,SD卡重新格式化和重寫 image檔也都不行。後來改用 RUNE AUDIO 好不容易有畫面了,可是看不到網址列, USB滑鼠標看不到,USB 鍵盤也不能用。不知是不是要先跑一次 RASPBIAN 去設定一些什麼,才可以裝 VOLUMIO 或 RUNE AUDIO 呢 ? 謝謝。

    回覆刪除
    回覆
    1. Volumio 不需要安裝,只是把 Image 燒錄到 SD 卡裡而已,你要不要換片 SD 卡、讀卡機,Image 重抓一次再試試。
      第一次安裝當然要網路線連接,要不然你連 WebUI 都進不去,WiFi 的 SSID 跟 Key 要去哪兒設定。
      另外,Volumio 通常不會在本機操作,像我就是用 Mac 的 Safari 連過去操作。

      刪除
    2. 請問是不是只要pi 3有接網路線,就可以使用手機或電腦來操作,pi 3本身完全不需要接螢幕、滑鼠和鍵盤等設備?

      刪除
    3. 是的,沒錯哦~~~
      就一條USB電源線+網路線or無線網卡,外加喇叭的訊號線就行了。

      刪除
  2. 先用 sdformat 預設格式一次

    回覆刪除
  3. 先用 sdformat 預設格式一次

    回覆刪除
  4. 幾個問題想請教
    https://volumio.org/forum/search.php?keywords=p90sd&t=2151&sf=msgonly
    之前您給的網站查不到我的USB DAC 不過上面那個網址有,代表可以囉?
    把音樂放到燒錄映像檔的SD卡能夠用嗎?
    之前的播放軟體會自動讀取資料夾的圖片檔來當封面,這個系統有沒有此功能?
    謝謝

    回覆刪除
    回覆
    1. 1. USB DAC 到底支不支援,其實你試試看就知道啦 ... ^^
      2. 音樂當然可以放到 SD 卡裡,只是 SD 卡的容量通常不大,所以我們習慣上都會外接或是連到 NAS 讀取。
      3. v1 沒有辦法設定封面,v2 可以直接讀取檔案裡內嵌的封面,好像沒辦法讀取外部檔案來當封面。

      刪除