ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

उपयोगकर्ता मैनुअल

MIDI सिंटैक्स

OnSong एक पाठ-आधारित सिंटैक्स का उपयोग करता है MIDI कमांड व्यक्त करने के लिए। जबकि आप MIDI Events को Metadata Editor में उपयोग कर सकते हैं, आप पाठ में 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 का उपयोग करते हैं जो चैनल 1 पर 4 का MSB और 2 का LSB भी भेजता है। उदाहरण इस का सबसे जटिल भिन्नता के साथ शुरू होता है और बैंक चयन और चैनल को हटाकर अधिक व्यापक बन जाता है:

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

नियंत्रण परिवर्तन समान हैं सिवाय इसके कि सिंटैक्स के बाईं ओर नियंत्रण परिवर्तन संख्या है और दाईं ओर एक वैकल्पिक मान है। यदि मान प्रदान नहीं किया जाता है, तो 127 भेजा जाता है। हम चैनल 3 पर 64 के मान के साथ नियंत्रण परिवर्तन 106 भेजेंगे।

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

अब आइए नोट ईवेंट पर एक नज़र डालें। हम चैनल 8 पर C4 को 75% वेग पर बजाना चाहते हैं, हम निम्नलिखित दर्ज करेंगे क्योंकि OnSong MIDI C0 को MIDI नोट स्केल पर 0 के रूप में गिनना शुरू करता है:

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

दोबारा, यह याद रखना महत्वपूर्ण है कि जैसे-जैसे मान MIDI सिंटैक्स से हटाए जाते हैं, MIDI स्टेटमेंट अधिक व्यापक और कम विशिष्ट हो जाता है। उदाहरण के लिए, नोट ईवेंट का अंतिम संस्करण सभी चैनलों पर 100% वेग पर C4 भेजेगा।

हम WAIT कमांड जोड़कर MIDI को भी विलंबित कर सकते हैं। निम्नलिखित MIDI को 2 सेकंड के साथ-साथ 500 ms (आधे सेकंड) तक विलंबित करेगा। आप सेकंड को 1-10 सेकंड के रूप में या मिलीसेकंड में निर्दिष्ट कर सकते हैं।

WAIT2, WAIT500

अंत में, हम MIDI वैश्विकों को संदर्भित कर सकते हैं जो MIDI ईवेंट की पूर्वनिर्धारित सूचियां हैं जिन्हें संदर्भित किया जा सकता है। यदि आपके पास "on" के रूप में टैग वाला MIDI वैश्विक है (उद्धरण चिह्न के बिना), तो आप उस वैश्विक को निम्नलिखित के साथ संदर्भित कर सकते हैं:

@on
OnSong 2023 — अंतिम अपडेट March 11, 2020 पर