वेवपैक

From Vigyanwiki
Revision as of 23:34, 12 December 2023 by alpha>Ashirvad Verma
WavPack software
Developer(s)David Bryant
Stable release
5.6.0 / 27 November 2022; 23 months ago (2022-11-27)[1]
Operating systemCross-platform
TypeAudio codec Container
LicenseBSD license
Websitewavpack.com

WavPack मुफ़्त और ओपन-सोर्स ऑडियो कम्प्रेशन (डेटा) # दोषरहित फ़ाइल प्रारूप और प्रारूप को लागू करने वाला एप्लिकेशन है। यह इस मायने में अनोखा है कि यह सामान्य कम्प्रेशन के साथ-साथ हाइब्रिड ऑडियो कम्प्रेशन का भी समर्थन करता है जो कि FLAC के काम करने के तरीके के समान है। यह विभिन्न प्रकार के दोषरहित प्रारूपों को संपीड़ित करने का भी समर्थन करता है, जिसमें पल्स कोड मॉडुलेशन के विभिन्न प्रकार और सुपर ऑडियो सीडी में उपयोग किए जाने वाले डायरेक्ट स्ट्रीम डिजिटल के साथ-साथ सराउंड ऑडियो के लिए समर्थन भी शामिल है।

सुविधाएँ

WavPack संपीड़न .WAV फ़ाइल स्वरूप में 8, 16, 24, और 32-बिट फिक्स्ड-पॉइंट अंकगणित|फिक्स्ड-पॉइंट, और 32-बिट तैरनेवाला स्थल पीसीएम ऑडियो फ़ाइलों को संपीड़ित (और दोषरहित रूप से पुनर्स्थापित) कर सकता है। यह DSDIFF या DSF प्रारूप में DSD इनपुट को भी संभाल सकता है।[2] यह चारों ओर ध्वनि स्ट्रीम और उच्च नमूना दरों का भी समर्थन करता है। अन्य दोषरहित संपीड़न योजनाओं की तरह, डेटा कटौती दर स्रोत के साथ भिन्न होती है, लेकिन सामान्य लोकप्रिय संगीत के लिए यह आम तौर पर 30% और 70% के बीच होती है और शास्त्रीय संगीत और अधिक गतिशील रेंज वाले अन्य स्रोतों की तुलना में कुछ हद तक बेहतर होती है। रेफरी>Heijden, Hans (11 July 2006). "दोषरहित ऑडियो प्रारूपों का संपीड़न और गति". Archived from the original on 3 July 2009. Retrieved 17 July 2009.</ref>

हाइब्रिड मोड

WavPack में हाइब्रिड मोड भी शामिल है, जो अभी भी दोषरहित संपीड़न की सुविधाएँ प्रदान करता है, लेकिन दो फ़ाइलें बनाता है: अपेक्षाकृत छोटी, उच्च गुणवत्ता वाली, हानिपूर्ण फ़ाइल (.wv) जिसका उपयोग स्वयं किया जा सकता है; और सुधार फ़ाइल (.wvc), जो हानिपूर्ण फ़ाइल के साथ संयुक्त होने पर, पूर्ण दोषरहित पुनर्स्थापना प्रदान करती है। यह हानिपूर्ण और दोषरहित कोडेक्स को साथ उपयोग करने की अनुमति देता है। हानिपूर्ण एल्गोरिथ्म ADPCM के समान है।[3] हाइब्रिड मोड फ़्लोटिंग-पॉइंट डेटा को संभाल सकता है, लेकिन केवल तब जब अनंत या NaN जैसे अपवाद मान मौजूद नहीं होते हैं। यह DSD को संभाल नहीं सकता क्योंकि DSD के लिए कोई हानिपूर्ण एल्गोरिदम नहीं है।[2]

इसी तरह की हाइब्रिड सुविधा ऑप्टिमफ्रॉग डुअलस्ट्रीम, एमपीईजी-4 एसएलएस और डीटीएस-एचडी मास्टर ऑडियो द्वारा भी पेश की जाती है।

