رمز زمني MIDI
تم اعتماد رمز الوقت MIDI ( MTC )، المعروف سابقًا باسم MSMPTE، [ 1 ] من قبل جمعية مصنعي MIDI في عام 1986، وتم تعديله وإعادة اعتماده في فبراير 1987. [ 2 ] منحت جمعية MIDI كريس ماير جائزة الإنجاز مدى الحياة في عام 2025، تقديرًا لعمله على هذا المعيار ومعايير MIDI الأخرى ( MMC ، والتحكم في مشهد MIDI). [ 3 ]
يُضمّن بروتوكول MTC نفس معلومات التوقيت الموجودة في رمز الوقت SMPTE القياسي على شكل سلسلة من رسائل MIDI صغيرة تُقاس بربع الإطار . لا تتضمن رسائل رمز الوقت MIDI القياسية بتات المستخدم، لذا تُستخدم رسائل SysEx لنقل هذه المعلومات. تُرسل رسائل ربع الإطار في سلسلة من ثماني رسائل، وبالتالي، يتم تحديد قيمة رمز الوقت كاملة كل إطارين. إذا كان تدفق بيانات MIDI يعمل بكامل طاقته تقريبًا، فقد تصل بيانات MTC متأخرة قليلًا عن الموعد المحدد، مما يُسبب قدرًا ضئيلًا من التذبذب. لتجنب ذلك، يُفضل استخدام منفذ MIDI منفصل تمامًا لبيانات MTC. [ 4 ] تُستخدم رسائل الإطار الكامل الأكبر حجمًا، والتي تُغلف قيمة رمز الوقت لإطار كامل في رسالة واحدة، لتحديد وقت لا يكون فيه رمز الوقت قيد التشغيل. [ 5 ]
بخلاف رمز الوقت القياسي SMPTE، تحمل رسائل رمز الوقت MIDI ربع الإطار والإطار الكامل قيمة علامة ثنائية تحدد معدل رمز الوقت، وتحدده على النحو التالي:
- 24 إطارًا/ثانية (المعدل القياسي لأعمال الأفلام )
- 25 إطارًا/ثانية (المعدل القياسي لفيديو PAL )
- 29.97 إطار/ثانية (رمز زمني لإطارات الفيديو بنظام NTSC )
- 30 إطارًا/ثانية (رمز زمني بدون إسقاط لفيديو NTSC) [ 6 ]
يميز نظام MTC بين سرعة الفيلم وسرعة الفيديو فقط من خلال معدل تقدم رمز الوقت، وليس من خلال المعلومات الواردة في رسائل رمز الوقت؛ وبالتالي، يتم تمثيل إطار إسقاط بسرعة 29.97 إطار/ثانية على أنه إطار إسقاط بسرعة 30 إطار/ثانية عند سحب 0.1%. [ 7 ]
تتيح تقنية MTC مزامنة جهاز التسلسل أو محطة العمل الصوتية الرقمية (DAW) مع أجهزة أخرى تدعم هذه التقنية، أو جعل هذه الأجهزة تابعةً لجهاز تسجيل الشريط المُجهز بنظام SMPTE. يتطلب ذلك استخدام محول من SMPTE إلى MTC. ويمكن لجهاز تسجيل الشريط المزامنة مع إشارة MTC (بعد تحويلها إلى SMPTE) إذا كان بإمكانه التزامن مع رمز الوقت الوارد عبر التحكم في المحرك، وهي ميزة نادرة.
تنسيق رمز الوقت
يبلغ طول رمز الوقت MIDI 32 بت، منها 24 بت مستخدمة، بينما تبقى 8 بتات غير مستخدمة وقيمتها صفر دائمًا. ولأن رسائل رمز الوقت الكامل تتطلب أن تكون البتات الأكثر أهمية في كل بايت صفرًا (بايتات بيانات MIDI صالحة)، فإن عدد البتات المتاحة فعليًا هو 28 بتًا فقط، بالإضافة إلى 4 بتات احتياطية.
على غرار معظم رموز التوقيت السمعية والبصرية، مثل رمز توقيت SMPTE ، فإنه يُشفّر وقت اليوم فقط، ويتكرر كل 24 ساعة. يُعطى الوقت بوحدات الساعات والدقائق والثواني والإطارات . وقد يكون هناك 24 أو 25 أو 30 إطارًا في الثانية.
بخلاف معظم رموز الوقت الأخرى، يتم ترميز المكونات بشكل ثنائي مباشر، وليس بشكل عشري مشفر ثنائياً .
يتم تخصيص بايت واحد لكل مكون:
- البايت 0
0rrhhhhh: المعدل (0-3) والساعة (0-23).rr = 0024 إطارًا/ثانيةrr = 0125 إطارًا/ثانيةrr = 10: 29.97 إطار/ثانية ( رمز زمني SMPTE للإطارات المتساقطة )rr = 1130 إطارًا/ثانية
- البايت 1
00mmmmmmدقيقة (0-59)- البايت 2
00ssssss: الثانية (0–59)- البايت 3
000fffff: إطار (0-29، أو أقل عند معدلات الإطارات المنخفضة )
رمز الدوام الكامل
عند حدوث قفزة في رمز الوقت، يتم إرسال رمز وقت كامل واحد لمزامنة المعدات المتصلة. ويأخذ هذا شكل رسالة خاصة حصرية للنظام العالمي:
F0 7F 7F 01 01 hh mm ss ff F7
يشير مُعرّف المُصنِّع 7Fإلى رسالة عالمية فورية؛ 7Fوتشير القناة إلى أنها بث عالمي. ويُحدد المُعرّف التالي 01نوع الرسالة، بينما 01يُشير الثاني إلى أنها رسالة رمز زمني كامل. وتلي ذلك بايتات الرمز الزمني الأربعة. على الرغم من أن MIDI عادةً ما يكون بنظام little-endian، فإن بايتات الرمز الزمني الأربعة تأتي بنظام big-endian، متبوعةً ببايت F7"نهاية الحصرية".
بعد القفزة، يتوقف عداد الوقت حتى يتم استلام أول رسالة ربع إطار تالية.
رسائل ربع الإطار
عندما يكون الوقت مستمرًا، يُقسّم رمز الوقت ذو 32 بت إلى 8 أجزاء، كل جزء 4 بت، ويُرسل جزء واحد في كل ربع إطار. أي من 96 إلى 120 مرة في الثانية، حسب معدل الإطارات. ولأن رسالة رمز الوقت الكاملة تستغرق ثمانية أرباع إطارات، يُحدّث وقت SMPTE بالكامل كل إطارين. تتكون رسالة ربع الإطار من بايت حالة 0xF1، متبوعًا بقيمة بيانات واحدة 7 بت: 3 بتات لتحديد الجزء، و4 بتات لرمز الوقت الجزئي. عندما يكون الوقت متقدمًا، تتزايد أرقام الأجزاء من 0 إلى 7؛ واللحظة التي يُرسل فيها الجزء 0 هي اللحظة المشفرة، وتُرسل الأجزاء المتبقية لاحقًا.
إذا كان يتم إعادة تشغيل تدفق بيانات MIDI، فإن أرقام القطع الموسيقية تُحسب تنازليًا. ومرة أخرى، يتم إرسال القطعة 0 في اللحظة المشفرة.
يتم تقسيم رمز الوقت بنظام الترتيب الصغير (little-endian) كما يلي:
| قطعة # | بايت البيانات | دلالة |
|---|---|---|
| 0 | 0000ffff | رقم الإطار lsbits |
| 1 | 0001000f | رقم الإطار بالملي ثانية |
| 2 | 0010ssss | البتات الثانية |
| 3 | 001100ss | ثانية ميلي بت |
| 4 | 0100mmmm | لقيمات دقيقة |
| 5 | 010100mm | دقيقة ميلي ثانية |
| 6 | 0110hhhh | ساعات lsbits |
| 7 | 01110rrh | معدل وساعة msbit |
انظر أيضاً
مراجع
- ↑ ماير، كريس (1986-07-01). "الزواج غير المقدس (EMM يوليو 1986)" . صانع الإلكترونيات والموسيقى (يوليو 1986): 62-64 .
- ↑ ماير، كريس (1987-07-01). "رمز الوقت MIDI" . تكنولوجيا الموسيقى . 1 ( 9): 64-66 – عبر أرشيف مجلة الموسيقى.
- ↑ "كريس ماير - اتجاهات جديدة في الصوت" . MIDI.org . 2025-01-03 . تم الاطلاع عليه بتاريخ 2025-12-28 .
- ↑ ليرمان، بول د. (يناير 1990). "حياتي مع رمز الوقت MIDI (SOS يناير 1990)" . ساوند أون ساوند (يناير 1990): 64-72 .
- ↑ "SMPTE & MTC (رمز الوقت MIDI)" . www.soundonsound.com . تم الاطلاع عليه بتاريخ 29-11-2024 .
- ↑ "شرح رمز الوقت MIDI وساعة MIDI" . dummies . تم الاطلاع عليه بتاريخ 29-11-2024 .
- ^ شوتي، بنيامين. باخمان، كريستينا. "معايير الرمز الزمني" . archive.steinberg.help . تم الاسترجاع 2024-11-29 .
روابط خارجية
- معلومات رمز الوقت MIDI
- مواصفات رمز الوقت MIDI 12 فبراير 1987
- دليل مواصفات برامج MIDI
- معايير MIDI
- رموز الوقت
- معايير SMPTE
