यह कमांड mp3info2p है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
mp3info2 - एमपी3 टैग प्राप्त/सेट करें; डिफ़ॉल्ट मान प्राप्त करने के लिए MP3::Tag का उपयोग करता है।
SYNOPSIS
# टैग और स्वतः-निर्धारित जानकारी में जानकारी प्रिंट करें
mp3info2 *.mp3
# इसके अलावा, वर्ष फ़ील्ड को 1981 पर सेट करें
mp3info2 -y 1981 *.mp3
# जानकारी के प्रिंटआउट के बिना, वर्तमान निर्देशिका में पुनरावर्ती रूप से समान
mp3info2 -R -p "" -y 1981।
# किसी भी फ़ील्ड का अनुमान न लगाएं, केवल टैग से (सामान्यीकृत) जानकारी प्रिंट करें
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3
# जैसा कि ऊपर है, लेकिन सामान्यीकरण/ऑटोफिल के बिना, टैग में कच्ची जानकारी
mp3info2 -N *.mp3
# उपरोक्तानुसार, लेकिन केवल ID2v1 टैग के साथ पढ़ें
mp3info2 -NC ऑटोइन्फो=ID3v1 *.mp3
# CDDB_File से कलाकार प्राप्त करें, अन्य जानकारी स्वतः निकालें, इसे टैग में लिखें
mp3info2 -C कलाकार=CDDB_File -u *.mp3
# शीर्षक के लिए, .inf फ़ाइल से जानकारी को प्राथमिकता दें; आराम स्वत: कम करें, अद्यतन करें
mp3info2 -C शीर्षक=Inf,ID3v2,ID3v1, फ़ाइल नाम -u *.mp3
# वही, और सीडीडीबी फ़ाइल से कलाकार प्राप्त करें
mp3info2 -C शीर्षक=Inf,ID3v2,ID3v1,फ़ाइल नाम -C कलाकार=CDDB_फ़ाइल -u *.mp3
# .wav को .mp3, ऑटोडिड्यूसिंग टैग में बदलने के लिए एक स्क्रिप्ट लिखें
mp3info2 -p "lame -h --vbr-new --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '% y' '%f'\n" *.wav >xxx.sh
वर्णन
प्रोग्राम टैग जानकारी (MP3::Tag मॉड्यूल के माध्यम से प्राप्त) को सारांशित करते हुए एक संदेश प्रिंट करता है
निर्दिष्ट फ़ाइलें।
यह ID3 टैग में जानकारी को भी अपडेट कर सकता है। ऐसा तीन अलग-अलग मामलों में होता है.
· यदि कमांड-लाइन विकल्प "talygcn" में दी गई जानकारी भिन्न है
संबंधित ID3 टैग की सामग्री (या कोई संगत ID3 टैग नहीं है)।
· यदि विकल्प "-d" या "-F" दिए गए थे।
· यदि "MP3::Tag" MP3 टैग के अलावा अन्य माध्यमों से जानकारी प्राप्त करता है, और "-u" बाध्य करता है
ID3 टैग का अद्यतन.
(ये सभी तरीके "-D" विकल्प द्वारा अक्षम हैं।) यदि आवश्यक हो तो ID3v2 टैग लिखा जाता है, या यदि "-2"
विकल्प दिया गया है. (कटौती योग्य फ़ील्ड का स्वचालित भरना (विधि के माध्यम से)।
id3v2_frames_autofill()) तब तक किया जाता है जब तक कि "-d" या "-N" विकल्प न दिए गए हों।)
विकल्प "-u" MP3 ID3 टैग में प्राप्त जानकारी को ("u"pdates) लिखता है। यह
यदि कमांड-लाइन विकल्प हैं जो स्पष्ट रूप से टैग तत्वों को सेट करते हैं तो विकल्प मान लिया जाता है
("-ए", "-टी" आदि, और "-एफ", "-डी")। (इस विकल्प के प्रभाव को देकर ओवरराइड किया जा सकता है
"-D" विकल्प।) यदि "-2" विकल्प भी दिया गया है, तो जानकारी होने पर भी ID3v2 टैग लिखने के लिए बाध्य किया जाता है
ID3v1 टैग में फिट बैठता है (इसके अलावा, यह विकल्प "व्यक्तिगत नाम" के ऑटो-अपडेट को सक्षम करता है)
फ़ील्ड, और संबंधित शीर्षक "translate_person" के मान के अनुसार,
"person_frames" आदि कॉन्फ़िगरेशन सेटिंग्स; "फ़ील्ड का सामान्यीकरण" देखें)। इस विकल्प
यदि टैग में कोई परिवर्तन नहीं पाया जाता है तो इसे अनदेखा कर दिया जाता है; हालाँकि, कोई भी बार-बार अपडेट करने के लिए बाध्य कर सकता है
यह विकल्प (यदि आप टैग के "प्रारूप" में बदलाव की अपेक्षा करते हैं, तो इसके विपरीत उपयोगी है
"संतुष्ट")।
विकल्प "-p" अगले तर्क को प्रारूप के रूप में उपयोग करके एक संदेश प्रिंट करता है (डिफ़ॉल्ट रूप से "\\", "\t",
"\n" को बैकस्लैश, टैब और न्यूलाइन द्वारा प्रतिस्थापित किया जाता है; "-ई" विकल्प के मूल्य द्वारा शासित);
प्रारूप के विवरण के लिए MP3::Tag में "इंटरपोलेट" देखें स्प्रिंटफ ()-जैसे पलायन. अगर कोई नहीं
विकल्प "-p" दिया गया है, डिफ़ॉल्ट प्रारूप में संदेश उत्सर्जित होगा। विकल्प "-e" का मान
आउटपुट के लिए उपयोग की जाने वाली एन्कोडिंग है; यदि मान एक संख्या है, तो सिस्टम-विशिष्ट एन्कोडिंग है
अनुमान लगाया गया (और यदि बिट 0x1 सेट है तो आउटपुट के लिए उपयोग किया जाता है); यदि बिट 0x2 सेट है, तो, कमांड लाइन
विकल्पों को अनुमानित एन्कोडिंग में माना जाता है; यदि बिट 0x4 सेट है, तो, कमांड लाइन
तर्कों को अनुमानित एन्कोडिंग में माना जाता है। बाइनरी करने के लिए "बाइनरी" मान का उपयोग करें
उत्पादन.
विकल्प "-डी" (ड्राई रन) के साथ कोई अपडेट नहीं किया जाता है, चाहे अन्य विकल्प कुछ भी हों।
इस विकल्प के साथ, जब तक आवश्यकता न हो, टैग का कोई पार्सिंग नहीं किया जाता है।
विकल्पों का प्रयोग करें
talygcn
प्राप्त जानकारी (शीर्षक कलाकार एल्बम वर्ष शैली टिप्पणी ट्रैक-नंबर) को अधिलेखित करने के लिए
"MP3::Tag" अनुमान के माध्यम से ("-u" स्विच निहित है यदि इनमें से कोई भी तर्क भिन्न है
अन्यथा जो मिलेगा उससे; ऑटो-अपडेट को अक्षम करने के लिए "-D" स्विच का उपयोग करें)। डिफ़ॉल्ट रूप से,
इन विकल्पों के मान "%"-प्रक्षेपित नहीं हैं; इसे "-E" विकल्प द्वारा बदला जा सकता है।
विकल्प "-d" में हटाने के लिए ID3v2 फ़्रेम की अल्पविराम से अलग की गई सूची होनी चाहिए। ए
फ़्रेम विनिर्देश वही है जो "%{...}" फ़्रेम इंटरपोलेशन को दिया जा सकता है
कमांड, उदाहरण के लिए, "TIT3", "COMM03", "COMM(fra)[संक्षिप्त शीर्षक]"; संशोधन से अंतर-
पहुंच वह है सब (और नहीं प्रथम का) मेल खाने वाले फ़्रेम हटा दिए जाते हैं। (विकल्प -d हो सकता है
दोहराया गया।)
उदाहरण के लिए, "-d APIC" सभी चित्र फ़्रेम हटा देगा। इसके अलावा, यदि सूची में शामिल है
"ID3v1" या "ID3v2", संपूर्ण टैग हटा दिए जाएंगे।
इसी तरह, विकल्प "-F" मनमाने ढंग से "ID3v2" फ्रेम की सेटिंग की अनुमति देता है: यदि किसी को सेट करने की आवश्यकता है
एक फ़्रेम, निर्देश "FRAME_spec=VALUE" का उपयोग करें:
-एफ टीआईटी2=द_न्यू_टाइटल
पुनः, संशोधित करने पर, सब मेल खाने वाले फ़्रेम पहले हटा दिए जाते हैं, इसलिए सावधानी बरतें
-एफ कॉम=मेरी टिप्पणी
एक से अधिक फ़्रेम सेट करने के लिए विकल्प "-F" को दोहराया जा सकता है। यदि कॉन्फ़िगरेशन चर
"खाली-एफ-डिलीट" सत्य (डिफ़ॉल्ट) है, खाली तर्क फ्रेम को हटा देंगे।
कोई "FRAME_spec=VALUE" को "FRAME_spec < FILE" से बदल सकता है; इस मामले में मान सेट करना होगा
नामित फ़ाइल से पढ़ा जाता है फ़ाइल; यदि फ़्रेम केवल-पाठ है (अर्थ: अधिक से अधिक
"[एन्कोडेड] टेक्स्ट यूआरएल भाषा विवरण" फ़ील्ड मौजूद हैं), फ़ाइल को टेक्स्ट में पढ़ा जाता है
मोड (और आरंभिक/अनुगामी रिक्त स्थान को हटाकर), अन्यथा इसे बाइनरी में पढ़ा जाता है
तरीका। ("<" चिह्नों के बारे में रिक्त स्थान आवश्यक है।) यदि "<" को "?<" से प्रतिस्थापित कर दिया जाए, तो
मान केवल तभी सेट किया जाता है जब फ़्रेम अभी तक मौजूद नहीं है, और यदि फ़ाइल मौजूद है; यदि ">" से प्रतिस्थापित किया जाए,
मान (यदि मौजूद है) को लिखा जाता है फ़ाइल (मध्यवर्ती निर्देशिकाओं का निर्माण है
कॉन्फ़िगरेशन विकल्प "frames_write_creates_dirs" द्वारा नियंत्रित, डिफ़ॉल्ट FALSE है)।
इसके अतिरिक्त, "FRAME_spec" "ID3v1" या "ID3v2" या "TAGS" में से एक हो सकता है; इस मामले में, संपूर्ण
टैग लिखे या पढ़े जाते हैं। उदाहरण के लिए, "टैग <फ़ाइल", "शीर्षक कलाकार एल्बम वर्ष शैली" के लिए
टिप्पणी ट्रैक" जानकारी की गणना की जाती है फ़ाइल, जो कच्चे टैग हो सकते हैं, जैसा कि ">" के साथ निर्मित होता है,
या एक वैध एमपी3 फ़ाइल; यदि Image::ExifTool मौजूद है, तो डेटा को मनमाने ढंग से पढ़ा जा सकता है
मल्टीमीडिया फ़ाइल. (इसी तरह, "ID3v1 <फ़ाइल" के लिए, वही जानकारी "ID3v1" से निकाली गई है
केवल टैग।) इसके बाद, "ID3v2" या "TAGS" के मामले में, "ID3v2" फ़्रेम को कॉपी किया जाता है
"ID3v2" टैग एक-एक करके। ("?<" के लिए उपयुक्त संशोधनों के साथ)
डिफ़ॉल्ट रूप से, "-F" के लिए "VALUE" "%"-प्रक्षेपित है; इसे विकल्प "-E" द्वारा बदला जा सकता है।
उपयोगकर्ता की सुविधा के लिए, मानव-अनुकूल फॉर्म "संगीतकार, टेक्स्ट_बाय, ऑर्केस्ट्रा, कंडक्टर,
डिस्क_एन" का उपयोग "टीसीओएम, टेक्स्ट, टीपीई2, टीपीई3, टीपीओएस" के स्थान पर किया जा सकता है।
विकल्प "-P RECIPE" विकल्पों द्वारा क्या किया जा सकता है इसका एक बहुत शक्तिशाली सामान्यीकरण है
"-F", "-d", और "-t -a -l -y -g -c -n"। इसे दोहराया जा सकता है; मूल्यों में शामिल होना चाहिए
व्यंजनों को पार्स करें। वे "MP3::Tag" का कॉन्फ़िगरेशन आइटम "parse_data" बन जाते हैं; अंततः
यह जानकारी MP3::Tag::ParseData मॉड्यूल द्वारा संसाधित की जाती है (यदि बाद वाला मौजूद है)।
अनुमानों की श्रृंखला; विकल्प "-सी" देखें)। "रेसिपी" को "$झंडे, $स्ट्रिंग,
@पैटर्न" अपने पहले गैर-अल्फ़ान्यूमेरिक वर्ण पर; @पैटर्न में से पहला जो मेल खाता है
$string निष्पादित होने जा रही है (दुष्प्रभावों के लिए)। (उदाहरण देखें: "उदाहरण: पार्स
नियम"।)
यदि विकल्प "-जी" निर्दिष्ट है, तो कमांड लाइन पर फ़ाइल नामों को ग्लोब माना जाता है
पैटर्न. यदि अधिकतम कमांड-लाइन लंबाई बहुत कम है तो यह उपयोगी हो सकता है। साथ
विकल्प "-R" तर्क निर्देशिका हो सकते हैं, जिन्हें ऑडियो के लिए पुनरावर्ती रूप से खोजा जाता है
(चूक जाना * .mp3) संसाधित करने के लिए फ़ाइलें; देखने के लिए रेगुलर एक्सप्रेशन को रीसेट करने के लिए विकल्प "-r" का उपयोग करें
के लिए (डिफ़ॉल्ट "(?i:\.mp3$)" है)।
विकल्प "-ई" एस्केप वर्णों के विस्तार को नियंत्रित करता है। इसमें के अक्षर होने चाहिए
कमांड-लाइन विकल्प जहां "\\, \n, \t" प्रक्षेपित होते हैं; कोई भी पत्र जोड़ सकता है
"talygcn F" विकल्पों में से "%" की आवश्यकता होती है - विभाजक के बाद प्रक्षेप "/i:" (के लिए)
"-F", केवल मान प्रक्षेपित हैं)। डिफ़ॉल्ट मान "p/i:Fp" है: केवल "-p" है
"\"-प्रक्षेपित, और केवल "-एफ" और "-पी" "%"-प्रक्षेप के अधीन हैं। यदि सभी एक
चाहता है जोड़ना डिफ़ॉल्ट के लिए, "-E" (अतिरिक्त विकल्पों सहित) के मान से आगे बढ़ें
"+"। (विकल्प "-पी" के मान के कुछ हिस्से प्रक्षेपित हैं, लेकिन ऐसा होना चाहिए
झंडों द्वारा शासित, "-ई" से नहीं; करना नहीं "P" को "-E" के "%"-प्रक्षेपित भाग में डालें।)
यदि विकल्प "-@" दिया गया है, तो विकल्पों में सभी अक्षर "@" को "%" से बदल दिया जाता है। यह
यह सुविधाजनक हो सकता है यदि शेल "%" को विशेष रूप से व्यवहार करता है (उदाहरण के लिए, डोसिश शेल)।
यदि विकल्प "-I" दिया गया है, तो इसके लिए कोई अनुमान नहीं लगाया जा सकता कलाकार फ़ील्ड टाइपआउट पर किया जाता है।
विकल्प "-C CONFIG_OPT=VALUE1,VALUE2..." "MP3::Tag" कॉन्फ़िगरेशन डेटा को समान सेट करता है
"MP3::Tag-" की तरहकॉन्फिग ()> करेगा (याद रखें कि मान एक सरणी है; अलग-अलग तत्व
यदि एक से अधिक हो तो अल्पविराम से)। एक से अधिक मान सेट करने के लिए विकल्प दोहराया जा सकता है। टिप्पणी
चूँकि "ParseData" का उपयोग "-P" पार्स व्यंजनों को संसाधित करने के लिए किया जाता है, इसलिए इसे बेहतर रखा जाना चाहिए
"-पी" की उपस्थिति में "ऑटोइन्फो" कॉन्फ़िगरेशन (और संबंधित फ़ील्ड "लेखक" आदि) में।
यदि विकल्प "-x" दिया गया है, तो ऑडियो फ़ाइल के बारे में तकनीकी जानकारी मुद्रित होती है
(MP3 स्तर, अवधि, फ़्रेम की संख्या, पैडिंग, कॉपीराइट और ID3v2 फ़्रेम की सूची
"%{...}" एस्केप के लिए उपयुक्त प्रारूप में नाम)। यदि "-x" दोहराया जाता है, तो फ़्रेम की सामग्री होती है
प्रिंट आउट भी (यदि इसे दो बार से अधिक दोहराया जाता है, तो गैर-मुद्रण योग्य वर्ण आउटपुट हो सकते हैं)।
यदि विकल्प "-एन" दिया गया है, तो सभी "स्मार्ट" अक्षम हो जाते हैं - फ़ील्ड का कोई सामान्यीकरण नहीं होता है
होता है, और (डिफ़ॉल्ट रूप से) गैर-आईडी3 से फ़ील्ड के मान निकालने का कोई प्रयास नहीं किया जाता है
जानकारी हो गयी. यह विकल्प (वर्तमान में) "-सी" के बराबर है
autoinfo=ParseData,ID3v2,ID3v1" पहले निर्देश के रूप में, कोई नहीं होने के लिए
सामान्यीकृत करें::पाठ::Music_Fields.pm @INC पथ पर मौजूद है, और कॉल नहीं कर रहा है स्वत:भरण() विधि.
मानकीकरण of फ़ील्ड्स
(सामान्यीकरण मॉड्यूल की लोडिंग और उसके बाद के सभी ऑपरेशन अक्षम किए जा सकते हैं
विकल्प "-N", या पर्यावरण चर "MP3TAG_NORMALIZE_FIELDS" को FALSE पर सेट करके।
यदि निषिद्ध नहीं है, तो मॉड्यूल को निर्देशिका में लोड करने का प्रयास किया जाता है ~/.music_fields is
मौजूद है, या "MP3TAG_NORMALIZE_FIELDS" सेट है और TRUE है।)
यदि मॉड्यूल "Normalize::Text::Music_Fields" की लोडिंग सफल है, तो निम्नलिखित है
लागू हो:
यदि "MP3TAG_NORMALIZE_FIELDS" का मान परिभाषित है और 1 नहीं, तो यह मान विभाजित है
निर्देशिकाओं को PATH के रूप में, और "Normalize::Text::Music_Fields" का लोड पथ इस पर सेट है
निर्देशिकाओं की सूची. फिर MP3::Tag को निर्देश दिया जाता है (संबंधित कॉन्फ़िगरेशन के माध्यम से)।
सेटिंग्स) इस मॉड्यूल द्वारा परिभाषित "नॉर्मलाइज़_आर्टिस्ट" (आदि) विधियों का उपयोग करने के लिए। ये तरीके
कुछ टैग डेटा को सामान्य कर सकता है। वर्तमान संस्करण "सामान्यीकरण" के तरीकों को परिभाषित करता है
व्यक्तिगत नाम और शीर्षक (संगीतकार के आधार पर)। यह सामान्यीकरण प्रेरित है
उपयोगकर्ता-संपादन योग्य कॉन्फ़िगरेशन तालिकाओं के माध्यम से।
एमपी3 टैग डेटा के स्वचालित सामान्यीकरण के अलावा, कोई "नकली एमपी3 फ़ाइलें" का उपयोग कर सकता है
इस मॉड्यूल की कुछ सुविधाओं को मैन्युअल रूप से एक्सेस करें। इसके लिए, एक खाली फ़ाइल नाम और "-D" का उपयोग करें
विकल्प। जैसे,
mp3info2 -D -a बीथोवेन -p "%a\n" ""
mp3info2 -D -a बीथोवेन -p "%{shP[%a]}\n" ""
mp3info2 -D -a बीथोवेन -t "सोनाटा #28" -p "%t\n" ""
mp3info2 -D -a beethoven -t "allegretto, Bes" -@p "@t\n" ""
mp3info2 -D -a बीथोवेन -t "op93" -@p "@t\n" ""
"बीथोवेन" के लिए सामान्यीकृत व्यक्ति-नाम, संबंधित सामान्यीकृत संक्षिप्त नाम प्रिंट करेगा
व्यक्ति-नाम, और संगीतकार "बीथोवेन" के "सोनाटा #28" के लिए सामान्यीकृत शीर्षक। जैसे,
भेजी गई सामान्यीकरण तालिकाओं के साथ, यह प्रिंट हो जाएगा
लुडविग वैन बीथोवेन (1770-1827)
एल वैन बीथोवेन
ए मेजर में पियानो सोनाटा नंबर 28; ऑप. 101 (1816)
बी फ्लैट मेजर में पियानो तिकड़ी के लिए एलेग्रेटो; वू 39 (1812)
एफ मेजर में सिम्फनी नंबर 8; ऑप. 93 (कॉम्प. 1812, एफपी वियना, 1814-02-27, कोंड. बीथोवेन; प्रकाशन 1816)
RSI आदेश of आपरेशन
वर्तमान में, संचालन निम्नलिखित क्रम में किया जाता है
· "-d" विकल्प के माध्यम से समग्र रूप से ID3v1 या ID3v2 को हटाना;
· "-P" विकल्प की रेसिपी सेट की गई हैं (इंटरपोलेशन द्वारा ट्रिगर की जाएंगी);
· सेटिंग "-a/-t/-l/-y/-g/-c/-n" विकल्पों के माध्यम से की गई;
· "-एफ" विकल्प के माध्यम से की गई सेटिंग्स;
· "-d" विकल्प के माध्यम से अलग-अलग फ़्रेमों को हटाना;
· ID3v2 (आईडी) फ्रेम की ऑटोफिल;
· "-p" और "-x" विकल्पों के आधार पर जानकारी उत्सर्जित करें;
· "-पी" की ट्रिगर प्राप्तकर्ता (यदि इंटरपोलेशन द्वारा ट्रिगर नहीं किया गया है);
· यदि आवश्यक हो तो टैग अपडेट करें।
प्रयोग रणनीति: गहरा हो जाना of जटिलता
इस स्क्रिप्ट का उद्देश्य ID3 टैग के प्रबंधन को सरल बनाना है as संभव.
पैमाने के एक छोर पर, कोई टैग का उपयोग करके मनमाने ढंग से जटिल हेरफेर कर सकता है
"एमपी3::टैग" पर्ल मॉड्यूल।
दूसरी ओर, टैग के साथ सरलतम जोड़-तोड़ को संभालना कहीं अधिक सुविधाजनक है
इस स्क्रिप्ट के विकल्प "-t -a -l -y -g -c -n" और "-p -F -d" का उपयोग करना। थोड़ा और के लिए
जटिल कार्यों के लिए, किसी को अधिक विस्तृत पद्धति का उपयोग करने की आवश्यकता हो सकती है पार्स नियम, प्रदान की गई
इस स्क्रिप्ट को "-P" विकल्प द्वारा; नियम बहुत हद तक निर्भर करते हैं प्रक्षेपदेखते हैं,
MP3::Tag में "interpolate", MP3::Tag में "interpolate_with_flags"।
"सरल जोड़-तोड़" से "अधिक विस्तृत जोड़-तोड़" में अपग्रेड को सरल बनाने के लिए, हम यहां हैं
"पार्स नियम" प्रदान करें समानार्थक शब्द सबसे सरल विकल्पों के लिए. तो यदि आप "-t -a -l -y" से शुरू करते हैं
-g -c -n" और "-p -F -d" विकल्प जो आपके लिए "लगभग काम" करते हैं, आपके पास एक अच्छा मौका है
नीचे वर्णित पर्यायवाची शब्दों को संशोधित करके अपने लक्ष्य को पूरी तरह से प्राप्त करने में सक्षम।
(नीचे हम मानते हैं कि "-E" विकल्प अपने डिफ़ॉल्ट मान पर सेट है, इसलिए "-F -p" हैं
"%"-प्रक्षेपित, अन्य विकल्प नहीं हैं। यह भी ध्यान दें कि यदि आपके TTY की एन्कोडिंग है
पर्ल द्वारा मान्यता प्राप्त, "-e 3" विकल्प सेट करने की अत्यधिक अनुशंसा की जाती है; डोसिश सीपियों पर,
बेहतर होगा कि "-@" का उपयोग करें और नीचे दिए गए "%" को "@" से बदलें।)
"-t मान"
-P "mz/VALUE/%t"
"-ए -एल -वाई -जी -सी -एन"
इसी तरह।
"-F" "TIT2=मान"
-P "mzi/VALUE/%{TIT2}"
"-F" "APIC[myDescr] <फ़ाइल"
-F "APIC[myDescr]=%{I(fimbB)FILE}"
or
-P "mzi/%{I(fimbB)FILE}/%{APIC[myDescr]}"
(केवल-पाठ फ़्रेम के लिए "बीबी" हटाएं)।
"-F" "APIC[myDescr] > फ़ाइल"
-P "bOi,%{APIC[myDescr]},फ़ाइल"
(केवल-पाठ फ़्रेम के लिए "बी" हटाएं); या "-e बाइनरी -p "%{APIC[myDescr]}"" का उपयोग करें
पुनर्निर्देशन के साथ, "उदाहरण: पार्स नियम" देखें।
"-d" TIT2
-पी "एम //% {टीआईटी2}"
"-F" "TIT2 ?<फ़ाइल"
बहुत पेचीदा. यह खाली फ़ाइल और गैर-मौजूदा फ़ाइल में अंतर स्थापित नहीं करेगा:
-P "mzi/%{TIT2:1}0%{I(fFim)FILE}/10/10%{TIT2}/0%{U1}"
(केवल-पाठ-रहित फ़्रेमों के लिए "fFim" में "bB" जोड़ें); अंतिम भाग छोड़ा जा सकता है
यदि कोई ध्वज "एम" को हटा देता है - तो यह केवल गलत छापों को पकड़ने के लिए मौजूद है।
"पार्स नियम" पर विवरण के लिए, "उदाहरण: पार्स नियम" और "विवरण" देखें
MP3::टैग::ParseData.
उदाहरण: पार्स नियम
केवल "-पी" विकल्प इतना जटिल है कि टिप्पणी की जा सकती है... पूरी जानकारी के लिए
पार्स नियम, MP3::Tag::ParseData में "विवरण" देखें; प्रक्षेप पर पूर्ण विवरण के लिए,
MP3::Tag में "interpolate" देखें, MP3::Tag में "interpolate_with_flags" देखें।
एक (मूर्खतापूर्ण) उदाहरण के लिए, कोई "-ए होमर -टी इलियड" को प्रतिस्थापित कर सकता है
-P mz=होमर=%a -P mz=इलियड=%t
एक कम मूर्खतापूर्ण उदाहरण फ़ाइल नाम को पार्स करने के एक विशेष तरीके को मजबूर करना है
-P "im=%{d0}/%f=%a/%n %t.%e"
इसे तोड़ दिया गया है
झंडे स्ट्रिंग पैटर्न1
"im" "%{d0}/%f" "%a/%n %t.%e"
ध्वज पत्र का मतलब है लगाना, मेल खाना चाहिए. यह स्ट्रिंग को प्रक्षेपित करता है
"%{d0}/%f" और परिणाम को पार्स करता है (जो निर्देशिका के एक स्तर के साथ फ़ाइल नाम है
भाग संरक्षित) दिए गए पैटर्न का उपयोग करके; इस प्रकार निर्देशिका का नाम कलाकार बन जाता है
अग्रणी संख्यात्मक भाग - ट्रैक नंबर, और शेष फ़ाइल नाम (एक्सटेंशन के बिना)
- शीर्षक। ध्यान दें कि चूंकि एकाधिक पैटर्न की अनुमति है, इसलिए कोई भी समान रूप से अनुमति दे सकता है
नामों के अनेक प्रारूप, उदा
-P "im=%{d0}/%f=%a/%n %t.%e=%a/%t (%y).%e"
फ़ाइल का आधार नाम "TITLE (YEAR)" के रूप में भी होने की अनुमति देता है। का एक वैकल्पिक तरीका
वही परिणाम प्राप्त होता है
-P "im=%{d0}=%a" -P "im=%f=%n %t.%e=%t (%y).%e"
जो दो प्राप्तियों से मेल खाता है:
झंडे स्ट्रिंग पैटर्न1 पैटर्न2
"im" "%{d0}" "%a"
"im" "%f" "%n %t.%e" "%t (%y).%e"
बेशक, कोई भी उपयोग कर सकता है
"im" "%B" "%n %t" "%t (%y)"
दूसरे के प्रतिस्थापन के रूप में।
ध्यान दें कि इसे सेट करना अधिक पठनीय हो सकता है कलाकार एक स्पष्ट असाइनमेंट द्वारा "%{d0}" के साथ
के समान तर्क
-ई "पी/आई:एफपीए" -ए "%{d0}"
("-ई" का यह मान "%" के अतिरिक्त विकल्प "-ए" के प्रक्षेप का अनुरोध करता है
डिफ़ॉल्ट "\"-"-p" का अंतर्वेशन, और "%"-"-F" और "-p" का अंतर्वेशन; कर सकते हैं
इसे "-E +/i:a") से शॉर्टकट करें।
अधिक उदाहरण देने के लिए,
-P "if=%D/.comment=%c"
फ़ाइल से टिप्पणी पढ़ेंगे ।टिप्पणी ऑडियो फ़ाइल की निर्देशिका में;
-P "ifn=%D/.comment=%c"
यदि फ़ाइल पर समान प्रभाव पड़ता है ।टिप्पणी एक-पंक्ति टिप्पणियाँ हैं, प्रति ट्रैक एक (यह मान लिया गया है
ट्रैक नंबर अन्य माध्यमों से पाया जा सकता है)।
मान लीजिए कि एक फ़ाइल पार्ट्स MP3 फ़ाइलों की एक निर्देशिका में निम्न प्रारूप होता है: इसमें a
प्रस्तावना, फिर ट्रैक से पहले प्रत्येक ऑडियो फ़ाइल में जानकारी का एक छोटा पैराग्राफ होता है
संख्या और बिंदु:
...
12. रेज़िटेटिव.
(पिजारो, रोक्को)
13. युगल: जेट्ज़्ट, ऑल्टर, जेट्ज़्ट हैट एस एइल, (पिज़ारो, रोक्को)
...
निम्न आदेश इस जानकारी को ID3 टैग के शीर्षक में डालता है (बशर्ते ऑडियो
फ़ाइल नाम पर्याप्त जानकारीपूर्ण हैं ताकि MP3::Tag ट्रैक नंबर निकाल सके):
mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;पार्ट्स;%=n. %टी'
यदि जानकारी के इस पैराग्राफ में "टिप्पणी" भाग के साथ "शीर्षक (टिप्पणी)" प्रपत्र है
वैकल्पिक होने पर, उपयोग करें
mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;पार्ट्स;%=n. %t (%c);%=n. %टी'
यदि आप शीर्षक के अंत में लगे बिंदु या अल्पविराम को हटाना चाहते हैं, तो इसका उपयोग करें
mp3info2 -u -C parse_split='\n(?=\d+\.)' \
-P 'fl;पार्ट्स;%=n. %t (%c);%=n. %t' -P 'iR;%t;%t[.,]$'
इस मंगलाचरण का दूसरा स्वरूप परिवर्तित किया गया है
['आईआर', '%t' => '%t[.,]$']
जो अनिवार्य रूप से शीर्षक में प्रतिस्थापन "s/(.*)[.,]$/$1/s" लागू करता है।
अब इसके अलावा मान लीजिए पार्ट्स, हमारे पास एक टेक्स्ट फ़ाइल है टिप्पणी अतिरिक्त जानकारी के साथ;
हम यह जानकारी टिप्पणी क्षेत्र में डालना चाहते हैं बाद "TITLE" से क्या निकाला गया है?
(टिप्पणी)"; टिप्पणी के इन दोनों भागों को एक खाली पंक्ति से अलग करें:
mp3info2 -EC -C 'parse_split=\n(?=\d+\.)' -C 'parse_join=\n\n' \
-P 'f;टिप्पणी;%c' -P 'fl;पार्ट्स;%=n. %टी' \
-P 'i;%t///%c;%t (%c)///%c' -P 'iR;%t;%t[.,]$'
यह माना जाता है कि शीर्षक और टिप्पणी में सबस्ट्रिंग के रूप में '///' शामिल नहीं है।
स्पष्टीकरण: "-पी" का पहला पैटर्न,
['f', 'टिप्पणी' => '%c'],
टिप्पणी फ़ील्ड में "टिप्पणी" फ़ाइल से टिप्पणी पढ़ता है; दूसरा,
['fl', 'भाग' => '%=n. %टी'],
शीर्षक फ़ील्ड में "भागों" का एक भाग पढ़ता है। तीसरा
['i', '%t///%c' => '%t (%c)///%c']
शीर्षक और टिप्पणी को पुनर्व्यवस्थित करता है बशर्ते शीर्षक "शीर्षक (टिप्पणी)" के रूप में है।
(कॉन्फ़िगरेशन विकल्प "parse_join" टिप्पणी के दो हिस्सों को अलग करने का ख्याल रखता है
दाहिनी ओर %c की दो घटनाओं के अनुरूप।)
अंततः, चौथा पैटर्न पिछले उदाहरण जैसा ही है; यह नकली को दूर करता है
शीर्षक के अंत में विराम चिह्न.
अधिक उदाहरण: टिप्पणी फ़ील्ड की शुरुआत से "वायलिन के साथ" स्ट्रिंग को हटाना (हटाना)।
यदि कुछ न बचे तो पूरी टिप्पणी करें):
mp3info2 -u -P 'iz;%c;वायलिन के साथ%c' *.mp3
ऑटो-अपडेट सुविधा को अन्य फ़ील्ड निकालने की अनुमति दिए बिना कलाकार फ़ील्ड सेट करना
अन्य स्रोत;
mp3info2 -C ऑटोइन्फो=ParseData -a "AU थॉर" *.mp3
एक टिप्पणी फ़ील्ड सेट करना जब तक कि वह पहले से ही मौजूद न हो:
mp3info2 -u -P 'i;%c///पियानो के साथ;///%c' *.mp3
अंतिम उदाहरण दिखाता है कि वास्तव में "प्रोग्राम" को "-P" की भाषा में कैसे लिखा जाता है
विकल्प: उदाहरण एक सशर्त असाइनमेंट देता है। उपयोगकर्ता चर के साथ (जैसा कि "%{U8}")
अस्थायी लोगों के लिए, और नियमित अभिव्यक्तियों का उपयोग करने की संभावना, कोई मनमाना प्रदान कर सकता है
प्रोग्रामेटिक तर्क. बेशक, जटिलता के कुछ स्तर पर किसी को बेहतर तरीके से स्विच करना चाहिए
"MP3::Tag" पर्ल मॉड्यूल के साथ सीधा इंटरफेसिंग (इस पर्ल स्क्रिप्ट के कोड को एक के रूप में उपयोग करें)।
उदाहरण!)।
यहां एक विशिष्ट कार्य सेटिंग "उन्नत" id3v2 फ़्रेम है: संगीतकार ("TCOM"), ऑर्केस्ट्रा
("TPE2"), कंडक्टर ("TPE3")। हम एक निर्देशिका वृक्ष मानते हैं जिसमें टैग की गई एमपी3 फ़ाइलें हैं
निम्नलिखित परंपराओं के साथ: "कलाकार" वास्तव में एक संगीतकार है; "टिप्पणी" इनमें से एक है
दो रूप:
कलाकार; आर्केस्ट्रा; कंडक्टर
आर्केस्ट्रा; कंडक्टर
विशिष्ट MP3 फ़्रेम को "-P" नियमों के माध्यम से सेट करने के लिए, उपयोग करें
mp3info2 -@P "mi/@a/@{TCOM}" \
-P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .
"-F" विकल्पों के साथ, इसे इस प्रकार सरल बनाया जा सकता है
mp3info2 -@F "TCOM=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .
or
mp3info2 -@F "composer=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .
वर्तमान निर्देशिका में एमपी3 फ़ाइलों के आईडी3 टैग को निर्देशिका में मौजूद फ़ाइलों में कॉपी करने के लिए /tmp/mp3 साथ में
विस्तार ।उपनाम (और "प्रगति रिपोर्ट" प्रिंट करें), उपयोग करें
mp3info2 -p "@N@E\n" -@P "bODi,@{ID3v2}@{ID3v1},/tmp/mp3/@N.tag" -DNR .
चूँकि हमने "z" ध्वज का उपयोग नहीं किया है, इसलिए बिना टैग वाली MP3 फ़ाइलें छोड़ दी जाती हैं।
अब मान लीजिए कि ऑडियो फ़ाइलों और गीत के दो समानांतर फ़ाइल पदानुक्रम हैं:
ऑडियो फ़ाइलें अंदर हैं ऑडियो/dir_name/audio_name.mp3 संबंधित गीत फ़ाइल के साथ
text/dir_name/audio_name.mp3. गीत को एमपी3 फाइलों में संलग्न करने के लिए ("COMM" फ्रेम में
"इंग्लैंड" भाषा में "गीत" का विवरण - इसका is a अमानक स्थान, देखना नीचे!),
कॉल
mp3info2 -@P "fim;../text/@{d0}/@B.txt;@{COMM(eng)[lyrics]}" -Ru .
निर्देशिका के अंदर ऑडियो. (ऑडियो फ़ाइलों को अनदेखा करने के लिए "fim" को "Ffim" में बदलें
संबंधित पाठ फ़ाइल मौजूद नहीं है।) (बेशक, विनिर्देशों का पालन करने के लिए,
किसी को "%{COMM(eng)[lyrics]}" के बजाय "%{USLT(eng)[]}" फ़ील्ड का उपयोग करना चाहिए था; देखना
विविधताओं के लिए नीचे)।
एक बहुत ही सरल उदाहरण से समाप्त करें: सभी पैटर्न क्या हैं
-पी 'i;%t;%t'
शीर्षक से अनुवर्ती और अग्रणी रिक्त स्थान को हटाना है (जो अन्य द्वारा घटाया गया है)।
बोले तो)।
अधिक उदाहरण
"-एफ" विकल्प के साथ, कोई "यूएसएलटी" फ्रेम को इस प्रकार सेट कर सकता है
mp3info2 -@F "USLT(eng)[] < ../text/@{d0}/@B.txt" -Ru .
ऐसे फ़्रेम का प्रिंट आउट (किसी भी भाषा में) लें
mp3info2 -@p "@{USLT[]}\n" file.mp3
इसी तरह, खाली विवरण के साथ एपीआईसी फ्रेम का प्रिंट आउट लेने के लिए उपयोग करें
mp3info2 -e बाइनरी -@p "@{APIC[]}" फ़ाइल.mp3 > आउटपुट_पिक्चर_फ़ाइल
या (विवरण "कवर" के साथ)
mp3info2 -@P "bOi,@{APIC[कवर]},output_picture_file.jpg" लोडिंग='आलसी' ऑडियो_07.mp3
फ़ाइल से ऐसा फ़्रेम सेट करने के लिए xxx.gif (डिफ़ॉल्ट "चित्र प्रकार", "कवर (सामने)" के साथ,
और खाली विवरण), इनमें से एक करें
mp3info2 -F "APIC <xxx.gif" फ़ाइल.mp3
mp3info2 -@F "APIC[]=@{I(fimbB)xxx.gif}" file.mp3
"APIC" और "APIC[]" का अंतर यह है कि पहले सभी "APIC" फ़्रेमों को हटा दिया जाता है,
और दूसरा खाली विवरण के साथ केवल सभी "एपीआईसी" फ़्रेम हटाता है - लेकिन मनमानी छवि
प्रकार। इसलिए पूर्ण विनिर्देशन का उपयोग करना अधिक उपयुक्त हो सकता है, जैसे कि "एपीआईसी (कवर)।
(सामने))[]"।
खाली विवरण वाले "APIC" फ़्रेमों को हटाने के लिए, मनमाने ढंग से "चित्र प्रकार" (और "MIME
प्रकार"जिसके द्वारा सही ढंग से गणना की जा सकती है mp3info2, उदाहरण के लिए, "टीआईएफएफ/जेपीईजी/जीआईएफ/पीएनजी"), उपयोग करें
mp3info2 -d "APIC[]" फ़ाइल.mp3
(ध्यान दें कि यह डिस्क स्थान खाली नहीं करेगा, जब तक कि कॉन्फ़िगरेशन द्वारा "सिकुड़ना" मजबूर न किया जाए
चर)। केवल "कंडक्टर" चित्र प्रकार के साथ भी ऐसा ही करें
mp3info2 -d "APIC(कंडक्टर)[]" फ़ाइल.mp3
उपनिर्देशिकाओं के माध्यम से स्कैन करने और फ़ाइल जोड़ने के लिए cover.jpg फ़ाइल की निर्देशिका से a
"डिफ़ॉल्ट" "एपीआईसी" फ्रेम, लेकिन केवल अगर कोई "एपीआईसी" फ्रेम नहीं है, और एक फ़ाइल मौजूद है, तो ऐसा करें
mp3info2 -@F "APIC ?<@D/cover.jpg" लोडिंग='आलसी' -आर।
यह दिनांक, "TCOP, TENC, WXXX[], COMM(eng)[]" के लिए खाली फ़्रेम हटा देता है, और हटा देता है
वर्तमान निर्देशिका में एमपी0 फ़ाइल से ट्रैक नंबर से अग्रणी 3:
mp3info2 -@ -E +/i:y -F "TCOP=@{TCOP}" -F "TENC=@{TENC}"
-F "WXXX[]=@{WXXX[]}" -F "COMM(eng)[]=@{COMM(eng)[]}"
-y "@y" -P "mi/@n/0@n/@n" *.mp3
उदाहरण on व्यवहार साथ में टूटा हुआ एन्कोडिंग
ID3 विनिर्देशन की प्रमुख कमज़ोरियों में से एक यह थी कि इसके लिए डेटा की आवश्यकता होती थी
"लैटिन-1" एन्कोडिंग में प्रदान किया गया। चूँकि विश्व की अधिकांश भाषाएँ अभिव्यक्ति योग्य नहीं हैं
"लैटिन-1", इसके कारण (अधिकांश?) आईडी3 टैग मानक-अनुरूप नहीं हैं। नई
विशिष्टताओं के संस्करणों ने इस कमी को ठीक कर दिया, लेकिन क्षति पहले ही हो चुकी थी।
सौभाग्य से, यह स्क्रिप्ट गैर-अनुरूपता से परिवर्तित करने के लिए "MP3::Tag" की क्षमताओं का उपयोग कर सकती है
एक अनुरूप सामग्री।
निम्नलिखित उदाहरण ID3v2 टैग को परिवर्तित करता है जो (गैर-मानक-अनुरूप) में लिखे गए थे
एन्कोडिंग "सीपी1251" को मानक-अनुरूप एन्कोडिंग में होना चाहिए। इस उदाहरण के प्रयोजन के लिए,
मान लें कि ID3v1 टैग एक ही एन्कोडिंग में हैं (और कोई उन्हें इसमें छोड़ना चाहता है
एन्कोडिंग "सीपी1251"); संसाधित की जाने वाली फ़ाइलें वर्तमान निर्देशिका में पाई जाती हैं और
(पुनरावर्ती रूप से) इसकी उपनिर्देशिकाओं में (डॉश शेल के लिए "सेट" सिंटैक्स):
MP3TAG_DECODE_V1_DEFAULT=cp1251 सेट करें
MP3TAG_DECODE_V2_DEFAULT=cp1251 सेट करें
mp3info2 -C id3v2_fix_encoding_on_write=1 -u2R।
अधिक जानकारी के लिए, MP3::Tag में "पर्यावरण", MP3::Tag में "config" और देखें
एमपी3::टैग में "अनुकूलन"।
असंगतियां साथ में mp3जानकारी
यह टूल प्रोग्राम पर शिथिल रूप से तैयार किया गया है mp3जानकारी; यह "ज्यादातर" पिछड़ा संगत है
(विशेष रूप से जब "-एन" के माध्यम से "नाइव" मोड में), और एक बहुत ही महत्वपूर्ण सुपरसेट की अनुमति देता है
कार्यक्षमता. ज्ञात पिछड़ी असंगतियाँ हैं:
-जी -एच -आर -डी -एक्स
अनुपलब्ध कार्यक्षमता:
-एफ -एफ -आई
असंगत "%"-पलायन:
%e %E - बिल्कुल अलग अर्थार्थ
%v - कोई अनुगामी 0 नहीं है
%q - भिन्नात्मक भाग है
%r - एक संख्या है, VBR के लिए "वेरिएबल" शब्द नहीं
%u - एक कम है (केवल डिस्क्रिप्टर फ़्रेम की उपस्थिति में?)
गुम "%"-पलायन:
% बी% जी
बैकस्लैश एस्केप: केवल "\\", "\n", "\t" समर्थित।
"-x" डेटा को एक अलग प्रारूप में प्रिंट करता है, सभी फ़ील्ड मौजूद नहीं हैं, और ID3v2 टैग नाम हैं
आउटपुट हैं.
वातावरण
"-e" 1, 2 या 3 के साथ, यह स्क्रिप्ट पर्यावरण चर "LC_CTYPE, LC_ALL, से परामर्श ले सकती है
LANG" वर्तमान एन्कोडिंग को कम करने के लिए। कोई अन्य पर्यावरण चर सीधे नहीं पढ़ा जाता है
यह स्क्रिप्ट.
हालाँकि, ध्यान दें कि MP3::Tag मॉड्यूल में एन्कोडिंग सेटिंग्स के लिए डिफ़ॉल्ट का एक समृद्ध सेट है
पर्यावरण चर द्वारा व्यवस्थित; एमपी3::टैग में "पर्यावरण" देखें। तो ये चर
प्रभावित (अप्रत्यक्ष रूप से) कि यह स्क्रिप्ट कैसे काम करती है।
अप्रचलित इंटरफ़ेस
यदि आप यह नहीं समझते कि यह किस बारे में है, तो इस घोषणा को अनदेखा करना सुरक्षित है:
पुराना, पूर्व-संस्करण = 1.05 तरीका (एक विभाजक के त्रिगुण द्वारा, पुनरावृत्ति के बिना
विकल्प) "-एफ" और <-पी> विकल्पों को एकाधिक कमांड प्रदान करने के लिए अभी भी समर्थित है, लेकिन है
दृढ़ता से हतोत्साहित. (यह वर्तमान इंटरफ़ेस के साथ विरोध नहीं करता है।)
onworks.net सेवाओं का उपयोग करके mp3info2p का ऑनलाइन उपयोग करें