सारांश

  • खुला स्रोत सॉफ्टवेयर|ओपन-सोर्स, बीएसडी लाइसेंस-जैसे लाइसेंस के तहत जारी किया गया
  • बहु मंच
  • त्रुटि सुदृढ़ता
  • तेज़ एन्कोडिंग
  • अन्य व्यापक रूप से उपयोग किए जाने वाले (FLAC/ALAC) ओपन-सोर्स दोषरहित ऑडियो कोडेक्स की तुलना में उच्च संपीड़न अनुपात
  • स्ट्रीमिंग मीडिया समर्थन
  • मल्टीचैनल ऑडियो और उच्च रिज़ॉल्यूशन का समर्थन करता है
  • स्रोत फ़ाइल को पीसीएम में परिवर्तित किए बिना डायरेक्ट स्ट्रीम डिजिटल को संपीड़ित करने के लिए WavPack 5.x में मूल समर्थन।
  • हाइब्रिड/हानिपूर्ण मोड
  • हार्डवेयर समर्थन (रॉकबॉक्स फर्मवेयर द्वारा प्रदान किया गया)
  • मेटाडेटा समर्थन (ID3, APEv2 टैग टैग; APE टैग पसंदीदा प्रारूप है)
  • आरआईएफएफ (फ़ाइल प्रारूप) खंडों का समर्थन करता है
  • पुनःप्रदर्शन करना के साथ संगत
  • Win32 प्लेटफ़ॉर्म के लिए स्वयं-निकालने वाली फ़ाइलें बनाने की क्षमता
  • 32-बिट फ़्लोटिंग-पॉइंट स्ट्रीम का समर्थन करता है
  • एम्बेडेड क्यू शीट (संगीत सॉफ्टवेयर) का समर्थन करता है
  • त्वरित अखंडता जाँच के लिए MD5 हैश शामिल है
  • सममित और असममित (डिकोडिंग को तेज करने के लिए धीमी एन्कोडिंग) दोनों मोड में एन्कोड किया जा सकता है

इतिहास

डेविड ब्रायंट ने संस्करण 1.0 (1998-08-15) के रिलीज़ के साथ 1998 के मध्य में वेवपैक पर विकास शुरू किया। इस पहले संस्करण ने दोषरहित तरीके से ऑडियो को संपीड़ित और विघटित किया, और इसमें पहले से ही दोषरहित एन्कोडर्स के बीच सबसे अच्छी दक्षता बनाम गति अनुपात शामिल था।[4] संस्करण 1.0 के जारी होने के तुरंत बाद, वी. 2.0 (2 सितंबर 1998) जारी किया गया था, जिसमें हानिपूर्ण एन्कोडिंग (डेटा कटौती के लिए पूर्वानुमान अवशेषों की केवल मात्रा का उपयोग करके) की विशेषता थी – स्ट्रीम पर कोई साइकोअकॉस्टिक्स#मास्किंग प्रभाव लागू नहीं किया गया था)।

1999 में, संस्करण 3.0 (12 सितंबर 1999) जारी किया गया था, जिसमें नया तेज़ मोड (यद्यपि कम संपीड़न अनुपात के साथ), कच्ची (हेडरलेस) पल्स-कोड मॉड्यूलेशन ऑडियो फ़ाइलों का संपीड़न, और 32-बिट चक्रीय अतिरेक जांच का उपयोग करके त्रुटि का पता लगाया गया था। .

देर से 3.x संस्करणों में जोड़ी गई सुविधा हाइब्रिड मोड है जहां एनकोडर हानिपूर्ण फ़ाइल और सुधार फ़ाइल उत्पन्न करता है ताकि दोनों को पीसीएम स्ट्रीम में वापस विघटित किया जा सके जिसमें मूल के समान गुणवत्ता हो।[5] WavPack 4 में, नई फ़ाइल स्वरूप संरचना पेश की गई है। 4.40 के साथ लेखक द्वारा रोडमैप भी प्रकाशित किया गया है, जिसमें भविष्य के विकास पर संभावित संकेत शामिल हैं।[6] WavPack 5 ने DSD को कंप्रेस करने के लिए समर्थन पेश किया।

