2008-11-22 8 views
16

मैं एक छोटी परियोजना शुरू करने से पहले एमपी 3 प्रारूप के बारे में कुछ सामान्य सलाह ढूंढ रहा हूं, यह सुनिश्चित करने के लिए कि मैं जंगली-हंस पीछा नहीं कर रहा हूं।पाइथन पुस्तकालय ट्रांसकोडिंग के बिना एमपी 3 ऑडियो को संशोधित करने के लिए

एमपी 3 प्रारूप के आंतरिक की मेरी समझ न्यूनतम है। आदर्श रूप से, मैं एक पुस्तकालय की तलाश में हूं जो उन विवरणों को दूर कर देगा। मैं पायथन का उपयोग करना पसंद करूंगा (लेकिन अन्यथा आश्वस्त किया जा सकता है)।

मैं एमपी 3 फ़ाइलों के एक सेट को काफी सरल तरीके से संशोधित करना चाहता हूं। मुझे आईडी 3 टैग में बहुत दिलचस्पी नहीं है बल्कि ऑडियो में भी दिलचस्पी है। मैं अनुभागों को हटाने में सक्षम होना चाहता हूं (उदाहरण के लिए तीसरे मिनट से 10 सेकंड छोड़ें), और अनुभागों को सम्मिलित करें (उदाहरण के लिए क्रेडिट को अंत में जोड़ें।)

मेरी समझ यह है कि एमपी 3 प्रारूप हानिकारक है, और इसलिए इसे डीकोड करना (उदाहरण के लिए) पीसीएम प्रारूप, संशोधन कर रहा है, और उसके बाद एमपी 3 को फिर से एन्कोडिंग ऑडियो गुणवत्ता को कम करेगा। (मैंने सुना है कि मैं गलत हूँ अच्छा लगेगा।)

मैं अनुमान कि अगर मैं एमपी 3 प्रारूप में रहना, वहाँ कम से कम फ्रेम या पैकेट आकार से निपटने के लिए किसी प्रकार का है, इसलिए आपरेशन के विवरण का स्तर कोरसर हो सकता है। मैं इसके साथ रह सकता हूं, जब तक मुझे कुछ सेकंड के भीतर सटीकता मिलती है।

मैंने PyMedia पर देखा है, लेकिन मुझे डेटा को संसाधित करने के लिए पीसीएम में माइग्रेट करने की आवश्यकता है। इसी प्रकार, LAME मुझे एन्कोड करने में मदद करना चाहता है, लेकिन जगह पर डेटा तक नहीं पहुंचना चाहता। मैंने कई अन्य पुस्तकालयों को देखा है जो केवल आईडी 3 टैग से निपटते हैं।

क्या कोई पाइथन एमपी 3 लाइब्रेरी की सिफारिश कर सकता है? वैकल्पिक रूप से, क्या आप मुझे मेरी धारणा का अनादर कर सकते हैं कि पीसीएम और पीठ पर जाना बुरा और टालने योग्य है?

उत्तर

6

मुझे तीन गुणवत्ता वाले उत्तर मिल गए, और मैं उन सभी के लिए धन्यवाद (और आप सभी को ऊपर उठाया)। मैंने किसी भी स्वीकृत उत्तर के रूप में नहीं चुना है, क्योंकि प्रत्येक ने एक पहलू को संबोधित किया है, इसलिए मैं सारांश लिखना चाहता था।

क्या आपको एमपी 3 में काम करने की ज़रूरत है?

  • पीसीएम के लिए transcoding और वापस एमपी 3 करने के लिए गुणवत्ता में एक बूंद में कमी की संभावना है।

  • ऑडियो-गुणवत्ता को समय-समय पर अनुकूलित न करें; इसे एक साधारण प्रोटोटाइप के साथ परीक्षण करें और इसे सुनें। एमपी 3

    • विकिपीडिया में

    कार्य MP3 File Format का एक सारांश है।

  • एमपी 3 फ्रेम छोटे (1152 नमूने, या केवल कुछ मिलीसेकंड) हैं जो उस स्तर पर मध्यम परिशुद्धता के लिए अनुमति देते हैं।

  • हालांकि, Wikipedia चेतावनी देता है कि "फ़्रेम स्वतंत्र आइटम नहीं हैं (" बाइट जलाशय ") और इसलिए मनमाने ढंग से फ्रेम सीमाओं पर निकाला नहीं जा सकता है।"

  • मौजूदा पुस्तकालयों में सहायता होने की संभावना नहीं है, अगर मैं वास्तव में डिकोडिंग से बचना चाहता हूं।

पीसीएम में कार्य करना

इस स्तर पर कई पुस्तकालयों हैं:

  • PyMedia
  • LAME
  • PyMad (? लिनक्स केवल डिकोडर केवल?)

एक उच्च स्तर पर कार्य करना

  • Echo Nest Remix API (मैक या Linux केवल, इस समय) एक वेब सेवा है जो काफी परिष्कृत आपरेशनों का समर्थन करता है के लिए एक एपीआई है (उदाहरण के लिए संगीत धड़कन और टेम्पो आदि के स्थानों को ढूंढना)

  • mp3DirectCut (केवल विंडोज़) एक जीयूआई है जो स्पष्ट रूप से मेरे द्वारा किए जाने वाले कार्यों को निष्पादित करता है, लेकिन एक ऐप के रूप में। यह खुला स्रोत नहीं है। (मैंने इसे चलाने की कोशिश की, एक एक्सेस अस्वीकृत इंस्टॉलर त्रुटि मिली, और उसका पालन नहीं किया। एक जीयूआई मेरे लिए उपयुक्त नहीं है, क्योंकि मैं बार-बार इन परिचालनों को फ़ाइलों की बदलती लाइब्रेरी पर चलाने के लिए चाहता हूं।)

