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 είναι μια εντολή συνέχειας.
  • 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, ή να ορίσετε ως χιλιοστά του δευτερολέπτου. Τα εξής δείχνουν πώς να περιμένετε 2 δευτερόλεπτα, 10 δευτερόλεπτα και μισό δευτερόλεπτο.

WAIT2, WAIT10, WAIT500
OnSong 2026 — Τελευταία ενημέρωση στις January 17, 2018