समर्थन

सॉफ़्टवेयर

कुछ सॉफ़्टवेयर मूल रूप से प्रारूप का समर्थन करते हैं (जैसे DeaDBeeF, foobar2000,[7] और जैक! चाकू), जबकि अन्य को प्लगइन्स की आवश्यकता होती है। आधिकारिक WavPack वेबसाइट Winamp, Nero Burning ROM, MediaChest 2.1 और कई अन्य अनुप्रयोगों के लिए प्लगइन्स के साथ-साथ DirectShow फ़िल्टर भी प्रदान करती है।[8] dBpoweramp CD-Ripper,[9] foobar2000 के लेखक द्वारा, साथ ही foobar2000 द्वारा[10] स्वयं, और असंडर (सॉफ़्टवेयर) ऑडियो सीडी को सीधे Wavpack फ़ाइलों में रिप करने की अनुमति देते हैं।

लिनक्स समर्थन देशी पोर्ट के साथ उपलब्ध है।

FFmpeg में देशी WavPack एनकोडर है, जिसे अतिरिक्त सॉफ्टवेयर की आवश्यकता के बिना, अन्य दोषरहित प्रारूपों को WavPack में और WavPack से FFmpeg द्वारा समर्थित किसी भी प्रारूप में तेजी से ट्रांसकोड करने के लिए कई CPU कोर का उपयोग करने के लिए GNU समानांतर सॉफ़्टवेयर के साथ जोड़ा जा सकता है। हालाँकि, FFMpeg का एनकोडर कुछ हद तक सीमित है।

2023 तक, FFmpeg के WavPack एनकोडर की कुछ महत्वपूर्ण सीमाएँ हैं। यह केवल संस्करण 4 बिटस्ट्रीम का उत्पादन कर सकता है, जो फ़ाइल अखंडता जांच या 16 से अधिक चैनलों के लिए तेज़ सत्यापन का समर्थन नहीं करता है। यह आरआईएफएफ खंडों को भी हटा देगा और 24-बिट इनपुट के साथ पूर्वानुमानित व्यवहार नहीं कर पाएगा। यह तेज़ एन्कोडिंग प्राप्त करने के लिए इष्टतम संपीड़न से कम पर भी डिफ़ॉल्ट होता है। हाइब्रिड मोड के लिए समर्थन की कमी के कारण, एफएफएमपीईजी-आधारित प्लेबैक सॉफ़्टवेयर .wvc सुधार फ़ाइल पर विचार करने में विफल रहेगा यदि कोई मौजूद है, और केवल हानिपूर्ण अनुभाग को चलाएगा या ट्रांसकोड करेगा। (हालांकि, यह WavPack के लिए ऑपरेशन का सामान्य तरीका नहीं है।) चूंकि डायरेक्ट स्ट्रीम डिजिटल के लिए मूल Wavpack समर्थन संदर्भ एनकोडर के संस्करण 5 में जोड़ा गया था, FFmpeg WavPack भी PCM इनपुट को एन्कोड करने तक ही सीमित है।[11]

हार्डवेयर

मूल समर्थन:

  • काउवॉन A3 PMP बॉक्स से बाहर WavPack को सपोर्ट करता है।

