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

बेसिक पिच Spotify की Audio Intelligence Lab द्वारा विकसित स्वचालित संगीत ट्रांसक्रिप्शन (AMT) के लिए एक Python लाइब्रेरी है। यह एक हल्के न्यूरल नेटवर्क का उपयोग करके ऑडियो फ़ाइलों को MIDI में बदलती है, जिसमें पिच बेंड जानकारी भी शामिल होती है। यह प्रोजेक्ट वाद्य-अज्ञेय है और पॉलीफोनिक ट्रांसक्रिप्शन का समर्थन करता है, हालाँकि यह एक समय में एक ही वाद्य पर सबसे अच्छा काम करता है। लाइब्रेरी pip (`pip install basic-pitch`) के माध्यम से इंस्टॉल की जा सकती है और npm इंस्टॉलेशन के लिए इसका एक सहयोगी TypeScript रिपॉजिटरी भी है। यह macOS, Windows और Ubuntu का समर्थन करती है, Python संस्करण 3.7 से 3.11 तक। Mac M1 हार्डवेयर पर, वर्तमान में केवल Python 3.10 समर्थित है। बेसिक पिच कई मॉडल रनटाइम विकल्पों के साथ आती है: मूल TensorFlow मॉडल के साथ-साथ CoreML, TensorFlowLite और ONNX में रूपांतरण। डिफ़ॉल्ट रूप से, यह प्लेटफ़ॉर्म के आधार पर एक रनटाइम चुनती है—macOS पर CoreML, Linux पर TensorFlowLite, और Windows पर ONNX—बिना TensorFlow इंस्टॉल किए, जब तक कि Python 3.11+ का उपयोग न किया जाए। उपयोगकर्ता `pip install basic-pitch[tf]` के साथ स्पष्ट रूप से TensorFlow इंस्टॉल कर सकते हैं। लाइब्रेरी कमांड-लाइन इंटरफ़ेस और प्रोग्रामेटिक API दोनों प्रदान करती है। CLI एक आउटपुट डायरेक्टरी और एक या अधिक इनपुट ऑडियो पथ स्वीकार करता है, और वैकल्पिक रूप से सोनिफाइड MIDI को WAV, रॉ मॉडल आउटपुट को NPZ, और नोट इवेंट्स को CSV के रूप में सहेज सकता है। प्रोग्रामेटिक API में मॉडल आउटपुट, MIDI डेटा और नोट इवेंट्स लौटाने के लिए `predict()` और आउटपुट जनरेशन को व्यवस्थित करने के लिए `predict_and_save()` शामिल है। बार-बार भविष्यवाणियों के लिए, उपयोगकर्ता मॉडल को एक बार लोड कर सकते हैं और अनावश्यक लोडिंग से बचने के लिए इसे `predict()` में पास कर सकते हैं। समर्थित ऑडियो प्रारूपों में mp3, ogg, wav, flac और m4a शामिल हैं। स्टीरियो इनपुट को मोनो में डाउन-मिक्स किया जाता है, और सभी ऑडियो को 22050 Hz पर रीसैंपल किया जाता है। मॉडल किसी भी लंबाई के ऑडियो को प्रोसेस कर सकता है, हालाँकि बहुत बड़ी फ़ाइलें उपलब्ध डिस्क स्थान द्वारा सीमित हो सकती हैं। बेसिक पिच को ICASSP 2022 में प्रस्तुत एक शोध पत्र के साथ जारी किया गया था, जिसका शीर्षक था "A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation।" basicpitch.io पर एक डेमो उपलब्ध है, और NeuralNote नामक एक VST संस्करण एक समुदाय सदस्य द्वारा विकसित किया गया है। यह प्रोजेक्ट Apache 2.0 के तहत लाइसेंस प्राप्त है और योगदान का स्वागत करता है।