- Beets एक ओपन सोर्स संगीत प्रबंधन टूल है जो संगीत कलेक्शन के metadata को अपने आप व्यवस्थित और सुधार देता है
- यह MusicBrainz डेटाबेस का उपयोग करके एल्बम, गीत जानकारी आदि को अपने आप बेहतर बनाता है, और कई तरह के manipulation और search tools प्रदान करता है
- plugin संरचना के ज़रिए album art, lyrics, genre, tempo, ReplayGain, acoustic fingerprint जैसे विविध metadata को लाया या गणना किया जा सकता है
- duplicate track detection, missing track check, audio format conversion, web browser आधारित playback जैसी सुविधाएँ समर्थित हैं
- Python में सीधे plugin development करना आसान होने से यह उच्च विस्तारशीलता और customization वाला संगीत प्रबंधन वातावरण प्रदान करता है
Beets परिचय
- Beets संगीत कलेक्शन को एक साथ व्यवस्थित करने के लिए डिज़ाइन किया गया संगीत प्रबंधन automation tool है
- यह कलेक्शन को catalog करता है और MusicBrainz डेटाबेस का उपयोग करके metadata को अपने आप बेहतर बनाता है
- इसके बाद संगीत को संचालित करने और उस तक पहुँचने के लिए विभिन्न tool set प्रदान करता है
मुख्य विशेषताएँ
- plugin-आधारित विस्तार संरचना के कारण लगभग हर तरह का संगीत प्रबंधन कार्य किया जा सकता है
- आवश्यक सभी metadata (album art, lyrics, genre, tempo, ReplayGain, acoustic fingerprint) को लाया या गणना किया जा सकता है
- MusicBrainz, Discogs, Beatport आदि से metadata लाया जा सकता है, या फ़ाइल नाम और acoustic fingerprint के आधार पर अनुमान लगाया जा सकता है
- audio transcoding के जरिए मनचाहे format में बदला जा सकता है
- duplicate track और missing track detection सुविधा प्रदान करता है
- HTML5 Audio को समर्थन देने वाले web browser में graphical interface के साथ browse और playback संभव है
विस्तारशीलता और development
- यदि Beets आपकी इच्छित सुविधा का समर्थन नहीं करता, तो Python में आसानी से plugin लिखा जा सकता है
- Python की बुनियादी जानकारी भर से नई सुविधाएँ जोड़ी जा सकती हैं
इंस्टॉलेशन और शुरुआत
- इंस्टॉलेशन कमांड:
pip install beets
- इंस्टॉल के बाद Getting Started guide को देखकर शुरुआती सेटअप किया जा सकता है
- अपडेट्स Fosstodon के @beets अकाउंट के माध्यम से देखे जा सकते हैं
सारांश
- Beets एक ऐसा संगीत प्रबंधन टूल है जिसमें स्वचालित metadata व्यवस्था, plugin विस्तारशीलता, और web-आधारित पहुँच मौजूद है
- Python ecosystem के साथ इसके संयोजन से developer-friendly customization संभव है, और यह संगीत प्रेमियों तथा तकनीकी उपयोगकर्ताओं दोनों के लिए उपयोगी समाधान है
1 टिप्पणियां
Hacker News राय
जिन लोगों का कहना है कि उनके कलेक्शन का कुछ हिस्सा किसी भी DB में नहीं है, उनके लिए सबसे अच्छा समाधान है कि उसे सीधे Musicbrainz में जोड़ दें
सच कहें तो Musicbrainz में एंट्री जोड़ना काफ़ी आसान और मज़ेदार काम है।
स्ट्रीमिंग रिलीज़ या Bandcamp के मामले में, Harmony में सिर्फ URL डालने से ज़्यादातर काम अपने-आप हो जाता है
Musicbrainz लगभग हर तरह के संगीत-संबंधित डेटा को व्यक्त कर सकता है, और सब कुछ मुक्त लाइसेंस में उपलब्ध है। ज़्यादातर बदलाव अपने-आप लागू हो जाते हैं, और केवल कुछ ही 7 दिन की वोटिंग प्रक्रिया से गुजरते हैं
मेरे कलेक्शन में खुद एडिट किए हुए hybrid tracks, दोस्तों के परफ़ॉर्मेंस की रिकॉर्डिंग, गेम sound captures जैसी बहुत-सी निजी चीज़ें हैं
ऐसी चीज़ों को अपनी ही classification scheme से मैनेज करना सही है। यह वैसा ही है जैसे ISBN के बिना किसी स्केचबुक को लाइब्रेरी में नहीं रखा जा सकता
अपनी music library को beets में import करने में मुझे काफ़ी मेहनत करनी पड़ी
commercial albums में कोई दिक्कत नहीं, लेकिन non-commercial releases और fan recordings के लिए model फिट नहीं बैठता, इसलिए बहुत समय लगता है
फिर भी beets एक शानदार tool है। बस commercial releases से जितना दूर जाते हैं, उतनी मुश्किल बढ़ती जाती है
अगर आप Navidrome जैसा streaming server इस्तेमाल करते हैं, तो beets-alternatives की सिफारिश करूँगा
इससे आप library के किसी हिस्से को दूसरी structure में sync और convert कर सकते हैं, ताकि जैसे multi-disc albums को हर disc के अलग folder में रखते हुए भी streaming server की requirements पूरी की जा सकें
इसमें web UI के ज़रिए auto-import pipeline सेट की जा सकती है, और manual steps भी आसानी से मैनेज हो जाते हैं
मुझे genre tags पसंद नहीं हैं। वे बहुत ज़्यादा सरल बना देते हैं और अस्पष्ट भी होते हैं
R.E.M. जैसे band को क्या कहें, यह भी साफ़ नहीं होता। मुझे लगता है कि “live” या “soundtrack” जैसी चीज़ें ही कुछ मायने रखती हैं
‘alternative’ का मतलब बस हर दौर में बदलता रहा है
कुछ दिनों तक beets configuration को सँवारने के बाद अब मैं पूरी तरह संतुष्ट हूँ
मेरा workflow है: Bandcamp से album खरीदना → zip download करना →
beet importचलानाफिर beets अपने-आप unzip, Musicbrainz matching, metadata update, और file structure organization तक सब कर देता है
Navidrome के साथ अच्छा fit होने की वजह से मैंने beets आज़माया था, लेकिन मेरे उपयोग के लिए मेहनत के मुकाबले उसका फायदा कम था, इसलिए आखिरकार छोड़ दिया
अब मैं लगभग tagging नहीं करता, और KDE Elisa जैसे folder-based on-the-fly playlists बना सकने वाले विकल्प ढूँढ रहा हूँ
क्या किसी को पता है कि CD ripping को beets workflow में automate कैसे किया जाए?
मुझे beets पसंद है, लेकिन genres को बहुत बारीक बाँटने के बजाय सिर्फ broad categories में रखना चाहता हूँ
लेकिन auto-tagging सैकड़ों detailed genres बना देता है
classical जैसी कई versions वाली music के लिए tagging structure का pop music-केंद्रित होना मुश्किल पैदा करता है
मैंने beets को देखा, लेकिन यह automation-केंद्रित लगता है, इसलिए नए निकले albums के लिए बहुत उपयुक्त नहीं लगा
अभी मैं MusicBee से manual tagging करके Navidrome server पर copy करता हूँ
सोच रहा हूँ कि क्या beets मेरे workflow में फिट होगा
पुराने CDDB दौर के बेतरतीब tags के अनुभव की वजह से मैं सब कुछ खुद customize करने लगा
FLAC में बदलने की कोशिश की थी, लेकिन मौजूदा MP3 metadata से matching बहुत जटिल निकली, इसलिए छोड़ दिया। आख़िर में निष्कर्ष यही निकला कि “320k काफ़ी है”
beets की capabilities पसंद हैं, लेकिन बड़े पैमाने पर import के समय progress display और stability की कमी लगती है
crash होने पर progress state उड़ जाना अफ़सोस की बात है।
अच्छा होता अगर कोई worker होता जो नया music detect होते ही background में अपने-आप process कर देता
पहले betanin यह काम करता था, लेकिन अब शायद उसकी जगह wrtag ने ले ली है
फिर भी import के बाद beets का तरीका काफ़ी अच्छा काम करता है