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

S-MU2000 एक ओपन-सोर्स सॉफ्टवेयर टोन जनरेटर है जो Yamaha MU2000 पर आधारित है, और इसे DAW के अंदर प्लग-इन के रूप में चलाने के लिए बनाया गया है। यह यूनिट के आंतरिक भागों — एक SH7043 CPU और दो SWP30 टोन-जनरेटर चिप्स — का अनुकरण करता है और असली फर्मवेयर को बिना संशोधित किए चलाता है, इसलिए आवाज़ें और व्यवहार वास्तविक हार्डवेयर से प्राप्त होते हैं। यह एक अनौपचारिक परियोजना है, जो Yamaha से संबद्ध नहीं है। वर्तमान स्थिति: यह Windows पर VST3 और CLAP के रूप में, और macOS (Apple silicon) पर VST3 और Audio Unit (AUv2) के रूप में चलता है, जिसमें हार्डवेयर-शैली का फ्रंट-पैनल स्क्रीन और माउस-कीबोर्ड एडिटर विंडो शामिल हैं। Linux के लिए gui, VST3 और CLAP का पोर्ट एक तीसरे पक्ष द्वारा योगदान किया गया था; लेखक कहता है कि वह इसका परीक्षण या समर्थन नहीं कर सकता। कोई ROM शामिल नहीं हैं, न तो रिपॉजिटरी में और न ही किसी रिलीज़ में। उपयोगकर्ताओं को अपने स्वयं के MU2000 से 4 MB प्रोग्राम ROM और 32 MB वेव ROM निकालना होगा; निष्कर्षण चरण और उपकरण doc/dump/ में प्रलेखित हैं। परियोजना स्पष्ट रूप से अनुरोध करती है कि डंप की गई ROM छवियाँ, संशोधित फर्मवेयर और कस्टम .ydl फ़ाइलों को पुनर्वितरित न किया जाए या मुद्दों, PR, चर्चाओं या रिलीज़ में पोस्ट न किया जाए। प्रोग्राम ROM को वैकल्पिक रूप से Yamaha के प्रकाशित अपडेटर से पुनर्निर्मित किया जा सकता है। ध्वनि गुणवत्ता की जाँच वास्तविक हार्डवेयर को S/PDIF पर रिकॉर्ड करके और 1/3-ऑक्टेव बैंड में तुलना करके की जाती है: C4 पर 1225 XG आवाज़ों में से, 1109 1.5 dB के भीतर मेल खाती हैं, और शेष 116 में से 60 हार्डवेयर-से-हार्डवेयर पुनः-रिकॉर्डिंग पर समान मात्रा में भिन्न होती हैं। प्रदर्शन मोड, रीवरब/कोरस प्रकार, नियंत्रक, प्रति-ड्रम NRPN, मल्टी EQ और 128 आवाज़ों से परे वॉयस स्टीलिंग भी शामिल हैं। शेष असमानताएँ doc/todo.md में ट्रैक की जाती हैं। SH2 और MEG निर्देशों को मशीन कोड में अनुवाद करने वाला एक JIT शामिल है; एक 16-भाग परीक्षण गीत पर CPU उपयोग Ryzen 7 9700X पर वास्तविक समय का लगभग 22% है। LCD वही प्रस्तुत करता है जो फर्मवेयर खींचता है, और बटन और डायल क्लिक करने योग्य हैं। MAME के विपरीत, जो अपनी स्वयं की घड़ी रखता है और DAW से संचालित होने पर देरी जमा करता है, यह सॉफ्ट सिंथ होस्ट ऑडियो कॉलबैक द्वारा संचालित होता है। उपकरणों में gui (पैनल, एडिटर, प्रभाव विंडो), live (स्क्रीनलेस MIDI इनपुट), render (MIDI से WAV), panel (टेक्स्ट-ओनली पैनल ड्राइविंग), boot, statetest, blocktime, midisend और rec शामिल हैं। MIDI इनपुट 4 पोर्ट A–D (64 भाग) है, जिसमें --host-midi के माध्यम से DIN-पोर्ट मोड और प्रति पोर्ट चयन योग्य THRU है। बैटरी-बैक्ड RAM सेटिंग्स %LOCALAPPDATA%\S-MU2000\nvram\ के तहत बनी रहती हैं; प्लग-इन उस क्षेत्र को पढ़ते हैं और DAW प्रोजेक्ट में परिवर्तन रखते हैं। भाग वॉल्यूम, फ़िल्टर, EG, EQ और मास्टर EQ VST3/CLAP में नामित स्वचालन पैरामीटर के रूप में उजागर होते हैं। मापी गई एंड-टू-एंड विलंबता 117 ms से 16 ms तक विशेष मोड में और 50 ms तक साझा मोड में सुधरी; README साझा मोड में 38 ms की न्यूनतम सीमा नोट करता है और --latency 10 की सिफारिश करता है। इंटरफ़ेस-पक्ष बफर आकार और नमूना दर (44100) भी मायने रखते हैं। निर्माण के लिए Windows पर C++20 के साथ MSYS2/MinGW-w64, macOS पर Apple clang++, या Linux पर g++ की आवश्यकता होती है। make test रिग्रेशन परीक्षण चलाता है, जिसमें एक सबसेट शामिल है जिसे ROM की आवश्यकता नहीं है। कोर चिप कार्यान्वयन BSD-3-Clause के तहत MAME डिवाइस फ़ाइलों से लिए गए हैं; MAME स्वयं लिंक नहीं है। VST3 इंटरफ़ेस परिभाषाएँ (MIT), CLAP हेडर (MIT) और Dear ImGui (MIT) बिना संशोधन के आयात किए गए हैं। रिपॉजिटरी का अपना कोड BSD-3-Clause है, जिसमें NOTICE.txt में एट्रिब्यूशन हैं। MAME के SWP30 में पाए गए बग हार्डवेयर मापों के खिलाफ तय किए जाते हैं और अपस्ट्रीम में प्रस्तुत किए जाते हैं, कई PR विलय हो चुके हैं और अन्य समीक्षा के अधीन हैं।