التحكم في آلة MIDI

يوفر نظام التحكم في أجهزة MIDI ( MMC)، وهو جزء من مواصفات MIDI ، أوامر محددة للتحكم في أجهزة التسجيل مثل مسجلات الصوت متعددة المسارات. يمكن إرسال رسائل MMC عبر كابل MIDI قياسي للتحكم عن بُعد في وظائف مثل التشغيل، والتقديم السريع، والترجيع، والإيقاف، والإيقاف المؤقت، والتسجيل. هذه الرسائل هي رسائل " حصرية للنظام " (SysEx)، وتحديدًا رسائل SysEx العالمية في الوقت الفعلي.

تنسيق رسائل MIDI العالمي في الوقت الحقيقي SysEx

يتضمن MIDI رسائل SysEx، وهي امتدادات لتنسيق MIDI تُنفذها شركات تصنيع أجهزة MIDI. بعض هذه الامتدادات، وهي "العامّة"، عبارة عن مجموعة من الوظائف نفسها التي قد تُنفذها الشركات المصنعة المختلفة بتفاصيل متباينة. بعضها غير مُعتمد على الوقت الفعلي ، أي لا يوجد توقيت تسليم موثوق به. بينما البعض الآخر مُعتمد على الوقت الفعلي، بما في ذلك MMC، لذا يتم تسليمها بشكل أكثر موثوقية في الوقت المتوقع. تبدأ رسائل SysEx بالرمز F0 ( بالنظام الست عشري ) وتنتهي بالرمز F7. أما رسائل SysEx العامة المُعتمدة على الوقت الفعلي، فتبدأ بالرمز F0، متبوعًا بالرمز 7F، ثم تتضمن حقولًا أخرى قبل الرمز F7.

يوضح ما يلي تنسيق رسالة SysEx في الوقت الحقيقي العالمي (جميع الأرقام بالنظام الست عشري):

F0 7F <Device-ID> <Sub-ID#1> [<Sub-ID#2> [<parameters>]] F7

أين Device-IDهو:

MMC device's ID#; value 00-7F (7F = all devices); AKA "channel number"

وهي Sub-ID#1:إحدى القيم التالية. القيم المكتوبة بخط غامق تتعلق بالتحكم في آلة MIDI:

01 = نموذج MTC المطول
02 = التحكم في عرض MIDI
03 = معلومات الترميز
04 = التحكم في الجهاز
05 = إشارة MTC في الوقت الحقيقي
06 = أمر التحكم في جهاز MIDI
07 = استجابة التحكم في جهاز MIDI
08 = إعادة ضبط نغمة واحدة

تنسيق رسالة MMC

رسالة MMC إما أن تكون أمرًا من أوامر MMC (المعرف الفرعي 1=06) أو استجابة من رسائل MMC (المعرف الفرعي 1=07). وبصفتها رسالة SysEx، يكون تنسيقها كالتالي (جميع الأرقام بالنظام الست عشري):

