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

Oh Sheet! एक ओपन-सोर्स पाइपलाइन है जो गानों को दो-हाथ वाले पियानो शीट म्यूज़िक में बदलती है। उपयोगकर्ता YouTube URL पेस्ट कर सकते हैं, MP3/WAV ऑडियो अपलोड कर सकते हैं, या MIDI फ़ाइल दे सकते हैं, और सिस्टम PDF स्कोर, MusicXML और humanized MIDI लौटाता है। बैकएंड Python और FastAPI से बना है। यह ऑडियो इनजेशन के लिए yt-dlp, वैकल्पिक स्टेम सेपरेशन के लिए Demucs, और ऑडियो-टू-MIDI ट्रांसक्रिप्शन के लिए Spotify के Basic Pitch का उपयोग करता है। एक कस्टम अरेंजमेंट चरण मेलोडी को दाएँ हाथ और बास/हार्मनी को बाएँ हाथ में सौंपता है। एक humanization चरण माइक्रो-टाइमिंग, वेलोसिटी डायनामिक्स, पैडल मार्क्स और आर्टिकुलेशन जोड़ता है। एनग्रेविंग डिफ़ॉल्ट रूप से इन-प्रोसेस music21 और LilyPond पाइपलाइन से होती है जो MusicXML और PDF बनाती है; एक वैकल्पिक रिमोट HTTP एनग्रेवर सेवा को फ़ॉलबैक के रूप में इस्तेमाल किया जा सकता है। फ्रंटएंड एक Flutter एप्लिकेशन है जिसमें OpenSheetMusicDisplay (OSMD) और Tone.js प्लेबैक द्वारा संचालित इंटरैक्टिव शीट म्यूज़िक व्यूअर है। इसमें रंग-कोडित हाथों और टेम्पो-सिंक्ड बीट ग्रिड के साथ कस्टम कैनवास-आधारित पियानो रोल भी शामिल है। WebSocket इवेंट प्रत्येक चरण के लिए मैस्कट एनिमेशन के साथ पाइपलाइन प्रगति स्ट्रीम करते हैं। यह प्रोजेक्ट ऑडियो या MIDI अपलोड करने, जॉब सबमिट करने, स्थिति पोल करने, लाइव इवेंट स्ट्रीम करने और आर्टिफैक्ट डाउनलोड करने के लिए REST API प्रदान करता है। बाहरी ऑर्केस्ट्रेशन के लिए प्रति-चरण वर्कर एंडपॉइंट भी उपलब्ध हैं। Docker Compose के माध्यम से डिप्लॉयमेंट समर्थित है, और रिपॉजिटरी में CI वर्कफ़्लो, ऑफ़लाइन ट्रांसक्रिप्शन मूल्यांकन टूलिंग, और TuneChat सहयोगी संगीत शिक्षण प्लेटफ़ॉर्म के साथ एकीकरण शामिल है।