क्या OS X के लिए एक अच्छी कमांड-लाइन ID3 टूल है?


45

ID3v2 के समर्थन के साथ कमांड लाइन * ID3 टूल का किसी को भी पता है , कि आप उचित प्रयास के साथ Mac OS X पर काम कर सकते हैं? इसे पढ़ने और लिखने दोनों टैग का समर्थन करना चाहिए।

( * मैं इसे कुछ पायथन लिपियों से उदाहरण के लिए कॉल करने में सक्षम होना चाहता हूं, इसलिए GUI टूल ऐसा नहीं करेगा।)

Id3tool उपयोगिता अन्यथा अच्छा है, लेकिन ID3v2 समर्थन नहीं करता है (और इस प्रकार है कि अच्छी तरह से नहीं चलता है iTunes के साथ)। मुझे इसे स्रोत से संकलित करना था, लेकिन यह एक मैक पर एक्सकोड और डेवलपर टूल (सहित, विशेष रूप से, एक सी संकलक) के साथ बहुत सीधा था। वैसे भी, मैं विशेष रूप से id3tool के समान कमांड-लाइन विकल्पों के साथ कुछ पसंद करूंगा। यहाँ एक फ़ाइल को टैग करने का एक उदाहरण दिया गया है:

id3tool -t "Song Title" -r Artist -a "Album Name" -c 2 track-02.mp3

मैं कुछ इस तरह से लिखने पर काम कर रहा हूं ... कुछ पुस्तकालय में उपलब्ध हैं और बीट नामक एक उपकरण है जो उनका उपयोग करता है इसलिए मैं जांच कर रहा हूं कि यह कैसे लिखा गया है।
रॉबर्ट एस सियाकियो

2
इसके अलावा ... MusicBrainz Picard पायथन में लिखा गया है और यह एक खुला स्रोत है, इसलिए इसमें कोड और लाइब्रेरी उपयोग के साथ-साथ शायद बहुत कुछ लिखा है।
रॉबर्ट एस सियासियो 5

मैं सहमत हूं, पिकार्ड सिर्फ शानदार है
रोहन मोंगा

जवाबों:


48

यदि आपने Homebrew स्थापित किया है (अत्यधिक अनुशंसित), तो आप बस कर सकते हैं:

brew install id3lib

यह सहित कई id3 कमांड लाइन उपकरण, स्थापित करता है id3tag, id3convert, id3cpऔर id3info। अजगर या पर्ल स्क्रिप्टिंग की कोई आवश्यकता नहीं; बस नियमित शेल कमांड का उपयोग करें।

Usage: id3tag [OPTIONS]... [FILES]...
   -h         --help            Print help and exit
   -V         --version         Print version and exit
   -1         --v1tag           Render only the id3v1 tag (default=off)
   -2         --v2tag           Render only the id3v2 tag (default=off)
   -aSTRING   --artist=STRING   Set the artist information
   -ASTRING   --album=STRING    Set the album title information
   -sSTRING   --song=STRING     Set the title information
   -cSTRING   --comment=STRING  Set the comment information
   -CSTRING   --desc=STRING     Set the comment description
   -ySTRING   --year=STRING     Set the year
   -tSTRING   --track=STRING    Set the track number
   -TSTRING   --total=STRING    Set the total number of tracks
   -gSHORT    --genre=SHORT     Set the genre
   -w         --warning         Turn on warnings (for debugging) (default=off)
   -n         --notice          Turn on notices (for debugging) (default=off)

क्या यह ID3v2 का समर्थन करता है?
जोनीक

id3lib अन्य वितरण जैसे macports में भी काम करता है। के बारे में बात करते हुए, बंदरगाहों से होमब्रेव पर स्विच करने का कोई मतलब है? मुझे
बदबू

"त्रुटि: मध्य 3v2 के लिए कोई उपलब्ध सूत्र नहीं"। किसी एक सूत्र में योगदान करने में दिलचस्पी है?
मैनुअलसेलीन 3r

3
@Jonik id3lib लिख सकते हैं और दोनों ID3v1 और ID3v2 में हेरफेर कर सकते हैं
jchook

