2009-01-24 7 views
12

मैं कैसे पाइथन (अधिमानतः पाइथन के साथ) डुप्लिकेट एमपी 3 फाइलों को पहचान सकता हूं जिसे अलग-अलग बिटरेट्स के साथ एन्कोड किया जा सकता है (लेकिन वे एक ही गीत हैं) और आईडी 3 टैग जो गलत हो सकते हैं?अलग-अलग बिट्रेट्स और/या विभिन्न आईडी 3 टैग के साथ डुप्लिकेट एमपी 3 फ़ाइलों का पता लगाएं?

मुझे पता है कि मैं फाइल सामग्री की MD5 चेकसम कर सकता हूं लेकिन यह अलग-अलग बिट्रेट्स के लिए काम नहीं करेगा। और मुझे नहीं पता कि आईडी 3 टैग एमडी 5 चेकसम उत्पन्न करने पर प्रभाव डालते हैं या नहीं। क्या मुझे एमपी 3 फ़ाइलों को दोबारा एन्कोड करना चाहिए जिसमें अलग बिटरेट है और फिर मैं चेकसम कर सकता हूं? आप क्या सलाह देते हैं?

+0

आसान वेब सेवा के लिए विभिन्न ग्राहक पुस्तकालयों और उदाहरण मिल जाएगा: https://github.com/worldveil/dejavu – lollercoaster

उत्तर

2

मुझे नहीं लगता कि सरल चेकसम कभी काम करेंगे:

  1. ID3 टैग md5
  2. अलग एनकोडर एक ही गीत अलग अलग तरीकों से सांकेतिक शब्दों में बदलना होगा प्रभावित करेगा - तो चेकसम अलग
  3. अलग हो जाएगा बिट-रेट विभिन्न चेकसम का उत्पादन करेंगे
  4. एक अलग बिट-दर पर एमपी 3 को फिर से एन्कोड करना संभवतः भयानक लगता है और निश्चित रूप से एक चरण में संपीड़ित मूल ऑडियो के लिए अलग होगा।

मुझे लगता है कि आपको आईडी 3 टैग, गीत की लंबाई और फ़ाइल नामों की तुलना करना होगा।

2

एक ही बिट दर पर पुन: एन्कोडिंग काम नहीं करेगा, असल में यह ट्रांसकोडिंग के रूप में चीजों को और खराब कर सकता है (जो अलग-अलग बिट्रेट्स पर फिर से एन्कोडिंग कहा जाता है) संपीड़न की प्रकृति को बदलने जा रहा है, आप पहले से संपीड़ित फ़ाइल को पुन: सम्मिलित कर रहे हैं एक महत्वपूर्ण फाइल के लिए नेतृत्व करने जा रहा है।

यह मेरी लीग से थोड़ा सा है लेकिन मैं एमपी 3 के तरंग पैटर्न को देखकर समस्या से संपर्क करूंगा। एमपी 3 को एक असम्पीडित .wav में परिवर्तित करके या शायद एमपी 3 फ़ाइल पर विश्लेषण चलाकर। इसके लिए वहां एक पुस्तकालय होना चाहिए। चेतावनी का एक शब्द, यह एक महंगा ऑपरेशन है।

एक और विचार, फ़ाइलों को स्कैन करने के लिए ReplayGain का उपयोग करें। यदि वे एक ही गीत हैं, तो उन्हें एक ही लाभ के साथ टैग किया जाना चाहिए। यह केवल सटीक उसी एल्बम से सटीक उसी गीत पर काम करेगा। मुझे पता है कि कई मामलों में पुनर्मिलन उच्च मात्रा में remastered हैं, इस प्रकार replaygain बदल रहा है।