गैर-देशी समर्थन:

  • ऐप्पल आइपॉड रेंज के म्यूजिक प्लेयर बॉक्स के बाहर WavPack का समर्थन नहीं करते हैं, लेकिन ओपन-सोर्स रॉकबॉक्स फर्मवेयर के माध्यम से कर सकते हैं।
  • iRiver H100 श्रृंखला, ओपन-सोर्स रॉकबॉक्स फर्मवेयर के माध्यम से।
  • iRiver H300 श्रृंखला, ओपन-सोर्स रॉकबॉक्स फर्मवेयर के माध्यम से।[12]
  • तृतीय-पक्ष मीडिया-प्लेयर सॉफ़्टवेयर की स्थापना के साथ एंड्रॉइड (ऑपरेटिंग सिस्टम) स्मार्टफ़ोन और टैबलेट।
  • लिनक्स सबसिस्टम या एंड्रॉइड प्ले स्टोर में स्थापित मीडिया-प्लेयर सॉफ़्टवेयर का उपयोग करने वाले ChromeOS डिवाइस।

WavPack वेबसाइट में प्लगइन भी शामिल है जो Roku PhotoBridge HD पर प्रारूप के लिए समर्थन की अनुमति देता है। Archived 2005-07-08 at the Wayback Machine.[8]

प्रौद्योगिकी

हाई-स्पीड ऑपरेशन सुनिश्चित करने के लिए, WavPack भविष्यवक्ता का उपयोग करता है जो पूरी तरह से पूर्णांक गणित में लागू होता है।[13] अपने तेज़ मोड में भविष्यवाणी केवल पिछले दो नमूनों का अंकगणितीय एक्सट्रपलेशन है। उदाहरण के लिए, यदि पिछले दो नमूने -10 और 20 थे, तो भविष्यवाणी 50 होगी। डिफ़ॉल्ट मोड के लिए भविष्यवाणी पर पहले के नमूने के प्रभाव को मापने के लिए सरल अनुकूली कारक जोड़ा जाता है। उपरोक्त उदाहरण में परिणामी भविष्यवाणी बिना किसी प्रभाव के 20 से लेकर पूर्ण प्रभाव के लिए 50 तक भिन्न हो सकती है। ऑडियो डेटा की बदलती वर्णक्रमीय विशेषताओं के आधार पर यह भार कारक लगातार अद्यतन किया जाता है।

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

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

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

WavPack के डेटा पथ में कोई फ़्लोटिंग-पॉइंट अंकगणित का उपयोग नहीं किया जाता है क्योंकि, लेखक के अनुसार, पूर्णांक संचालन सूक्ष्म चिप-टू-चिप विविधताओं के प्रति कम संवेदनशील होते हैं जो संपीड़न की दोषरहित प्रकृति को दूषित कर सकते हैं (पेंटियम FDIV बग | पेंटियम फ़्लोटिंग-पॉइंट बग उदाहरण है)। यह संभव है कि दोषरहित कंप्रेसर जो फ़्लोटिंग-पॉइंट गणित का उपयोग करता है, उस दोषपूर्ण पेंटियम पर चलते समय अलग-अलग आउटपुट उत्पन्न कर सकता है। यहां तक ​​कि वास्तविक बगों को नजरअंदाज करते हुए भी, फ़्लोटिंग-पॉइंट गणित इतना जटिल है कि सही कार्यान्वयन के बीच सूक्ष्म अंतर हो सकते हैं जो इस प्रकार के एप्लिकेशन के लिए परेशानी पैदा कर सकते हैं।[14] WavPack के संपीड़न की अखंडता में उपयोगकर्ता का विश्वास बनाए रखने के लिए जेनरेट की गई स्ट्रीम में 32-बिट त्रुटि पहचान कोड शामिल किया गया है।

