صندوق MIDI
MIDIbox هو مشروع مفتوح المصدر غير تجاري، يتضمن سلسلة من الأدلة حول كيفية بناء واجهات أجهزة الآلات الموسيقية ( MIDI ). من خلال سلسلة من الدروس العملية ، يتم توجيه المستخدمين في عملية بناء متحكم دقيق أساسي يمكن استخدامه أيضًا لبناء وحدات تحكم MIDI للأجهزة المختلفة، وبرامج التسجيل متعددة المسارات، وأجهزة MIDI الأخرى؛ بالإضافة إلى أجهزة المزج المستقلة، وأجهزة التسلسل، وغيرها من المشاريع.
تاريخ


تُعدّ منصة MIDIbox للأجهزة امتدادًا لأعمال ثورستن كلوز السابقة في مجال وحدات تحكم MIDI. [ 1 ] [ 2 ] وتعتمد التصاميم على بيئة موحدة من الوحدات القابلة لإعادة الاستخدام والاستبدال. بعد فترة وجيزة من إصدار الوحدات الأولى، تشكّلت مجموعة صغيرة من المتحمسين، ونمت لتصبح مجتمعًا مزدهرًا لتطوير البرمجيات مفتوحة المصدر.

منصة أجهزة MIDIbox (MBHP)

تركز المنصة على وحدات محددة وموثقة جيدًا، تعتمد على دوائر صغيرة وبسيطة، لتسهيل عملية التجميع للهواة. تُجمّع هذه الوحدات لاحقًا لتكوين مشروع متكامل. يمكن تصنيع جميع اللوحات كلوحات دوائر مطبوعة أحادية الطبقة ، أو كلوحات نماذج أولية مصممة باستخدام برنامج تصميم بمساعدة الحاسوب (CAD) مجاني . معظم المكونات من النوع ذي الثقوب لتسهيل عملية التجميع.
استندت أول منصة أجهزة MIDIbox (MBHP) إلى نظام تشغيل مفتوح المصدر خاص بها - MIOS (نظام تشغيل MIDIbox) - مكتوب بلغة التجميع PIC ، وذلك لتحقيق السرعة والدقة. وتوفر طبقة تغليف C تبسيطًا للبرمجة. صُمم نظام MIOS ووُثّق بشكل يسمح بإعادة التكوين والتعديل والتوسيع بسهولة من قِبل الهواة والمتحمسين.
تعتمد منصة MIDIBox الجديدة للأجهزة، MIOS32، على معالجات ARM من طراز LPC1769 من NXP وSTM32F407 من STMicroelectronics ، وتستند إلى نظام تشغيل في الوقت الحقيقي (RTOS) مشتق من FreeRTOS . [ 3 ] وتعتمد مجموعة أدوات MIOS32 على GCC ، وتستخدم لغة C فقط.
الوحدات
يتوفر حاليًا حوالي 15 وحدة منفصلة:
وحدات التحكم الدقيقة
- الوحدة الأساسية
- وحدات برمجة PIC مثل برنامج PIC-Burner الفعلي أو وحدة JDM
وحدات الإدخال
- مدخل تناظري لوحدة AIN (0-5 فولت)
- مدخل رقمي لوحدة DIN (تشغيل/إيقاف)
وحدات الإخراج
- وحدة الإخراج الرقمي (مثل تشغيل/إيقاف تشغيل مؤشر LED)
- شاشة عرض بلورية سائلة (LCD)
- وحدة AOUT: مخرج تناظري إلى جهد خرج (للتحكم)
وحدات التسلسل
- جهاز التسلسل SEQV4 الإصدار 4

- SEQV4L Sequencer V4 Lite
- جهاز التسلسل SEQV3 الإصدار 3

