عن المشروع
S-MU2000 هو مولّد نغمات برمجي مفتوح المصدر مستوحى من Yamaha MU2000، صُمم ليعمل كإضافة داخل DAW. يحاكي المكونات الداخلية للوحدة — معالج SH7043 بالإضافة إلى شريحتي توليد نغمات SWP30 — وينفّذ البرنامج الثابت الأصلي دون تعديل، لذا تستمد الأصوات والسلوك من العتاد الحقيقي. وهو مشروع غير رسمي وغير تابع لـ Yamaha.
الحالة الحالية: يعمل كـ VST3 وCLAP على Windows، وكـ VST3 وAudio Unit (AUv2) على macOS (Apple silicon)، مع شاشة أمامية بأسلوب العتاد بالإضافة إلى نوافذ تحرير بالفأرة ولوحة المفاتيح. وقد ساهم طرف ثالث بنسخة Linux من gui وVST3 وCLAP؛ ويذكر المؤلف أنه لا يستطيع اختبارها أو دعمها.
لا تُضمَّن أي ROM، لا في المستودع ولا في أي إصدار. يجب على المستخدمين استخراج ROM البرنامج بحجم 4 MB وROM الموجات بحجم 32 MB من جهاز MU2000 الخاص بهم؛ وخطوات الاستخراج والأدوات موثّقة في doc/dump/. ويطلب المشروع صراحةً عدم إعادة توزيع صور ROM المستخرجة أو البرامج الثابتة المعدّلة أو ملفات .ydl المخصصة أو نشرها في issues أو PRs أو discussions أو releases. ويمكن بدلاً من ذلك إعادة بناء ROM البرنامج من أداة التحديث المنشورة من Yamaha.
يُتحقق من جودة الصوت عبر تسجيل العتاد الحقيقي من S/PDIF والمقارنة في نطاقات ثلث الأوكتاف: من أصل 1225 صوت XG عند C4، تطابق 1109 ضمن 1.5 dB، و60 من الـ116 المتبقية تتفاوت بمقدار مشابه عند إعادة التسجيل من عتاد إلى عتاد. كما يُغطّى وضع Performance وأنواع reverb/chorus ووحدات التحكم وNRPN لكل طبلة وmulti EQ وسرقة الأصوات بعد 128 صوتاً. وتُتابَع حالات عدم التطابق المتبقية في doc/todo.md.
يتضمن المشروع JIT يترجم تعليمات SH2 وMEG إلى لغة الآلة؛ وفي أغنية اختبارية من 16 جزءاً يبلغ استهلاك CPU نحو 22% من الزمن الحقيقي على Ryzen 7 9700X. تعرض LCD ما يرسمه البرنامج الثابت، والأزرار والقرص قابلة للنقر. وخلافاً لـ MAME، الذي يحتفظ بساعته الخاصة ويتراكم التأخير عند تشغيله من DAW، يُدار هذا المولّد البرمجي عبر استدعاء الصوت المضيف.
تشمل الأدوات gui (لوحة ونوافذ تحرير ومؤثرات)، وlive (إدخال MIDI بدون شاشة)، وrender (MIDI إلى WAV)، وpanel (تشغيل لوحة نصية فقط)، وboot، وstatetest، وblocktime، وmidisend، وrec. إدخال MIDI هو 4 منافذ A–D (64 جزءاً)، مع وضع منفذ DIN عبر --host-midi وTHRU قابل للاختيار لكل منفذ. تستمر إعدادات RAM المدعومة ببطارية تحت %LOCALAPPDATA%\S-MU2000\nvram\؛ وتقرأ الإضافات تلك المنطقة وتحتفظ بالتغييرات في مشروع DAW. ويُعرض مستوى الجزء والمرشح وEG وEQ وmaster EQ كمعاملات أتمتة مسمّاة في VST3/CLAP.
تحسّنت زمنية الاستجابة من طرف إلى طرف المقاسة من 117 ms إلى 16 ms في الوضع الحصري وإلى 50 ms في الوضع المشترك؛ ويشير README إلى حد أدنى 38 ms في الوضع المشترك ويوصي بـ --latency 10. كما يهمّ حجم المخزن المؤقت على جانب الواجهة ومعدل العينات (44100).
يتطلب البناء C++20 مع MSYS2/MinGW-w64 على Windows، أو Apple clang++ على macOS، أو g++ على Linux. يشغّل make test اختبارات الانحدار، بما في ذلك مجموعة فرعية لا تحتاج إلى ROM. تطبيقات الشرائح الأساسية مأخوذة من ملفات أجهزة MAME تحت BSD-3-Clause؛ ولا يُربط MAME نفسه. وتُستورد تعريفات واجهة VST3 (MIT) وترويسات CLAP (MIT) وDear ImGui (MIT) دون تعديل. كود المستودع نفسه تحت BSD-3-Clause، مع الإسنادات في NOTICE.txt. وتُصلَّح الأخطاء الموجودة في SWP30 الخاص بـ MAME مقابل قياسات العتاد وتُرسَل إلى المنبع، مع دمج عدة PRs وأخرى قيد المراجعة.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.