題:
OS X是否有一個好的命令行ID3工具?
Jonik
2010-10-31 15:52:41 UTC
view on stackexchange narkive permalink

任何人都知道命令行 * sup> ID3工具,該工具支持 ID3v2 ,您可以在Mac OS X上使用合理的努力?它應該同時支持讀寫標籤。

* sup>我希望能夠從某些Python腳本中調用它,例如GUI工具

否則 id3tool實用程序就不錯了,但是它不支持ID3v2(因此在iTunes中不能很好地播放)。我必須從源代碼進行編譯,但這在使用Xcode &開發人員工具(尤其是C編譯器)的Mac上非常簡單。無論如何,我特別希望它具有與id3tool類似的命令行選項。下面是標記一個文件的示例:

  id3tool -t“歌曲標題” -r藝術家-a“專輯名稱” -c 2 track-02.mp3  
我一直在寫這樣的東西...在python中有一些可用的庫,並且有一個稱為甜菜的工具可以利用它們,因此我一直在研究它的編寫方式。
另外... MusicBrainz Picard是用Python編寫的,並且是開源的,因此從代碼和庫的使用中可能還會收穫很多。
我同意,皮卡德真是太棒了
九 答案:
huyz
2011-06-18 18:26:28 UTC
view on stackexchange narkive permalink

如果已安裝 Homebrew(強烈建議),則可以執行以下操作:

  brew install id3lib  

此安裝幾個id3命令行工具,包括 id3tag id3convert id3cp id3info 。無需python或perl腳本;只需使用常規的shell命令即可。

 用法:id3tag [選項] ... [文件] ... -h --help打印幫助並退出-V --version打印版本並退出- 1 --v1tag僅渲染id3v1標籤(默認=關閉)-2 --v2tag僅渲染id3v2標籤(默認=關閉)-aSTRING --artist = STRING設置藝術家信息-ASTRING --album = STRING設置專輯標題信息-sSTRING --song = STRING設置標題信息-cSTRING --comment = STRING設置註釋信息-CSTRING --desc = STRING設置註釋描述-ySTRING --year = STRING設置年份-tSTRING --track = STRING設置音軌號-TSTRING --total = STRING設置音軌總數-gSHORT --genre = SHORT設置體裁-w --warning打開警告(用於調試)(默認=關閉)-n-注意打開通知(用於調試)(默認=關閉) 
它支持ID3v2嗎?
id3lib也可以在其他發行版中使用,例如macports。說到從端口切換到自製程序,有什麼意義嗎?我從芬克身上轉了很多痛...
“錯誤:mid3v2沒有可用的公式”。有人對貢獻配方感興趣嗎?
@Jonik id3lib可以編寫和操作ID3v1和ID3v2
它也帶有`id3v2`,這是“ do-everything”命令。它可以讓您將任意標籤寫入文件。
回复:MacPorts vs Homebrew。實際上,我兩者兼有(他們不會互相妨礙。)如果可以的話,自製絕對是必經之路。Macports規模龐大,更喜歡使用自己的庫,並且會下載和編譯所需的文件。Homebrew變得更小,更簡單,並且(AFAIK)僅適用於預構建的二進製文件。它會盡可能使用Mac上已經存在的庫。據說Homebrew的可用軟件較少,但是還沒有失敗。
所以我的經驗是這樣的:我使用Macports安裝Imagemagick,花了15分鐘下載和編譯內容,最後由於缺少某些依賴關係而使可執行文件無法運行。Homebrew在兩分鐘內下載了一個現成的二進製文件,我很高興。
@EdwardFalk:`brew install id3lib`(至少在今天)不安裝`id3v2`,但是`brew install id3v2`可以。不幸的是,手冊頁不足。--help也是不夠的,但是至少它沒有從選項中省略`-`和`--`。
老實說,我只是舉手放棄,寫了我自己的書。有些工具在某些標籤上崩潰,其他工具則無法完成我想要的事情。還有一些僅是id3v1或id3v2。我編寫的工具是一個名為“ id3”的python腳本。https://github.com/efalk/AudioTools
Jeff Swensen
2010-11-13 08:40:23 UTC
view on stackexchange narkive permalink

有一個 id3lib庫的與OS X兼容的版本,可在GitHub上找到。它聲稱同時支持ID3v1和ID3v2。

