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 एक नियंत्रण परिवर्तन इवेंट है।
  • 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 का उपयोग करते हैं जो चैनल 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 पर 75% वेग पर C4 चलाना चाहते हैं, हम निम्नलिखित दर्ज करेंगे क्योंकि OnSong MIDI C0 को MIDI नोट स्केल पर 0 के रूप में गिनना शुरू करता है:

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

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

अन्य MIDI इवेंट्स के बीच एक विलंब लागू करने के लिए, एक संख्या के साथ WAIT कमांड का उपयोग करें। संख्या एक पूर्णांक मान हो सकता है। आप 1-10 सेकंड के रूप में प्रतीक्षा करने के लिए सेकंड को परिभाषित कर सकते हैं, या मिलीसेकंड के रूप में परिभाषित कर सकते हैं। निम्नलिखित 2 सेकंड, 10 सेकंड और आधे सेकंड के लिए प्रतीक्षा करने का तरीका दिखाता है।

WAIT2, WAIT10, WAIT500
OnSong 2026 — अंतिम अपडेट January 17, 2018 पर