इस प्रोजेक्ट के बारे में

music-metadata एक ओपन-सोर्स मेटाडेटा पार्सर है जो ऑडियो और वीडियो मीडिया फ़ाइलों के लिए है, जिसे npm पैकेज के रूप में वितरित किया जाता है। यह स्थानीय फ़ाइलों, स्ट्रीम, Blob और इन-मेमोरी बफ़र से प्रारूप, टैग और अवधि जानकारी पढ़ता है, और Webpack या Rollup जैसे टूल के साथ बंडल करने पर Node.js और ब्राउज़र वातावरण दोनों में चलता है। प्रारूप कवरेज में MP3, MP4/M4A/M4V, FLAC, Ogg, Opus, Vorbis, Speex, Theora, WAV/BWF, AIFF/AIFF-C, AAC/ADTS, APE, ASF/WMA, Matroska/WebM, MPC, DSF, DSDIFF और WavPack शामिल हैं। टैग समर्थन में ID3v1, ID3v1.1, ID3v2.2, ID3v2.3, ID3v2.4 और ID3v2 Chapters, APE, ASF, EXIF 2.3, iTunes/MP4, RIFF/INFO, Vorbis टिप्पणियाँ और AIFF शामिल हैं। LRC, सिंक्रनाइज़ (SYLT) और गैर-सिंक्रनाइज़ (USLT) गीत प्रारूपों को संभाला जाता है, साथ ही Picard द्वारा लिखे गए MusicBrainz टैग और ReplayGain टैग भी। बिट दर, बिट गहराई, अवधि और एन्कोडिंग प्रोफ़ाइल (उदाहरण के लिए CBR, V0, V2) जैसे एन्कोडिंग विवरण भी निकाले जाते हैं। API प्रॉमिस-आधारित है। Node.js-विशिष्ट एंट्री पॉइंट फ़ाइलसिस्टम पथों के लिए parseFile और Node.js Readable स्ट्रीम के लिए parseStream हैं। क्रॉस-प्लेटफ़ॉर्म एंट्री पॉइंट में वेब ReadableStream ऑब्जेक्ट के लिए parseWebStream, Blob या File ऑब्जेक्ट के लिए parseBlob, Uint8Array या Buffer डेटा के लिए parseBuffer, और कस्टम या तृतीय-पक्ष strtok3 टोकनाइज़र के लिए parseFromTokenizer शामिल हैं। वैकल्पिक विकल्प अवधि गणना और एम्बेडेड कवर आर्ट को छोड़ने जैसे व्यवहारों पर नियंत्रण की अनुमति देते हैं। संस्करण 8 CommonJS से शुद्ध ECMAScript मॉड्यूल में स्थानांतरित हो गया और ECMAScript 2020 को लक्षित करता है, जिसमें Node.js 22 या नए इंजन की आवश्यकता है; एक CommonJS बैकवर्ड-संगतता पथ प्रलेखित है। परियोजना Borewit द्वारा बनाए रखी गई है और इसमें CI, CodeQL, कवरेज और निर्भरता-भेद्यता बैज शामिल हैं। ऑडियो टैग एनालाइज़र, Webamp और एक ICY रेडियो स्ट्रीम प्लेयर जैसे ऑनलाइन डेमो विशिष्ट उपयोगों को दर्शाते हैं, और लाइब्रेरी मीडिया अनुप्रयोगों, संगीत प्लेयर और विस्तृत ऑडियो मेटाडेटा की आवश्यकता वाली अन्य परियोजनाओं के लिए है।