謝謝!這完全回答了我的問題。只有可用的源軟件包,但是從那里安裝(在帶有開發人員工具的Mac上)非常順利:`configure`,`make`和`make install`的標準Unix票價。 id3lib由4個獨立的二進製文件組成:id3info(用於讀取標籤),id3tag(用於寫入標籤),id3convert和id3cp。一切正常(iTunes尊重使用id3tag編寫的v2標籤)。
@Jonik您用什麼包裝了庫?你寫的一些python?
@calavera:是的,我有一些簡單的腳本,它們試圖根據文件名確定曲目號或名稱(例如“ Artist-03-Track.mp3”),如果找到,也將其寫入ID3標籤。
您願意分享@Jonk:嗎?我對python沒有太多的經驗,所以像這樣的東西可以擴展並擴展...
@calavera: [在這裡,您可以使用](http://dl.dropbox.com/u/2896691/stack/id3/id3.zip)。用法:“ add-track-names.py * mp3”或“ add-track-numbers.py * mp3”。常見的東西(大多數代碼)在一個單獨的.py文件中。我也不是真正的Python編碼人員,因此代碼可能與“ pythonic”相去甚遠。 :)但是,我在編寫它時學到了很多東西,如果您的標記需求像我的一樣,可能很容易擴展。
@Jonik:太棒了,謝謝!如果我添加任何酷的東西,我都會分享:)
kraymer
2011-03-26 14:45:03 UTC
view on stackexchange narkive permalink

Python模塊 Mutagen與ID3lib的命令行ID3工具 mid3v2 一起提供。
來自使用文檔:

您可以使用'-',然後使用幀ID為任何ID3v2幀設置值。
例如:
mid3v2 --TIT3“猴子!” file.mp3會將“字幕/描述”框架設置為“猴子!”。

使用`sudo easy_install pip`安裝pip後,可以使用`sudo pip install mutagen`安裝Mutagen。
你也可以直接運行sudo easy_install mutagen
Nelson
2012-01-19 23:27:09 UTC
view on stackexchange narkive permalink

您可能要嘗試 id3v2。它基於Huyz提到的id3lib,但似乎比帶有id3lib的命令行工具更好。它可以輕鬆地從iTunes生產的MP3中轉儲ID3V2標籤,但不能從iTunes生產的M4A文件中轉儲ID3V2標籤(與Apple Lossless一樣)。

如果需要M4A文件,則另一個選擇是 ffmpeg。它的ffprobe命令行工具可以打印出文件中的元數據,我相信您可以通過ffmpeg編寫元數據。它可以與iTunes生成的MP3和M4A文件一起使用。 ffprobe可能不會顯示所有元數據; mp4v2是另一個不錯的選擇。

所有三個程序都可以通過Homebrew輕鬆安裝。現在(2012年1月),ffmpeg需要gcc進行編譯,因此 brew install --use-gcc ffmpeg

感謝您為m4a推薦mp4v2!就像一個魅力,而id3v2沒有:(
mp4v2是唯一一種以與iTunes(macOS 10.13,iTunes 12.7)兼容的方式編輯標籤的工具。
Ben Wyatt
2010-10-31 16:21:36 UTC
view on stackexchange narkive permalink

Mac OS X提示上的舊線程看起來可能是您入門的好地方。這是從2003年開始的,所以我不確定他們正在談論的工具是否仍在開發中。您可能還需要自己編譯。

eric
2010-11-02 05:18:59 UTC
view on stackexchange narkive permalink

總有AppleScript。我不太喜歡它,但是iTunes是可編寫腳本的,您可以從那裡操作所有mp3標籤。您可以使用osascript從命令行調用Applescript。

Chris Quenelle
2010-11-11 05:59:58 UTC
view on stackexchange narkive permalink

此站點: http://dougscripts.com/itunes/具有許多出色的命令行腳本和工具,它們位於iTunes之上,可用來處理您的音樂庫。他們中的一些人可能會做您想要的。有些工具是免費的,有些則是許可的。

gWaldo
2010-11-15 19:59:29 UTC
view on stackexchange narkive permalink

由於您對cli和Python熟悉,因此我可以在CPAN上推荐一些Perl模塊。 MP3 :: Tag(以及MP3 :: Tag :: ID3v1和:: ID3v2和:: Utils),MP3 :: Info,MP3 :: ID3Lib均可用於讀取和處理ID3標籤。

如果您訪問search.cpan.org並蒐索“ MP3”,則會發現一個世界*的選項!

(**“世界”是一小部分有限的選項。 ..)

CLI和Python是的,但是CPAN上的Perl模塊...不是那麼多:-)(如果您也可以在Python中使用它們,那我就不知道了。或者您是說寫Perl嗎?)此問題已解決](http://apple.stackexchange.com/questions/3585/good-command-line-id3-tool-for-os-x/3976#3976),但這可能對其他人有所幫助。
bryn
2012-04-07 02:52:50 UTC
view on stackexchange narkive permalink

id3v2遇到各種“中止陷阱”類型問題,我發現了 eyeD3,這是一個也作為命令行工具存在的python模塊。它似乎比上面提到的其他一些程序最近更新。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...