संपादित करें:
आप http://www.speech.kth.se/snack/ देख सकते हैं, जो स्पष्ट रूप से स्पेक्ट्रोग्राम विज़ुअलाइज़ेशन कर सकता है। मैं कल्पना करता हूं कि कोई भी पुस्तकालय जो स्पेक्ट्रोग्राम दृश्य कर सकता है, आप उनकी तुलना करने में मदद कर सकते हैं।

आधिकारिक पायथन पृष्ठ से यह link भी सहायक हो सकता है।

13

वही सवाल है कि पुराने ऑडियोस्क्रोबलर के लोग और वर्तमान में MusicBrainz पर बहुत पहले से काम कर चुके हैं। उस समय के लिए, पाइथन प्रोजेक्ट जो आपकी खोज में सहायता कर सकता है, Picard है, जो एक GUID (वास्तव में, उनमें से कई) के साथ ऑडियो फ़ाइलों (केवल एमपीईजी 1 परत 3 फाइलों) को टैग नहीं करेगा, और उसके बाद से मिलान करेगा टैग काफी सरल है।

यदि आप इसे अपनी परियोजना के रूप में करना पसंद करते हैं, तो libofa सहायता का हो सकता है।

+0

इसके अलावा पिकार्ड है खुला स्रोत और म्यूज़िक हो सकता है अपने कोड द्वारा प्रयोग किया जाता है। – David

+0

दिलचस्प, यह पिकार्ड इस GUID को कैसे उत्पन्न करता है? –

+0

@ नीमो: सबसे पहले, समझें कि संगीतब्रेन क्या है: http://musicbrainz.org/doc/AboutMusicBrainz। फिर पढ़ें कि यह http://musicbrainz.org/doc/HowPUIDsWork – tzot

4

अन्य लोगों की तरह, सरल चेकसम अलग-अलग बिट्रेट्स या आईडी 3 टैग के साथ डुप्लिकेट का पता नहीं लगाएंगे। आपको एक ऑडियो फिंगरप्रिंट एल्गोरिदम की आवश्यकता है। पायथन ऑडिओप्रोसेसिंग सूट में ऐसा एल्गोरिदम है, लेकिन मैं कुछ भी नहीं कह सकता कि यह कितना विश्वसनीय है।

http://rudd-o.com/new-projects/python-audioprocessing

3

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

1

मैं अपनी प्राथमिक ह्युरिस्टिक के रूप में लंबाई का उपयोग करूंगा। आईट्यून्स यही करता है जब यह Gracenote database का उपयोग कर सीडी की पहचान करने की कोशिश कर रहा है। सेकंड के बजाए Measure the lengths in milliseconds। याद रखें, यह केवल एक उदारवादी है: आपको निश्चित रूप से उन्हें हटाने से पहले किसी भी खोजे गए डुप्लिकेट को सुनना चाहिए।

2

देजावु परियोजना पायथन में लिखी गई है और जो भी आप ढूंढ रहे हैं वह ठीक है।

https://github.com/worldveil/dejavu

यह भी कई आम प्रारूप (.wav, .mp3, आदि) के साथ-साथ समय मूल ऑडियो ट्रैक में क्लिप की भरपाई की खोज का समर्थन करता है।

1

आप PUID और म्यूज़िक के लिए उत्तराधिकारी, कहा जाता AcoustiD उपयोग कर सकते हैं:

AcoustID एक खुला स्रोत परियोजना है कि म्यूज़िक मेटाडाटा डेटाबेस के लिए मानचित्रण के साथ ऑडियो उंगलियों के निशान के एक मुक्त डेटाबेस बनाने और प्रदान करना है ऑडियो फ़ाइल की पहचान के लिए एक वेब सेवा इस डेटाबेस का उपयोग कर ...

... कुछ मेटाडेटा AcoustID डेटाबेस के लिए गाने की पहचान करने के लिए आवश्यक के साथ उंगलियों के निशान ...

आप वास्तव में ऐसा करने के लिए अजगर पुस्तकालय का उपयोग करने पर https://acoustid.org/

संबंधित मुद्दे