1
यह भी आता है id3v2, जो "डू-एवरीथिंग" कमांड है। यह आपको किसी भी मनमाने टैग को फ़ाइल में लिखने देगा।
एडवर्ड फॉक

14

GitHub पर यहाँ उपलब्ध id3lib लाइब्रेरी का OS X संगत संस्करण है । यह ID3v1 और ID3v2 दोनों का समर्थन करने का दावा करता है।


1
धन्यवाद! यह पूरी तरह से मेरे सवाल का जवाब देता है। केवल स्रोत पैकेज उपलब्ध था, लेकिन उस पर स्थापित (मैक पर डेवलपर टूल के साथ) बहुत चिकनी थी: मानक यूनिक्स किराया configure, makeऔर make install। id3lib में 4 अलग-अलग बायनेरी होते हैं: id3info (टैग पढ़ने के लिए), id3tag (टैग लिखने के लिए), id3convert और id3cp। सब कुछ ठीक काम करता है (और iTunes id3tag के साथ लिखे गए v2 टैग का सम्मान करता है)।
जोनीक

@ जॉनिक ने पुस्तकालय को लपेटने के लिए आपका क्या उपयोग किया? कुछ अजगर आपने लिखा है?
रॉबर्ट एस सियासीओ

@ कैलावेरा: हाँ, मेरे पास सरल स्क्रिप्ट हैं जो एक फ़ाइल नाम से ट्रैक नंबर या नाम निर्धारित करने की कोशिश करते हैं (जैसे कि "कलाकार - 03 - Track.mp3"), और यदि पाया जाता है, तो इसे ID3 टैग में भी लिखें।
जोनीक

@ जोंक: क्या आप साझा करने के लिए तैयार होंगे? मेरे पास अजगर के साथ बहुत अनुभव नहीं है, इसलिए ऐसा कुछ होगा जिसके साथ खेलना और विस्तार करना बहुत अच्छा होगा ...
रॉबर्ट एस सियासियो

@ कैलावेरा: यहां आप जाएं । उपयोग: add-track-names.py *mp3या add-track-numbers.py *mp3। आम सामान (अधिकांश कोड) एक अलग .py फ़ाइल में है। मैं वास्तव में अजगर कोडर भी नहीं हूं, इसलिए कोड शायद "पायथोनिक" से बहुत दूर है। :) लेकिन जब मैंने इसे लिखा, तब मैंने (री) बहुत कुछ सीखा, और शायद यह विस्तार करना आसान है कि क्या आपकी टैगिंग की जरूरतें मेरी तरह कुछ भी हैं।
Jonik

5

अजगर मॉड्यूल उत्परिवर्तजन कमांड लाइन ID3 नामित उपकरण के साथ भेज दिया जाता है mid3v2 id3lib है के लिए प्रतिस्थापन।
उपयोग दस्तावेज से:

आप किसी भी ID3v2 फ्रेम का मान '-' और फिर एक फ्रेम आईडी का उपयोग करके निर्धारित कर सकते हैं।
उदाहरण के लिए:
mid3v2 --TIT3 "बंदर!" file.mp3 "Monkey" के लिए "उपशीर्षक / विवरण" फ़्रेम सेट करेगा।


म्यूटेजेन को sudo pip install mutagenपाइप के साथ स्थापित करने के बाद स्थापित किया जा सकता है sudo easy_install pip
17

आप सीधे sudo easy_install mutagenभी चला सकते हैं
user1259710

4

आप id3v2 आज़माना चाह सकते हैं । यह उस आईडी 3 लाइब पर आधारित है जिसका हुइज़ ने उल्लेख किया है, लेकिन यह आइडी 3 एलिब से बेहतर कमांड लाइन टूल है। आईट्यून्स से ID3V2 टैग को यह आसानी से डंप कर देता है, लेकिन इससे उत्पादित आइट्यून्स नहीं, बल्कि iTunes ने M4A फाइल्स (Apple लॉसलेस के साथ) तैयार की हैं।