F0 7F <Device-ID> <06|07> [<Sub-ID#2> [<parameters>]] F7
Device-ID: MMC device's ID#; value 00-7F (7F = all devices); AKA "channel number"
المعرف الفرعي رقم 1: 06 = أمر المعرف الفرعي رقم 2: 01 توقف 02 تشغيل 03 التشغيل المؤجل (التشغيل بعد انتهاء الانشغال) 04 التقديم السريع 05 إعادة التشغيل 06 تسجيل ستروب (المعروف أيضًا باسم [[تسجيل الدخول/الخروج|تسجيل الدخول]]) 07 مخرج التسجيل (المعروف أيضًا باسم [[Punch out (music)|Punch out]]) 08 إيقاف التسجيل مؤقتًا 09 إيقاف مؤقت (إيقاف التشغيل مؤقتًا) 0A إخراج (فصل حاوية الوسائط من جهاز MMC) 0B تشيس إعادة ضبط وحدة التحكم بالذاكرة (MMC) إلى الوضع الافتراضي/وضع بدء التشغيل 40 كتابة (المعروفة أيضًا باسم جاهزية التسجيل، والمعروفة أيضًا باسم مسارات الذراع) المعلمات: <الطول1> 4F <الطول2> <بايتات خريطة البتات> 44 انتقل إلى (المعروف أيضًا باسم تحديد الموقع) المعلمات: <الطول>=06 01 <ساعات> <دقائق> <ثواني> <إطارات> <إطارات فرعية> 47 مكوك المعلمات: <الطول>=03 <sh> <sm> <sl> (رموز سرعة MIDI القياسية) 
المعرف الفرعي رقم 1: 07 = استجابة المعرف الفرعي رقم 2: حالة الاستجابة المعلمات: القيم التي توضح حالة الاستجابة 

أوامر MMC

أوامر MMC هي إما رسائل نقل MMC تحتوي على بايت واحد يمثل الأمر، أو أنواع أخرى تحتوي على بايت الأمر متبوعًا ببايتات المعلمات. بعض المعلمات عبارة عن أطوال مجموعات من البايتات في الرسالة، وبعضها الآخر ثوابت مرتبطة بالأمر، بينما بعضها الآخر قيم بيانات متغيرة تحدد تنفيذ الأمر.

جاهز للتسجيل

ستظهر رسالة "جاهز للتسجيل (تفعيل المسارات)" لتفعيل تسجيل المسارات. وهي مُنسقة بالصيغة التالية (جميع الأرقام بالنظام الست عشري):

F0 7F <معرف الجهاز> 06 40 <الطول 1> 4F <الطول 2> <خريطة المسار> F7 
الطول 1: عدد البايتات بين الطول 1 و F7 الطول 2: عدد البايتات في خريطة بت المسار خريطة بت المسار: يتم تعيين بت لكل مسار في خريطة بت المسار. 

لتعيين مسار، يجب معرفة كل من البايت الذي يحتوي على بت المسار، والبت المقابل لهذا المسار. لاحظ أن كل بايت لا يمكنه استيعاب أكثر من 7 مسارات.

المسار 1: البايت 1 + 0x20 المسار 2: البايت 1 + 0x40 المسار 3: البايت 2 + 0x01 المسار 4: البايت 2 + 0x02 المسار 5: البايت 2 + 0x04 المسار 6: البايت 2 + 0x08 المسار 7: البايت 2 + 0x10 المسار 8: البايت 2 + 0x20 المسار 9: البايت 2 + 0x40 المسار 10: البايت 3 + 0x01 وهكذا دواليك. 

انتقل إلى/حدد الموقع

تُشير رسالة "الانتقال إلى" (المعروفة أيضًا باسم "تحديد الموقع") إلى وقت SMPTE للتسجيل أو التشغيل (ساعة ودقيقة وثانية ورقم إطار SMPTE ورمز الإطار الفرعي). ويكون تنسيقها (جميع الأرقام بالنظام الست عشري):

F0 7F <معرف الجهاز> 06 44 <الطول>=06 01 <ساعة> <منتصف الليل> <ملحق> <فرنسي> <ff> F7 
المعرف الفرعي رقم 2 = 44: أمر تحديد الموقع الطول: 06 عدد بايتات البيانات (دائماً ستة بايتات) الأمر الفرعي: 01 الهدف hr: الساعات والنوع (كما هو الحال مع MTC Fullframe)؛ القيم من 0 إلى 17 (= من 0 إلى 23 بالنظام العشري) mn: دقائق؛ القيم من 0 إلى 3 مليارات (= من 0 إلى 59 بالنظام العشري) sc: ثوانٍ؛ القيم من 0 إلى 3 مليارات (= من 0 إلى 59 بالنظام العشري) fr: إطارات؛ القيم من 0 إلى 1D (= من 0 إلى 29 عشريًا) ff: الإطارات الفرعية / الإطارات الجزئية (اتركها عند الصفر إذا كنت غير متأكد)؛ القيم من 0 إلى 63 (= من 0 إلى 99 بالنظام العشري) 

(تقوم بعض الشركات المصنعة بتشفير قيمة الإطار الفرعي بشكل مختلف عند معدلات الإطارات المختلفة للإشارة إلى الإطار الفرعي 0)

مكوك

تشترك كل من عملية النقل الأمامي والخلفي في نفس رسالة MMC؛ ويتم ترميز الاتجاه كقيمة إشارة. ويتم تنسيقها (جميع الأرقام بالنظام الست عشري):

F0 7F <Device0ID> 06 47 <length=03> <sh> <sm> <sl> F7 ملاحظة: يتم تعريف sh و sm و sl على أنها السرعة القياسية في الممارسة الموصى بها MIDI 1.0 RP-013. sh = القيمة الاسمية للجزء الصحيح من السرعة: 0 g sss ppp g = إشارة (1 = عكس) ss = إزاحة لليسار (انظر أدناه) ppp = أهم البتات من مضاعفات عددية صحيحة لسرعة التشغيل sm = MSB للجزء الكسري الاسمي من قيمة السرعة: 0 qqqqqqq sl = أقل بتة في الجزء الكسري الاسمي لقيمة السرعة: 0 rrrrrrrr قيم السرعة لكل تغيير للسرعة المتبقية: نطاقات التمثيل الثنائي القابلة للاستخدام (العشري) عدد صحيح مضاعف جزء كسري عدد صحيح كسري سرعة اللعب، نطاق السرعة، الدقة ٠٠٠ ppp - qqqqqqqrrrrrrr ٠-٧ ١/١٦٣٨٤ 001 pppq - qqqqqqrrrrrrrr 0-15 1/8192 010 pppqq - qqqqqrrrrrrrr 0-31 1/4096 011 pppqqq - qqqqrrrrrrrr 0-63 1/2048 100 pppqqqq - qqqrrrrrrrr 0-127 1/1024 101 pppqqqqq - qqrrrrrrrr 0-255 1/512 110 ببققققق - قررررر 0-511 1/256 111 pppqqqqqqq - rrrrrrrr 0-1023 1/128