دليل المستخدم

بناء جملة MIDI

يستخدم OnSong بناء جملة قائم على النص للتعبير عن أوامر MIDI. بينما يمكنك استخدام أحداث MIDI في محرر البيانات الوصفية، يمكنك أيضاً التعبير عن أوامر MIDI في النص.

القيم المحددة بفواصل

أولاً وقبل كل شيء، يمكن فصل أوامر MIDI المتعددة بأحرف مختلفة تشمل: حرف الجدولة وعلامة الفاصلة والفاصلة المنقوطة والشرطة الرأسية أو سطر جديد. الفاصلة هي أكثر الفواصل شيوعاً. على سبيل المثال:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

القناة

قد يحتوي كل إدخال على رمز @. القيمة الرقمية بعد الرمز هي القناة التي سيتم إرسال الأمر عليها. نظراً لأن قنوات MIDI تبدأ من صفر، ستكون القناة الأولى صفراً (0)، والقناة الثانية واحداً (1)، وهكذا.

إذا لم يتم استخدام رمز @، يتم إرسال الأمر أو استقباله على جميع القنوات.

البادئات

يحتوي كل إدخال في القائمة على بادئة. هذه البادئة تحدد نوع أمر MIDI المراد إرساله. وتشمل هذه:

  • PC أو بدون بادئة هو حدث تغيير البرنامج.
  • N هو حدث ملاحظة
  • CC هو حدث تغيير التحكم.
  • SS هو حدث اختيار الأغنية.
  • START هو أمر البدء.
  • STOP هو أمر الإيقاف.
  • CONTINUE هو أمر المتابعة.
  • F0 يسبق رسالة SysEx.
  • WAIT ينفذ تأخيراً.

القيم

قيمة الأمر تظهر قبل رمز @ أو في نهاية الإدخال إذا لم يتم تحديد @. هذه هي قيمة تغيير البرنامج أو تغيير التحكم أو الملاحظة أو اختيار الأغنية بناءً على البادئة. في حالة إدخالات SysEx، يتم توفير قيمة سادسة عشرية من SysEx مباشرة بعد بادئة F0 التي تُستخدم كرأس لجميع أوامر SysEx.

القيم الفرعية

في بعض الحالات، يتم نقل معلومات إضافية في أمر MIDI كقيم فرعية. على سبيل المثال، يمكن إرسال MSB و LSB، وكذلك سرعة قيم التحكم بهذه الطريقة. يتم التعبير عن هذا من خلال إضافة نقطتين في جزء القيمة. القيمة الفرعية لها سياق مختلف اعتماداً على نوع أمر MIDI المرسل:

  • تغيير البرنامج له قيم فرعية تتوافق مع MSB/LSB لتغيير البرنامج. يتم فصل هذه القيم بنقطة مع MSB على اليسار و LSB على اليمين.
  • تغيير التحكم له قيمة المجموعة التحكمية المستخدمة بها. يمكن أن يكون الرقم بين 0 و 127. إذا تم حذفه، يتم استنتاج قيمة 127.
  • حدث الملاحظة له قيمة فرعية تتعلق بالسرعة التي يجب تشغيل الملاحظة بها. يمكن تعيين هذا إلى قيمة رقمية بين 0 و 127.

أمثلة

لنبدأ بتغيير برنامج بسيط. في هذا السيناريو نستخدم تغيير البرنامج 8 الذي يرسل أيضاً MSB بقيمة 4 و LSB بقيمة 2 على القناة 1. يبدأ المثال بأكثر تباين معقد لهذا ويزيل اختيار البنك والقناة ليصبح أوسع:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

تغييرات التحكم متشابهة إلا أن الجانب الأيسر من البناء الجملي هو رقم تغيير التحكم والجانب الأيمن قيمة اختيارية. إذا لم يتم توفير القيمة، يتم إرسال 127 بدلاً من ذلك. سنرسل تغيير التحكم 106 بقيمة 64 على القناة 3.

CC105:63@2, CC105:63. CC105@2, CC105

الآن دعنا نلقي نظرة على أحداث الملاحظات. نريد تشغيل C4 على القناة 8 بسرعة 75%، سندخل ما يلي لأن OnSong يبدأ عد MIDI C0 كـ 0 على مقياس ملاحظة MIDI:

N60:95@7, N60@7, N60:95, N60

مرة أخرى، من المهم تذكر أنه عند إزالة القيم من بناء جملة MIDI، تصبح بيان MIDI أوسع وأقل تحديداً. على سبيل المثال، ستُرسل النسخة الأخيرة من حدث الملاحظة C4 بسرعة 100% على جميع القنوات.

لتنفيذ تأخير بين أحداث MIDI أخرى، استخدم أمر WAIT مع رقم. يمكن أن يكون الرقم قيمة عدد صحيح. يمكنك تحديد الثواني المراد الانتظار بها من 1-10، أو التحديد بالميلي ثانية. يوضح ما يلي كيفية الانتظار لمدة ثانيتين و 10 ثوان ونصف ثانية.

WAIT2, WAIT10, WAIT500
OnSong 2023 — آخر تحديث في January 17, 2018