ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
دليل المستخدم
بناء جملة 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 هو أمر المتابعة.
- WAIT ينتظر مدة زمنية محددة قبل إرسال المزيد من الأحداث.
- F0 يسبق رسالة SysEx.
- @ يسبق علامة عمومية MIDI.
القيم
تظهر قيمة الأمر قبل الرمز @ أو في نهاية الإدخالة إذا لم يتم إعطاء @. هذه هي قيمة تغيير البرنامج أو تغيير التحكم أو الملاحظة أو اختيار الأغنية بناءً على البادئة. في حالة إدخالات SysEx، يتم توفير القيمة السادسة عشرية لـ SysEx مباشرة بعد البادئة F0 التي تُستخدم كرأس لجميع أوامر SysEx.
القيم الفرعية
في بعض الحالات، يتم نقل معلومات إضافية في أمر MIDI كقيم فرعية. على سبيل المثال، يمكن إرسال MSB و LSB بالإضافة إلى سرعة قيم التحكم بهذه الطريقة. يتم التعبير عن هذا من خلال إضافة نقطتين في جزء القيمة. القيمة الفرعية لها سياق مختلف حسب نوع أمر MIDI المرسل:
- تغيير البرنامج يحتوي على قيم فرعية تتوافق مع MSB/LSB لتغيير البرنامج. يتم فصل هذه القيم بنقطة مع MSB على اليسار و LSB على اليمين.
- تغيير التحكم له قيمة التحكم المعيّنة باستخدام هذا. يمكن أن يكون الرقم بين 0 و127. إذا تم حذفه، يتم استنتاج قيمة 127. يمكنك أيضًا فصل قيم متعددة بواصلة للتنقل عبر القيم. على سبيل المثال، 127-0 سيثبت قيمة 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 بدلاً من ذلك. سنرسل Control Change 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. ما يلي سيؤخر MIDI لمدة 2 ثانية وكذلك 500 مللي ثانية (نصف ثانية). يمكنك تحديد الثواني من 1-10 ثواني أو بالميلي ثانية.
WAIT2, WAIT500
أخيرًا، يمكننا الإشارة إلى عناصر عمومية MIDI وهي قوائم أوامر MIDI مسبقة التكوين التي يمكن الإشارة إليها. إذا كان لديك عنصر عمومي MIDI بـ "on" كعلامة (بدون علامات اقتباس)، فيمكنك الإشارة إلى هذا العنصر العمومي بما يلي:
@on