ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Manuel d’utilisation

Syntaxe MIDI

OnSong utilise une syntaxe textuelle pour exprimer les commandes MIDI. Bien que vous puissiez utiliser les Événements MIDI dans l'Éditeur de métadonnées, vous pouvez également exprimer les commandes MIDI en texte.

Valeurs délimitées

Tout d'abord, plusieurs commandes MIDI peuvent être séparées par différents caractères, notamment : un caractère de tabulation, une virgule, un point-virgule, une barre verticale ou un saut de ligne. La virgule est le délimiteur le plus courant. Par exemple :

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Canal

Chaque entrée peut contenir un symbole @. La valeur numérique après le symbole est le canal sur lequel la commande doit être envoyée. Puisque les canaux en MIDI commencent à zéro, le canal un serait zéro (0), le canal deux un (1), etc.

Si aucun symbole @ n'est utilisé, la commande est envoyée ou reçue sur tous les canaux.

Préfixes

Chaque entrée de la liste contient un préfixe. Ce préfixe détermine le type de commande MIDI à envoyer. Ceux-ci incluent :

  • PC ou Aucun préfixe est un événement de changement de programme.
  • N est un événement de note
  • CC est un événement de changement de contrôle.
  • SS est un événement de sélection de chanson.
  • START est une commande de démarrage.
  • STOP est une commande d'arrêt.
  • CONTINUE est une commande de continuation.
  • F0 préfixe un message SysEx.
  • WAIT implémente un délai.

Valeurs

La valeur de la commande apparaît juste avant le symbole @ ou à la fin de l'entrée si aucun @ n'est donné. Il s'agit de la valeur du changement de programme, du changement de contrôle, de la note ou de la sélection de chanson en fonction du préfixe. Dans le cas des entrées SysEx, la valeur hexadécimale du SysEx est fournie directement après le préfixe F0 qui est utilisé comme en-tête pour toutes les commandes SysEx.

Sous-valeurs

Dans certains cas, des informations supplémentaires sont transmises dans la commande MIDI sous forme de sous-valeurs. Par exemple, MSB et LSB, ainsi que la vélocité des valeurs de contrôle peuvent être envoyés de cette façon. Ceci s'exprime par l'ajout d'un deux-points dans la portion valeur. La sous-valeur a un contexte différent selon le type de commande MIDI envoyée :

  • Changement de programme a des sous-valeurs alignées avec le MSB/LSB du changement de programme. Ces valeurs sont séparées par un point avec le MSB à gauche et le LSB à droite.
  • Changement de contrôle a la valeur du contrôle défini en utilisant ceci. Le nombre peut être entre 0 et 127. S'il est omis, la valeur 127 est déduite.
  • Événement de note a une sous-valeur liée à la vélocité à laquelle la note doit être jouée. Cela peut être défini à une valeur numérique entre 0 et 127.

Exemples

Commençons par un simple changement de programme. Dans ce scénario, nous utilisons le changement de programme 8 qui envoie également un MSB de 4 et un LSB de 2 sur le canal 1. L'exemple commence par la variation la plus complexe et supprime la sélection de banque et le canal pour devenir plus large :

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

Les changements de contrôle sont similaires, sauf que le côté gauche de la syntaxe est le numéro de changement de contrôle et le côté droit est une valeur optionnelle. Si la valeur n'est pas fournie, 127 est envoyé à la place. Nous allons envoyer le changement de contrôle 106 avec une valeur de 64 sur le canal 3.

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

Examinons maintenant les événements de note. Nous voulons jouer C4 sur le canal 8 à une vélocité de 75 %, nous entrerions ce qui suit car OnSong commence à compter le MIDI C0 comme 0 sur l'échelle des notes MIDI :

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

Là encore, il est important de se souvenir que lorsque des valeurs sont supprimées de la syntaxe MIDI, l'instruction MIDI devient plus large et moins spécifique. Par exemple, la dernière version de l'événement de note enverra C4 à 100 % de vélocité sur tous les canaux.

Pour implémenter un délai entre d'autres événements MIDI, utilisez la commande WAIT avec un nombre. Le nombre peut être une valeur entière. Vous pouvez définir les secondes d'attente de 1 à 10, ou définir en millisecondes. Ce qui suit montre comment attendre 2 secondes, 10 secondes et une demi-seconde.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Dernière mise à jour le January 17, 2018