UTF-8下的id3 tag編輯器

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

UTF-8下的id3 tag編輯器

文章silicium » 週日 4月 30, 2006 12:36 am

一直找不到合用的能正確處理utf-8的id3tag editor,最後索性自己閉門造車寫了一個。功能很簡單,就是編輯id3tag,而且只能產生id3v2.4、UTF-8的tag。我只在UTF-8的環境下測試過,不知道能不能在其他locale正常運作,我想是不行的。最簡單的執行方法:

代碼: 選擇全部
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
silicium
可愛的小學生
可愛的小學生
 
文章: 49
註冊時間: 週一 5月 30, 2005 3:35 pm

文章yzcie » 週日 4月 30, 2006 2:47 am

嗨, silicium 兄,
有一支程式也叫 id3v2 喲~
只是功能沒您寫的那麼好用 ^_^
加油!!
yzcie
可愛的小學生
可愛的小學生
 
文章: 65
註冊時間: 週三 1月 26, 2005 3:19 pm
來自: 台灣


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:Google [Bot] 和 1 位訪客