ID3 शीर्षक टैग को एमपी 3 फ़ाइल नाम के बराबर स्थापित करना


14

क्या किसी को एक बैश स्क्रिप्ट मिली है जो मीडिया लाइब्रेरी के माध्यम से जाएगी और प्रत्येक एमपी 3 फ़ाइल का आईडी 3 शीर्षक टैग फ़ाइल के नाम के बराबर होगा?

मैं अन्य स्वचालित विधियों के लिए भी खुला हूँ। यह GUI एप्लिकेशन या कुछ भी हो सकता है जो काम को स्वचालित रूप से करेगा।

इजीटैग विधि यहाँ दी गई है: एमपी 3 आईडी 3 फ़ाइलों में बल्क टाइटल टैग का नाम कैसे बदला जाए - दुर्भाग्य से, मुझे चरणों की समझ नहीं है।


आप अपने प्रश्न का उत्तर दे सकते हैं। आपके द्वारा पाए गए चरणों की सूची बनाएं ubuntuforums.orgऔर अपने स्रोत का हवाला दें। :) यह भविष्य के आगंतुकों को सुपरयुसर में मदद करेगा, इस मामले में कि ubuntuforums.orgलिंक अनुपलब्ध है।
iglvzx

3
यहाँ कुछ सुझाव दिए गए हैं: 1) "संपादित करें 1", "संपादन 2", आदि के साथ अपने प्रश्न को अव्यवस्थित न करें, टिप्पणियों का उपयोग करके समस्याओं का समाधान करें। 2) यदि आप कोई समाधान ढूंढते हैं, तो उसे उत्तर के रूप में पोस्ट करें, जैसे कि आप किसी और के प्रश्न का उत्तर देने की कोशिश कर रहे थे। सवाल का जवाब मत डालो । यह वह जगह नहीं है जहाँ लोग इसकी तलाश करते हैं :) इसके अलावा, कहीं और से बोली जाने वाली किसी चीज़ के लिए ब्लॉकक्वाट्स का उपयोग करें (स्वरूपण सहायता देखें)।
स्लैक

मैंने "कलाकार - Track.mp3" प्रारूप में एमपी 3 फ़ाइलों को सही ढंग से टैग करने के लिए एक स्क्रिप्ट बनाई और फिर फ़ाइल का नाम बदलकर "Track.mp3": gist.github.com/ZachSaucier/f51e608ac75e8ededeecdcd54a9ec103b0 का उपयोग करते हुएeyed3
Zach Saucier

जवाबों:


17

EasyTAG वास्तव में इस समस्या के लिए एक महान उपकरण है। मुझे यहाँ अपना उत्तर मिला । इसका उपयोग करने के तरीके के संदर्भ में, सबसे अच्छा संदर्भ ईजीएटीएजी के स्वयं के प्रलेखन के रूप में निकला है

EasyTag खोलें, इसमें संगीत फ़ाइलों के साथ एक फ़ोल्डर में नेविगेट करें, फ़ोल्डर में सभी फ़ाइलों का चयन करें, या उन सभी फ़ाइलों को जिन्हें आप टैग करना चाहते हैं, "स्कैन फ़ाइलें" बटन पर क्लिक करें (आपको पता लगाने के लिए उन पर हॉवर करना होगा जो एक ह) है।

फिर, सुनिश्चित करें कि स्कैनर ड्रॉपडाउन "टैग भरें" के लिए सेट है, फिर भरें टैग फ़ील्ड में, उपयुक्त संपादन तब तक करें जब तक कि क्षेत्र के नीचे का उदाहरण आपको जैसा दिखता है वैसा दिखता है। यदि आपको और अधिक मदद की आवश्यकता है कि क्या भरें टैग फ़ील्ड में रखा जाए, तो "?" पर क्लिक करें। किंवदंती के लिए बटन (सूचीबद्ध करने के लिए अलग-अलग संभावित कोड क्या हैं) और कुछ शुरुआती बिंदुओं को सूचीबद्ध करने के लिए मुखौटा बटन दबाएं।

जब आप परिणामों से खुश होते हैं, तो "स्कैन फ़ाइलें" बटन पर क्लिक करें (स्कैन फ़ाइलें डायलॉग बॉक्स में, वह नहीं जो आप मूल रूप से प्राप्त करने के लिए क्लिक करें, जहां आप हैं ... आइकन समान दिखते हैं) और आपके परिवर्तन लागू होंगे । यदि आपको कलाकार या एल्बम का नाम नहीं मिल रहा है, तो बस उस सभी का चयन करें जिसे आप बदलना चाहते हैं, डेटा दर्ज करें और उस फ़ील्ड के बगल में स्थित छोटे बटन पर क्लिक करें और चयनित सभी फाइलें उस कलाकार या एल्बम में भरी या बदल दी जाएंगी। यह ज्यादातर क्षेत्रों में काम करता है।

जब आपका काम हो जाए, तो सेव बटन पर क्लिक करें और आपका काम हो गया।

