最近更新: 2010-09-03

Ubuntu 10.04 的 Music Player 評價

我使用了幾套 Ubuntu 10.04 版提供的音樂播放軟體,在此記錄其支援格式、播放清單評價、介面整合能力以及記憶體用量。 目的是為了我帶著 小黑(ThinkPad) X200s 筆記型電腦出門時,可以用一套最省電的音樂播放軟體聽音樂。

本文的使用環境是 ThinkPad X200s 筆電,安裝 Ubuntu 10.04 64bit 桌面版。選用的播放軟體,都是由 Ubuntu 10.04 套件清單所提供者,僅用套件管理程式即可完成安裝。

項目說明

  • support: 支援的音樂格式,不列出要自行下載插件的格式。 cue+ 指的是支援 cue+wav, cue+flac 或其他壓縮格式;這是一種常見的 CD rip 格式。我因為有自行轉錄許多 CD 為數位音樂檔,所以需要支援這個格式。
  • play list: 播放清單介面的可用性。我是用檔案目錄管理音樂檔的,所以不要求播放清單提供歸檔與專輯管理這類的功能。只要求方便拖放、加入或移除大量曲目,並且可以調整顯示的內容與排列。
  • GNOME Shortcuts: 是否整合GNOME鍵盤捷徑鍵。小黑的鍵盤上有一組 Fn + 多媒體控制鍵 (Stop/Play/Prev/Next),GNOME桌面可以整合這一組多媒體控制鍵。若播放軟體整合了 GNOME Shortcuts ,我就可以直接用鍵盤換曲,不必切換程式畫面。
  • tray icon: 最小化後,是否會收到狀態列的 tray 區。
  • memory usage: 記憶體用量。這直接關係到播放軟體的資源用量,進而影響電池用電量。數值是用 top -p 觀察所得。res 指的是一般記憶體用量,shm 則是共享記憶體用量。

Multi-media Player

首先,我先測試用多媒體播放軟體來播放音樂。我選用的是 totem 和 vlc 。

totem: version 2.30.2

http://projects.gnome.org/totem/

  • support: flac, ogg. plugin support: mp3.
  • play list: 尚可 ☆☆
  • GNOME Shortcuts: yes
  • tray icon: no
  • memory usage: res 50 ~ 55m; shr 22m

totem 底層是 gstreamer 架構,可以藉由安裝 gstreamer 插件擴充支援的音樂格式。雖然支援的音樂格式很多,但用來播放音樂顯得太肥了,而且它的播放清單介面不合用。

vlc: version 1.0.6

http://www.videolan.org/vlc/

  • support: flac, ogg, mp3, aac, wma, musepack, tta.
  • play list: 差 ☆
  • GNOME Shortcuts: no
  • tray icon: yes
  • memory usage: res 60 ~ 70m; shr 25m

vlc 原生支援多種音樂格式,不必另裝插件。但用來播放音樂也太肥,它的播放清單介面更是難用。

Music Player

此節我選用的是純正的音樂播放軟體。

audacious: version 2.3

http://audacious-media-player.org/

  • support: flac, ogg, mp3, cue+, aac, wma, musepack, tta.
  • play list: 普通 ☆☆☆
  • GNOME Shortcuts: yes (enable by plugin Gnome Shortcuts or Global Hotkey)
  • tray icon: yes (enable by plugin Status Icon)
  • memory usage: res 20 ~ 24m; shr 14m

優秀的播放軟體,音樂格式支援之廣,幾乎可比及 foobar2000 ,連 cue+ 也支援。資源用量也是本節三種純音樂播放軟體中最低的。唯一的缺點就是它的播放清單功能較單純,僅符合我的最低標準。

  1. audacious-plugin 2.3 版的播放清單不會記憶 cue+ 的分曲。當你關閉 audacious 再重新啟動後,cue+ 的多個曲目會變成一個 cue 項目 。
  2. audacious-plugin 2.3 版的 FLACng 插件似乎有 bug,有些包含高頻的 flac 文件在播放時會破音。如果你碰到這種情況,可以關閉此插件。因為 audacious 還有內建模組可以播放 flac 文件,所以關閉 FLACng 插件的動作不會影嚮 flac 文件的播放功能。

