- 代碼: 選擇全部
id3v2 filename.mp3
就可以顯示id3v2標籤,並可以選擇要不要更新。
加上-p參數可以分割檔名,由檔名切割出想要的id3標籤。
- 代碼: 選擇全部
id3v2 曲目#-歌手-歌名.mp3 -p %n-%a-%t.mp3
這樣可以由檔名切割出曲目、歌手、歌名,並寫入tag中。目前支援的有%n(曲目編號)、%a(歌手)、%t(歌名)、%b(專輯)。不過碰到用空格分開、又是有空格的歌名時(英文歌)會出問題。在-p模式之下,有時候檔名不見得能切出所有想要的資訊,例如上例中沒有專輯,可以用--set-album參數:
- 代碼: 選擇全部
id3v2 曲目#-歌手-歌名.mp3 -p %n-%a-%t.mp3 --set-album 專輯
這種參數有兩個,--set-album可以設定專輯、--set-singer可以設定歌手。
這個程式最主要的功能就是可以批次轉檔,因為沒有研究linux下的檔案處理,所以只能透過外部程式取得檔案列表,導入程式的標準輸入。加上--standard-input參數,程式就會從標準輸入讀取檔名,一個檔案一行。配合ls指令使用如下:
- 代碼: 選擇全部
ls -1 *.mp3 | id3v2 -p %n-%a-%t.mp3 --set-album 專輯 --standard-input
就會把目錄下所有的mp3檔案用「曲目#-歌手-歌名.mp3」的方式分解,並把專輯名稱設為「專輯」。
最後,如果擔心-p之後的pattern分析有錯,可以加--preview參數。在preview模式之下,會印出結果,但所有的修改都不會被寫入。
程式的寫法很暴力,不過最後還是達到我的目的,在xmms、rhythmbox、amarok還有我的mp3隨身聽都能正常顯示。在寫入tag的時候,程式會把整個mp3一次讀到記憶體中,所以對於太大的mp3檔案可能不太合適。
程式與原始碼:
http://beta.yousendit.com/transfer.php?action=download&ufid=4B15A3A87D908F43