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 هو حدث التحكم في التغيير.
- NRPN هو رقم معامل غير مسجل.
- 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 بدلاً من ذلك. سنرسل التحكم في التغيير 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 لمدة ثانيتين وكذلك 500 مللي ثانية (نصف ثانية). يمكنك تحديد الثواني من 1-10 ثوان أو بالميلي ثانية.
WAIT2, WAIT500
أخيرًا، يمكننا الرجوع إلى عمومات MIDI التي تمثل قوائم محددة مسبقًا من أحداث MIDI يمكن الإشارة إليها. إذا كان لديك عامل عام MIDI مع "on" كعلامة (بدون علامات اقتباس)، فيمكنك الرجوع إلى هذا العامل العام بما يلي:
@on