以上兩個問題,在 audacious 2.4 版已經修正了。敢於嘗試者,可參考 http://www.ubuntuupdates.org/packages/show/249048 ,經由第三方套件庫更新。

wine + foobar2000: 1.0

http://www.foobar2000.org/

  • support: flac, ogg, mp3, cue+, aac, wma, musepack, tta.
  • play list: 好 ☆☆☆☆
  • GNOME Shortcuts: no
  • tray icon: yes
  • memory usage: res 43 ~ 50m; shr 22m
    foobar2000: 25 ~ 30m; 11m
    wine: 18 ~ 20m; 10m

foobar2000 永遠不會出垷 linux 版本,但是可以透過 WINE 安裝。對我而言,它是無可取代的音樂播放軟體。不但能播放,還能轉換音樂格式、或將 cue 音樂按曲目分割為多個音樂文件。播放清單的介面調整功能非常彈性。我都是用 Album List + Library Viewer Selection 版面配置,再加上 Album Art Viewer 的頁面。唯一可惜的是它強調的高音質播放能力,在 WINE 的模擬層級上表現不出來。

rhythmbox: version 0.12.8

http://projects.gnome.org/rhythmbox/

  • support: flac, ogg, mp3.
  • play list: 優 ☆☆☆☆☆
  • GNOME Shortcuts: yes
  • tray icon: yes
  • memory usage: res 65 ~ 80m; shr 38m

rhythmbox 是 Ubuntu 10.04 預裝的音樂播放軟體,底層是 gstreamer 架構,可以藉由安裝 gstreamer 插件擴充支援的音樂格式。它唯一的優點是強大的音樂庫與專輯管理功能。不過它的管理方式跟我的習慣不合,我用不慣。而且它太慢了。

Text UI Music Player

本節選用的是文字介面的音樂播放軟體。說到輕量化軟體,沒有任何 GUI 介面的軟體可以比文字介面更輕的了。文字介面的音樂播放軟體適合極致輕量化桌面或無桌面環境的筆電。

大部份的文字介面音樂播放軟體都僅支援 mp3, ogg 格式,這些軟體我都略過了。

cmus: version 2.2.0

http://freshmeat.net/projects/cmus/

  • support: flac, ogg, mp3, aac, wma, musepack, wav.
  • memory usage: res 10m; shr 6m

還不錯的播放軟體。只是它的操作風格傾向 vi 風格,用命令模式進行操作。

moc: version 2.5.0

http://moc.daper.net/

  • support: flac, ogg, mp3, wma, musepack, wav.
  • memory usage: res 14m; shr 9m
    front-end: 6m; 4m
    server: 8m; 5m

它的執行方式相當特殊,它會自己分成兩個行程,一個是服務行程(server),另一個是 UI 行程。當你按 q (Detach from server only, keep playing.) 或關閉終端機時,它僅會結束 UI 行程。而 server 仍然在背景持續播放音樂。當你再次執行 mocp 後,UI 會接續顯示目前的播放狀態。唯有在 UI 中按 Q (Quit) ,才會同時結束 server 。

在單獨運行 server 行程的情況下,它是本文所有音樂播放軟體中,資源用量最少的。

結語

我目前在 Ubuntu 10.04 下的音樂播放軟體,一般情況下,是用 audacious ;電池模式時則用 moc 。

影響用電量的主要項目,應該是 CPU。不過所有的播放軟體在播放模式下的 CPU 用量都差不多,不到 1%。但是像 Rhythmbox 這種兼具音樂管理功能的軟體,在啟動時會花費額外的資源整理它的音樂庫,所以會耗費更多的電量。

此外,如果播放軟體有 resample 功能的話,請儘量關閉。因為 resample 動作會耗費加倍的 CPU 資源與電量。近期的音效晶片都支持 44.1 khz 直入,不再需要我們強制 resample 到 48 khz 。你可以觀察 /proc/asound/card?/pcm0p/sub0/hw_params 的內容,得知你的音訊播放動作是否有 resample.

$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 44100
buffer_size: 88200

card0 是第一張音效卡,card1 是第二張音效卡,餘類推。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/13650407.html