यदि आपको M4A फ़ाइलों की आवश्यकता है, तो दूसरा विकल्प ffmpeg है । इसका ffprobe कमांड लाइन टूल फाइलों में मेटाडेटा को प्रिंट करता है और मुझे विश्वास है कि आप ffmpeg के माध्यम से मेटाडेटा लिख ​​सकते हैं। यह iTunes द्वारा निर्मित एमपी 3 और एम 4 ए दोनों फाइलों के साथ काम करता है। ffprobe सभी मेटाडेटा नहीं दिखा सकता है; mp4v2 एक और अच्छा विकल्प है।

सभी तीन कार्यक्रमों को आसानी से Homebrew के माध्यम से स्थापित किया जाता है। अभी (जनवरी 2012) ffmpeg को संकलन के लिए gcc की आवश्यकता है, इसलिए brew install --use-gcc ffmpeg


mp44 के लिए m4a सुझाव देने के लिए धन्यवाद! एक आकर्षण की तरह काम करता है, जबकि id3v2 नहीं था :(
इलियास करीम

mp4v2 एकमात्र ऐसा संपादित टैग है जो iTunes (macOS 10.13, iTunes 12.7) के साथ संगत था।
शून्य-सूचक

2

मैक ओएस एक्स संकेत पर यह पुराना धागा ऐसा लगता है कि यह आपके लिए एक अच्छी जगह हो सकती है। यह 2003 से है, इसलिए मुझे यकीन नहीं है कि अगर वे जिस उपकरण के बारे में बात कर रहे हैं वह अभी भी विकसित हो रहा है। आपको इसे खुद भी संकलित करना पड़ सकता है।


2

हमेशा AppleScript होता है। मैं इसका बहुत बड़ा प्रशंसक नहीं हूं, लेकिन आईट्यून्स स्क्रिप्ट करने योग्य है और आप वहां से सभी एमपी 3 टैग को जोड़ सकते हैं। आप osascript का उपयोग करके कमांड लाइन से Applescript का उपयोग कर सकते हैं।


2

यह साइट: http://dougscripts.com/itunes/ में कई अच्छी कमांड लाइन स्क्रिप्ट और टूल हैं जो आपके म्यूजिक लाइब्रेरी के साथ चीजों को करने के लिए itunes के ऊपर लेयर करते हैं। उनमें से कुछ तुम क्या चाहते हो सकता है। कुछ उपकरण स्वतंत्र हैं और कुछ लाइसेंस प्राप्त हैं।


2

चूँकि आप cli और Python के साथ सहज हैं, इसलिए मैं CPAN पर कुछ Perl मॉड्यूल की सिफारिश कर सकता हूँ। MP3 :: टैग, (साथ ही MP3 :: Tag :: ID3v1 और :: ID3v2 और :: Utils), MP3 :: जानकारी, MP3 :: ID3Lib सभी ID3 टैग्स को पढ़ने और हेरफेर करने के लिए उपलब्ध हैं।

यदि आप search.cpan.org पर जाते हैं और "MP3" खोजते हैं, तो आपको विकल्पों की एक दुनिया * मिलेगी!

(* जहां "दुनिया" विकल्प का एक छोटा, सीमित सेट है ...)


1
सीएलआई और पायथन हां, लेकिन सीपीएएन पर पर्ल मॉड्यूल ... इतना अधिक नहीं :-) (यदि आप उन पायथन में भी उपयोग कर सकते हैं, तो मुझे इसके बारे में पता नहीं था। या क्या आपने इसका मतलब पर्ल लिखने के बजाय किया?) व्यक्तिगत रूप से मुझे मिला पहले से ही हल है , लेकिन शायद यह दूसरों के लिए उपयोगी है।
Jonik

2

Id3v2 के साथ विभिन्न ' एबॉर्ट ट्रैप' प्रकार के मुद्दे होने के बाद मैंने आई 3 डी की खोज की , जो कि एक अजगर मॉड्यूल है जो कमांड लाइन टूल के रूप में भी मौजूद है। यह हाल ही में ऊपर उल्लिखित कुछ अन्य कार्यक्रमों की तुलना में अधिक अद्यतन किया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.