पुनश्च: CDDB स्कैनर अक्सर बहुत अच्छा काम करता है, अगर आपके पास पूर्ण एल्बम हैं जिन्हें आप टैग करने की कोशिश कर रहे हैं, या कम से कम व्यावसायिक रूप से उपलब्ध गाने की फाइलें।

PPS: मैं अभी भी आधा जाग रहा हूँ। आपने अपने मूल पोस्ट में जो लिखा है, उसके अनुसार फिल टैग क्षेत्र में यह प्रयास करें:

%n. %a - %t

यहां वह अनुभाग है जो इस प्रश्न के लिए प्रासंगिक है:


1.2.2। स्वचालित रूप से "भरें टैग" स्कैनर के साथ:

इस मोड का उपयोग करने के लिए कुछ शर्तें:

  • फ़ाइलों को एल्बमों द्वारा क्रमबद्ध किया गया
  • फ़ाइल नाम या मूल निर्देशिका में टैग जानकारी (कलाकार, एल्बम, शीर्षक,…) होती है
  • खाली या सही टैग नहीं

"भरें टैग" स्कैनर टैग प्रविष्टियों के साथ फ़ाइल नाम और निर्देशिका में शब्दों को जोड़ने के लिए एक पैटर्न का उपयोग करता है। इस तरह, स्कैनर विंडो या टूलबार में "ग्रीन" बटन दबाकर टैग फ़ील्ड को स्वचालित रूप से पूरा किया जा सकता है। यदि टैग आंशिक रूप से पूरा हो गया है, तो "प्राथमिकताएं" विंडो के "स्कैनर" टैब में "स्कैन करते समय टैग को स्कैन करते हुए" फ़ील्ड को नए मान द्वारा सभी फ़ील्ड को बदलने के लिए विकल्प का उपयोग करें।

प्रत्येक कोड एक क्षेत्र के अनुरूप है, निम्नलिखित नियम निम्नलिखित हैं:

Strings associated with code    Will fill the field
%a
  Artist
%b
  Album
%c
  Comment
%p
  Composer
%r
  Copyright
%e
  Encoded by
%g
  Genre
%i
  None! (used to ignore a string)
%l
  Number of tracks
%o
  Original artist
%n
  Track
%t
  Title
%u
  URL
%y
  Year

नोट: गलतियों से बचने के लिए, पैटर्न में केवल एक बार कोड का उपयोग करने की सिफारिश की जाती है। बेशक, जैसे मैन्युअल रूप से टैग करते समय, केवल चयनित फ़ाइलों को स्कैनर द्वारा संसाधित किया जाता है। आप सूची में परिभाषित पैटर्न का उपयोग कर सकते हैं, या अपनी फ़ाइल नामों और निर्देशिकाओं के प्रारूप के अनुरूप अपने पैटर्न लिख सकते हैं। सही पैटर्न का चयन करते समय या इसे लिखते समय गलतियों से बचने के लिए, पैटर्न को लागू करने से पहले एक पूर्वावलोकन तुरंत परिणाम दिखाता है। यदि आपको विभिन्न कोडों के साथ कुछ मदद चाहिए, तो प्रत्येक कोड के लीजेंड को प्रदर्शित करने के लिए "हेल्प" बटन (लाइफबॉय) दबाएं। इसके अलावा, यदि आप अपने स्वयं के पैटर्न को सहेजना चाहते हैं, तो संपादित करें या सॉर्ट करें, "मास्क" बटन दबाकर स्कैनर विंडो पर एक छोटा संपादक दिखाया जाएगा।

पैटर्न के उपयोग के एक उदाहरण के नीचे:

क) निम्नलिखित फ़ाइल नाम:

“/mnt/MP3/EVANESCENCE  Fallen (2003)  Rock/01. Going Under.mp3

b) with the pattern :

“%a - %b (%y) - %g/%n. %t

c) you will fill the tag with theses strings :

    Artist (%a) => EVANESCENCE
    Album (%b) => Fallen
    Year (%y) => 2003
    Genre (%g) => Rock
    Track (%n) => 01
    Title (%t) => Going Under


3

मुझे उपयोगी होने के लिए विभिन्न प्रकार के कमांड लाइन टूल मिले हैं:

ID3v2

id3v2 एक कमांड लाइन id3v2 टैग एडिटर है। आप id3v2 टैग जोड़ / संशोधित / हटा सकते हैं और id3v1 टैग को id3v2 टैग में बदल सकते हैं। यह id3lib का उपयोग करता है। मैं एक सह-अनुचर की तलाश कर रहा हूं। यदि आप रुचि रखते हैं तो कृपया myers_carpenter को ईमेल करें।

eyeD3

eyeD3 एक पायथन मॉड्यूल है और ID3 टैग के प्रसंस्करण के लिए कार्यक्रम है। एमपी फाइल्स (बिट रेट, सैंपल फ्रिक्वेंसी, प्ले टाइम आदि) के बारे में भी जानकारी दी गई है। समर्थित प्रारूप ID3 v1.0 / v1.1 और v2.3 / v2.4 हैं।

निर्देशिकाओं को स्कैन करने के लिए कुछ स्क्रिप्टिंग करते समय ये आदर्श होते हैं।