WavPack स्रोत कोड पोर्टेबल है और इसे कई Unix और Unix-जैसे ऑपरेटिंग सिस्टम (Linux, Mac OS माइक्रोसॉफ़्ट विंडोज़ , डॉस, पाम ओएस और ओपन VMS । यह x86, ARM आर्किटेक्चर, PowerPC, AMD64, IA-64, SPARC, DEC अल्फा, PA-RISC, MIPS आर्किटेक्चर और 68k सहित एमआईपीएस वास्तुकला पर काम करता है।

टेक्सास इंस्ट्रूमेंट्स TMS320 श्रृंखला डिजिटल सिग्नल प्रोसेसर के लिए WavPack का कट-डाउन संस्करण विकसित किया गया था। इसका उद्देश्य मुख्य रूप से निर्माताओं को पोर्टेबल मेमोरी ऑडियो रिकॉर्डर में WavPack संपीड़न (और डी-संपीड़न) को शामिल करने के लिए प्रोत्साहित करना था। इस संस्करण ने उन सुविधाओं का समर्थन किया जो केवल एम्बेडेड अनुप्रयोगों (वास्तविक समय में स्ट्रीम संपीड़न, चयन योग्य संपीड़न दर) पर लागू थीं और उन सुविधाओं को हटा दिया जो केवल पूर्ण कंप्यूटर सिस्टम (स्वयं निष्कर्षण, उच्च संपीड़न मोड, 32-बिट फ्लोट्स) पर लागू होती थीं। TMS320 श्रृंखला DSPs मूल पूर्णांक डिवाइस हैं, और WavPack को अच्छी तरह से समर्थन करते हैं। पूर्ण WavPack सॉफ़्टवेयर की कुछ विशेष सुविधाएँ शामिल की गईं (उदाहरण के लिए, सुधार फ़ाइल (स्ट्रीम) उत्पन्न करने की क्षमता), और अन्य को बाहर रखा गया था। पोर्ट संस्करण 4 पर आधारित था।

अक्टूबर 2006 में जारी संस्करण 11.0 बीटा के साथ शुरू करके WinZip में WavPack समर्थन जोड़ा गया था। रेफरी नाम= विनज़िप >"WinZip – Additional Compression Methods Specification". WinZip International LLC. 15 November 2006. Retrieved 6 January 2008.</ref> ज़िप (फ़ाइल प्रारूप) के इस एक्सटेंशन को प्रारूप के अनुरक्षक PKZIP द्वारा आधिकारिक में शामिल किया गया था APPNOTE.TXT विवरण फ़ाइल संस्करण 6.3.2 से शुरू होती है, 28 सितंबर 2007 को जारी की गई।[15]

यह भी देखें

संदर्भ

  1. "Release WavPack 5.6.0 Release · dbry/WavPack". GitHub.
  2. 2.0 2.1 "WavPack उपयोगकर्ता दस्तावेज़ीकरण". www.wavpack.com.
  3. Bryant, David. "7.11 WavPack". In Solomon, David (ed.). Data Compression: The Complete Reference (PDF). p. 773.
  4. Speek (7 February 2005). "Performance comparison of lossless audio compressors". Archived from the original on 25 November 2010. Retrieved 17 July 2009.
  5. "WavPack Audio Compression".
  6. "WavPack 4.40 released".
  7. "foobar2000". foobar2000.org. Retrieved 2019-11-19.
  8. 8.0 8.1 "WavPack डाउनलोड". www.wavpack.com.
  9. "डीबीपॉवरएम्प कोडेक सेंट्रल". www.dbpoweramp.com. Retrieved 2019-11-19.
  10. "foobar2000: Free Encoder Pack". www.foobar2000.org. Retrieved 2019-11-19.
  11. https://wiki.hydrogenaud.io/index.php?title=WavPack#FFmpeg.27s_WavPack_implementation:_differences_and_quirks
  12. "SoundCodecs < Main < Wiki". www.rockbox.org.
  13. Bryant, David (21 March 2007). "Forum comment by developer". Retrieved 17 July 2009.
  14. Goldberg, David (March 1991). "फ़्लोटिंग-पॉइंट अंकगणित के बारे में प्रत्येक कंप्यूटर वैज्ञानिक को क्या पता होना चाहिए" (PDF). ACM Computing Surveys. 23 (1): 5–48. doi:10.1145/103162.103163. S2CID 222008826. Retrieved 2016-01-20. ([1], [2]).
  15. "APPNOTE.TXT – .ZIP File Format Specification". PKWARE Inc. 28 September 2007. Retrieved 6 January 2008.

बाहरी संबंध