وحدات الصوت
- وحدة SID لتقنية MOS SID (كما هو موجود في جهاز Commodore 64 )
- وحدة OPL3 لرقائق FM YMF262 و YAC512
- وحدة IIC SpeakJet لشريحة الصوت SpeakJet
وحدات توسيع الذاكرة
- وحدة ذاكرة BankStick سعة 32 كيلوبايت / 64 كيلوبايت
وحدات إدخال/إخراج MIDI
- مؤشرات LED MIDI لوحدة LTC + 1 MIDI-Out + 1 Thru (+ 1 منفذ COM اختياري)
- وحدة USB واجهة الكمبيوتر/USB
وحدات متنوعة
- وحدة MF للتحكم في Motorfaders
- وحدات I2C للتواصل مع الأجهزة الأخرى (المتحكمات الدقيقة) عبر بروتوكول I2C
وحدة RTP-MIDI
- يتضمن برنامج MIOS32 الثابت رابطًا مباشرًا إلى وحدة KissBox OEM RTP-MIDI عبر SPI عالي السرعة [ 4 ] [ 5 ]

نظام تشغيل MIDIbox (MIOS)
يُسهّل نظام تشغيل MIDIbox (MIOS) تصميم تطبيقات تحكم MIDI مرنة. يلتزم MIOS بمنصة مفتوحة وغير تجارية، وهو أمر أساسي لتبادل الأفكار والتعديلات الشخصية التي لا يمكن تحقيقها باستخدام وحدات التحكم التجارية.
تعتمد معظم وحدات التحكم التي يطورها المستخدمون على تصاميم موثقة موجودة، وتبدأ عملها بمجموعة الميزات التي يوفرها البرنامج الثابت الحالي. يمكن للمستخدمين النهائيين تحسين أجهزتهم باستخدام أكواد برمجية قابلة للاستبدال، وتخصيصها لتناسب تطبيقهم المضيف أو جهاز المزج أو أي جهاز MIDI آخر. كما يمكن للمستخدمين تخصيصها لتناسب سير عملهم المفضل ، أو تصميم مشروع جديد من الصفر.
يتوفر كود المصدر للتطبيق، ومخططات الوحدات، وتصميمات لوحات الدوائر المطبوعة مجانًا للاستخدام غير التجاري كقوالب للتعديلات والتحسينات. وبذلك، يتيح نظام MIOS ومنصة الأجهزة سهولة الوصول إلى تطوير المتحكمات الدقيقة للهواة، مع إمكانية استخدامها في تطبيقات خارج نطاق سوق MIDI التجاري السائد.
كان برنامج MIOS مرخصًا بموجب رخصة جنو العمومية حتى الإصدار 1.8. أما الإصدارات اللاحقة فتتطلب الآن إذن ثورستن كلوز للاستخدام التجاري. [ 6 ]
تحديد
يتكون نظام التشغيل من نواة توفر روابط للمستخدم مع أحداث الأجهزة والبرامج، ووظائف للتفاعل مع وحدات منصة الأجهزة. يمكن لوحدة أساسية واحدة مزودة بوحدة تحكم دقيقة PIC18F452 معالجة
- ما يصل إلى 128 مدخلًا رقميًا
- ما يصل إلى 128 مخرجًا رقميًا
- ما يصل إلى 64 مدخلًا تناظريًا
- شاشات LCD نصية ورسومية
- ما يصل إلى 8 وحدات تخزين مؤقتة ( ذاكرة EEPROM بتقنية I2C )
- مدخل MIDI واحد ومخرج MIDI واحد، أو منفذ تسلسلي RS-232 COM
تتوفر برامج تشغيل تعمل في الخلفية لمهام التحكم التالية:
- معالجة MIDI I/O
- مُحمِّل Bootstrap
- تحويل تناظري لما يصل إلى 64 مقياس جهد أو مُخفِّض مستوى صوت أو مصادر تناظرية أخرى بدقة 10 بت
- معالجة المحركات لما يصل إلى 8 أجهزة تحكم متحركة آلية بدقة 10 بت
- معالجة ما يصل إلى 64 مشفرًا دوارًا
- التعامل مع ما يصل إلى 128 زرًا أو مستشعرات لمس أو أجهزة إدخال رقمية مماثلة
- يدعم هذا الجهاز تشغيل ما يصل إلى 128 مصباح LED، ومرحلات، ومحولات رقمية تناظرية، أو أجهزة إخراج مماثلة. وفي وضع تعدد الإرسال، يمكن تشغيل عدد غير محدود تقريبًا من مصابيح LED، وحلقات LED، وأرقام LED.
- القراءة/الكتابة من/إلى ذاكرة EEPROM، وذاكرة الفلاش، وذاكرة BankStick
- ربط وحدات PIC18F الأساسية عبر MIDIbox Link
تمت كتابة نظام التشغيل بالكامل بلغة التجميع، وتم تحسينه لزيادة سرعته. يستخدم نظام MIOS حاليًا 8 كيلوبايت من ذاكرة البرنامج و640 بايت من ذاكرة الوصول العشوائي (RAM).
لا يتطلب الأمر سوى 75 ميكروثانية لقراءة 128 منفذ إدخال رقمي وكتابة 128 منفذ إخراج. تتم معالجة 16 مشفرًا دوارًا خلال 100 ميكروثانية. تُفحص المدخلات التناظرية في الخلفية كل 200 ميكروثانية؛ وتؤدي التغييرات التي تتجاوز نطاقًا أدنى محددًا إلى تفعيل تنبيه المستخدم.
يمكن لما يصل إلى 256 حدث MIDI تشغيل وظائف مخصصة؛ وتستغرق معالجة قائمة الأحداث حوالي 300 ميكروثانية. كما يمكن معالجة أحداث MIDI بواسطة روتين المستخدم لتحليل رسائل النظام (SysEx) أو مهام مماثلة. ويتوفر مؤقت للمستخدم لتشغيل التعليمات البرمجية المرتبطة بوقت محدد.
من الممكن دعم لغات برمجة عالية المستوى أخرى غير لغة C.
أجهزة MIOS
تعتمد أجهزة MIOS على مفهوم منصة أجهزة MIDIBox (MBHP). تتميز منصات MBHP بتعدد استخداماتها، حيث توفر أكبر عدد ممكن من المنافذ لمعالج معين. تتوفر حاليًا أربعة إصدارات من MBHP:
- لوحة MBHP للمعالجين PIC16F877 و PIC18F452 (معالجات 8 بت). الشريحتان متوافقتان من حيث الأطراف، ولكن لوحة الدوائر المطبوعة (PCB) تحتاج إلى تغيير بسيط بينهما.
- MBHP لمعالج LPC1769 (معالج ARM7 ذو 32 بت)
- MBHP لمعالج STM32F407 (معالج Cortex M4 ذو 32 بت)
عندما يحتاج مشروع ما إلى عدد أقل من منافذ الإدخال/الإخراج مقارنةً بتلك المتوفرة في لوحة MBHP معينة، يتيح مفهوم MIDIBox إنشاء لوحة دوائر مطبوعة مبسطة مخصصة لهذا المشروع. هذا هو النهج المُستخدم في Sammich MIDIBox SID [ 7 ] وSammich MIDIBox FM. تحتوي هاتان المجموعتان على تصميم MBHP الأصلي، ولكن مع لوحة دوائر مطبوعة مبسطة، مخصصة للاتصال بشريحة SID أو شريحة YMF262.
في حالة لوحة STM32F407 MBHP، تُركّب وحدة المعالجة المركزية على وحدة تُستخدم كلوحة فرعية، من إنتاج شركة ST وتُباع كلوحة تطوير (تُسمى STM32F4 Discovery من قِبل ST). [ 8 ] لا يحتاج المستخدم النهائي إلى التعامل مع مكونات SMD، حيث تُركّب اللوحة الفرعية على موصلات قياسية بمسافة 0.1 بوصة. [ 9 ]
حلول متكاملة
يوجد حاليًا 11 مشروعًا موثقًا بالكامل، بالإضافة إلى عدد كبير من مشاريع المستخدمين التي أنشأها المجتمع. وفيما يلي المشاريع الرسمية:
- MIDIbox SEQ V3:
مُسلسل خطوات وتحولات مباشر ذو 16 مسارًا + مُرتب نغمات متقدم
- MIDIbox SID V1:
جهاز توليف صوتي قابل للتحكم عبر MIDI يعتمد على شريحة الصوت MOS Technology SID (MOS6581) المرفقة مع جهاز Commodore 64/128
- MIDIbox FM V1:
جهاز توليف صوتي يعتمد على شريحة الصوت Yamaha YMF262 (المعروفة أيضًا باسم OPL3) لتوليد أصوات FM الشهيرة المعروفة من بطاقات الصوت Soundblaster (المتوافقة) في أوائل التسعينيات.
- برنامج دمج MIDI الإصدار 1:
يدمج مدخلين منفصلين من نوع MIDI في مخرج واحد
- جهاز توجيه MIDI الإصدار 1:
يقوم بتوجيه صناديق MIDI المختلفة إلى منفذ MIDI واحد
- معالج MIDI:
يوفر وظائف أساسية لاستقبال وإرسال أحداث MIDI
- MIDIbox CV
يوفر مخرجات التحكم في الجهد (CV) ومخرجات البوابة لتشغيل الأجهزة التي يتم التحكم فيها بالجهد مثل أجهزة المزج التناظرية المعيارية.
- MIDIbox 64:
وحدة تحكم MIDI كاملة بـ 64 قناة
- MIDIbox 64E V2:
نسخة موسعة من MIDIbox 64
- MIDIO128 V2:
تُستخدم واجهة MIDIO128 لتشغيل ما يصل إلى 128 منفذ إخراج رقمي وللاستجابة لما يصل إلى 128 منفذ إدخال رقمي عبر MIDI
- MIDIbox LC V1:
بديل لـ MIDIbox 64/64E
- ميديمون الإصدار الثاني:
يقوم بتسجيل الأحداث التي يتم إرسالها عبر كابل MIDI، بشكل قابل للقراءة
انظر أيضاً
مراجع
- ^ “ثورستن كلوزه”، SynthDIY
- ↑ موقع ثورستن كلوزه، "MIDIBOX.org"، uCApps.de
- ↑ "نظام تشغيل في الوقت الحقيقي (RTOS) رائد في السوق للأنظمة المدمجة مع ملحقات إنترنت الأشياء" . FreeRTOS . تم الاطلاع عليه بتاريخ 9 مارس 2017 .
- ↑ "MIDIbox يتحول إلى RTP-MIDI... - مفاهيم التصميم - منتدى MIDIbox" . Midibox.org . تم الاطلاع عليه بتاريخ 9 مارس 2017 .
- ↑ "KissBox: إجابة الشبكة" . www.kissbox.nl . مؤرشف من الأصل بتاريخ 9 أبريل 2013. تم الاطلاع عليه بتاريخ 17 يناير 2022 .
- ↑ "سجل تغييرات MIOS8" . UCApps.de . تم الاطلاع عليه بتاريخ 2017-03-09 .
- ↑ "MidiBox SammichSID | Vintage Synth Explorer" . Vintagesynth.com . تم الاطلاع عليه بتاريخ 9 مارس 2017 .
- ↑ "STM32F4DISCOVERY - مجموعة ديسكفري مع وحدة التحكم الدقيقة STM32F407VG * رمز طلب جديد - STMicroelectronics" . St.com . تم الاطلاع عليه بتاريخ 9 مارس 2017 .
- ↑ "الصفحة الرئيسية لـ BEB DigitalAudio" . Beb.digitalaudio.free.fr . تم الاسترجاع 2017/03/09 .
روابط خارجية
- موقع مشروع MIDIbox
- ويكي MIDIbox
- منتديات MIDIbox
- ucapps.de (موقع إلكتروني لمشاريع DIY غير تجارية لعشاق أجهزة MIDI)
- بروتوديك: وحدة تحكم MIDI مصممة للتفاعل مع برنامج Ableton Live، وتستخدمها شركة Protofuse
- افعلها بنفسك
- برنامج المتحكم الدقيق
- أجهزة موسيقية مفتوحة المصدر
- أجهزة الموسيقى الإلكترونية التي يمكنك صنعها بنفسك
- MIDI