2

यह हमेशा बिल्कुल सही नहीं मिलता है, लेकिन मैंने इसका उपयोग केवल सामान्य यूनिक्स टूल (बिजीबॉक्स संस्करण सहित) का उपयोग करके एमपी 3 फ़ाइलों के नाम प्राप्त करने के लिए किया है। शायद केवल 6 टॉम पेटी एमपी 3 से अधिक के साथ कोई व्यक्ति इसे कुछ और परीक्षण दे सकता है।

for x in *.mp3; do
  TITLE=$(strings "$x" |grep TAG |grep -v TAGL |sed "s/^.*TAG//g ; /^L$/d ; /^@$/d ; /^$/d ; /^Ac$/d")
  #mv "$x" "$TITLE.mp3"
  echo $x" "$TITLE.mp3" #just echo for now, until further tested
done

संपादित करें: मैंने इस प्रश्न को गलत बताया है, लेकिन ऊपर यह जानकर हम $ TITLE को बदलने के लिए sed का उपयोग कर सकते हैं फ़ाइल "$ x" के नाम के साथ, स्ट्रिंग को बदलने के लिए sed का उपयोग करके

sed -i "s/$TITLE/$x/" "$x"

मुझे लगभग 100% यकीन है कि यह ID3 कल्पना के सभी को पूरा नहीं करता है, लेकिन यह बुनियादी व्यक्तिगत उपयोग के लिए पर्याप्त हो सकता है जब तक आप एक बैकअप बनाते हैं


धन्यवाद। मुझे EasyTAG का उपयोग करके अपने लक्ष्य को पूरा करने का एक तरीका मिला, लेकिन आपका जवाब वास्तव में मेरे मूल प्रश्न का सबसे अच्छा जवाब देता है। तार के बारे में जानने के लिए एक अच्छी उपयोगिता है। (मैंने पहले इसका उपयोग नहीं किया है।) क्या आप अपने सम्पादन के आधार पर एक सम्पूर्ण समाधान पोस्ट कर सकते हैं, तो मुझे यकीन है कि मैं सुझाए गए बदलाव को समझ सकता हूँ?
माउंटेनएक्स

2

उबंटू 18.04 एलटीएस के लिए (मुझे लगता है कि सभी डेबियन फ्लेवर्स इसे ठीक चलाएंगे):

  • के साथ eyeD3 स्थापित करें sudo apt install eyeD3

  • बैश स्क्रिप्ट के लिए एक फ़ाइल बनाएं (मैंने "टच" का उपयोग किया; आप जो भी पाठ संपादक पसंद करते हैं, उसका उपयोग कर सकते हैं)

  • इसे कॉपी करें और फ़ाइल में पेस्ट करें:

    फ़ाइल नाम कॉपी करता है और इसे शीर्षक टैग में लिखता है

    for x in *; do
        eyeD3 --title="${x%.*}" "$x"
        echo $a
    done

    यदि आप प्रगति को देखने के लिए परवाह नहीं करते हैं, तो echo $a "किए गए" शब्द के ऊपर की रेखा को छोड़ दें ।

  • फ़ाइल को निष्पादन योग्य बनाएं:

    chmod +x filename
  • स्क्रिप्ट को उस निर्देशिका में कॉपी करें जिसे आप इसे चलाना चाहते हैं - जिसमें आपकी मीडिया फ़ाइलें हैं; उदाहरण के लिए:

    cp filename /music/directory
  • उस निर्देशिका पर नेविगेट करें जिसकी आपने अभी स्क्रिप्ट कॉपी की है:

    cd /music/directory
  • स्क्रिप्ट चलाएँ:

    ./filename

    किया हुआ

इसने मेरे लिए उबंटू 18.04 एलटीएस पर काम किया - मेरी पत्नी ने मेरे लिए यह लगभग 3 मिनट में लिखा था, इसलिए मैं किसी भी प्रश्न का उत्तर नहीं दे सकता हूं यदि यह आपके लिए काम नहीं करता है; मैं प्रोग्रामर प्रेमी नहीं हूं, मैं इस वेब, डीएनएस, ssh, sftp, ftp, AD / डोमेन, फ़ाइल, फ़ायरवॉल, राउटर / सर्वर थोड़े आदमी को सेटअप कर रहा हूं :-) I HATE कर स्क्रिप्टिंग, प्रोग्रामिंग और ऐसा कुछ भी। मैं स्क्रिप्टिंग, प्रोग्रामिंग और इसके जैसे किसी भी चीज़ का लाभ उठाता हूं :-)


1

मैं हैरान हूँ कि कोई भी सबसे आसान समाधान का उपयोग कर सुझाव दिया है ffmpegया avconv:

for i in *.mp3; do avconv -y -i "$i" -c copy -metadata title="$i" new_"$i"; done;

0

मैं एक python virtualenv में eyeD3 स्थापित करूँगा pip install eyeD3ताकि आपको हाल ही में रिलीज़ किया गया संस्करण मिल सके। उसके बाद रन:

for i in *.mp3; do /your/venv/bin/eyeD3 --title "$i" "$i"; done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.