मेरी योजना अब पीसीएम का उपयोग कर पायमीडिया में शुरू करने के लिए है। आपकी सहायता के लिए सभी को धन्यवाद।

+1

कथन "पीसीएम में ट्रांसकोडिंग और एमपी 3 पर वापस गुणवत्ता में गिरावट के परिणामस्वरूप होने की संभावना नहीं है।" गलत है। गुणवत्ता में गिरावट आपके लिए स्वीकार्य हो सकती है, लेकिन हमेशा नुकसान होता है। – jrwren

+0

@jrwren: [स्रोत जवाब] देखें (http://stackoverflow.com/a/310792/8014) जहां से मैंने इसे प्राप्त किया था। – Oddthinking

+0

[इको नेस्ट रीमिक्स] से लिंक करें (http://code.google.com/p/echo-nest-remix/) काम नहीं करता है (अब और?) – 576i

3

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

आप कुछ अलग-अलग एमपी 3 फ़ाइलों को फिर से एन्कोड करने के लिए एक एन्कोडर और एक डिकोडर का उपयोग करके एक परीक्षण बना सकते हैं और देख सकते हैं कि वे कैसे बदलते हैं, इससे आपको बिगड़ने की दर निर्धारित करने में मदद मिल सकती है और यह पता लगाना चाहिए कि क्या यह स्वीकार्य है आप। लगता है जैसे आपके पास पुस्तकालय हैं जिनका उपयोग आप पहले से ही इस सरल परीक्षण को चलाने के लिए कर सकते हैं।

एमपी 3 फ़ाइलें ऑडियो के "फ्रेम" से बनी हैं और इसलिए कुछ प्रयासों के साथ, न्यूनतम प्रयासों के साथ पूरे फ्रेम को हटाने के लिए यह संभव होना चाहिए (फ्रेम को हटाएं, फ़ाइल शीर्षलेख में कुछ मामूली विवरण अपडेट करें)। मेरा मानना ​​है कि फ्रेम बहुत कम हैं (कुछ मिलीसेकंड प्रत्येक) जो सटीकता को आप प्रदान करेंगे। तो MP3 File Format पर कुछ पढ़ना आपको ऐसा करने के लिए अपनी खुद की पायथन लाइब्रेरी को कोड करने के लिए पर्याप्त जानकारी देनी चाहिए। यह परंपरागत "ऑडियो प्रोसेसिंग" से काफी अलग है (क्योंकि आपको परिशुद्धता की परवाह नहीं है) और इसलिए आपको ऐसा मौजूदा लाइब्रेरी ढूंढने की संभावना नहीं है जो ऐसा करता है। अधिकांश, जैसा कि आपने पाया है, पहले ऑडियो को डिकंप्रेस करेगा ताकि आप पूर्ण सुगंधित नियंत्रण प्राप्त कर सकें।

+0

मुझे लगता है कि एमपी 3 फ्रेम ¹/₇₅ सेकंड हैं, बस सीडी की तरह। मैं अवधि के बारे में गलत हो सकता था, लेकिन अगर मैं हूं, तो मैं बहुत दूर नहीं हूं। – tzot

+1

मेरी पिछली टिप्पणी सही थी अगर नमूना 44100 हर्ट्ज है। आम तौर पर, प्रत्येक एमपीईजी 1 परत III फ्रेम 1152 नमूने लंबा है। – tzot

1

आपकी ज़रूरतों का सीधा जवाब नहीं है, लेकिन mp3DirectCut सॉफ़्टवेयर की जांच करें जो आप चाहते हैं (एक जीयूआई ऐप के रूप में)। मुझे लगता है कि स्रोत कोड उपलब्ध है, इसलिए यदि आपको कोई लाइब्रेरी नहीं मिलती है, तो आप एमपी 3 डायरेक्टकूट से कोड का उपयोग करके स्वयं का निर्माण कर सकते हैं या पाइथन एक्सटेंशन बना सकते हैं।

7

यदि आप चीजें कम स्तर पर करना चाहते हैं, तो pymad का उपयोग करें। यह एमपी 3 को नमूना डेटा के बफर में बदल देता है।

यदि आप कुछ उच्च स्तर चाहते हैं, तो इको नेस्ट Remix API का उपयोग करें (प्रकटीकरण: मैंने अपने दिन के लिए इसका हिस्सा लिखा)। इसमें कुछ उदाहरण शामिल हैं। यदि आप cowbell उदाहरण (यानी, MoreCowbell.dj) देखते हैं, तो आपको एक बफर के बजाय एक NumPy सरणी देता है। वह डेटाटाइप अनुभागों को टुकड़ा करना और उन पर गणित करना आसान बनाता है।

1

को हटाने या जबकि एमपी 3 डोमेन में रहने एमपी 3 खंडों निकालने एक एमपी 3 फ़ाइल से के लिए के रूप में (कि पीसीएम प्रारूप और वापस करने के लिए रूपांतरण के बिना, है), वहाँ भी खुला स्रोत पैकेज PyMp3Cut है।

एमपी 3 फाइलों को एक साथ जोड़ने के लिए (उदाहरण के लिए 'एमपी 3 फ़ाइल के अंत में या शुरुआत में' क्रेडिट्स 'जोड़ना) मैंने पाया है कि आप केवल एमपी 3 फाइलों को जोड़ सकते हैं जो कि फाइलें समान नमूना दर (जैसे 44.1khz) और चैनलों की एक ही संख्या (जैसे दोनों स्टीरियो हैं या दोनों मोनो हैं)।

+0

ध्यान दें कि PyMp3Cut VBR (परिवर्तनीय बिट दर) एमपी 3 के साथ काम नहीं करता है। – 576i

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