RETIFWEB.NET Site gratuit & sans publicitéRETIFWEB

dernière modification de cette page 25/02/12


Cours

RPN et NRPN

Aide mémoire

Mini Glossaire des termes employés dans cet article

RPN = Registered Parameter Number
NRPN = Non Registered Parameter Number
CC = Control Change, Contrôleur
MSB = Most Signifiant Byte, octet de poids fort
LSB= Less Signifiant Byte, octet de poids faible

Contrôleurs à connaître (décimal et hexadécimal)

RPN MSB : CC 101 (65H) RPN LSB : CC 100 (64H)
NRPN MSB : CC 99 (63H) NRPN LSB : CC 98 (62H)
Data Entry MSB : CC 6 (6H) Data Entry LSB : CC 38 (26H)

Convertisseur Décimal/Hexadécima/Binaire


(décimal)


(hexadécimal)


(binaire)

De quoi s'agit-il ?

La norme Midi contient tous les messages nécessaires à la maîtrise des périphériques musicaux. Afin de garantir une compatibilité parfaite (ascendante et descendante), le coeur du système MIDI a été conçu pour être stable et sans évolution. Ansi l'ensemble des messages courants est défini par la norme ainsi que des RPN (qui sont également spécifiés dans la norme)

Les NRPN sont prévus pour être librement définis par les constructeurs et différents pour chaque appareil compatible MIDI. Les NRPN présentent l'avantage d'éviter d'utiliser le System Exclusif dont l'un des défauts est d'utiliser des messages longs et non séquables ainsi que de perturber et ralentir de ce fait le flot des données MIDI. L'autre défaut du système exclusif est la nécessité de calculer et d'envoyer une somme de contrôle en fin de message. (Checksum).

Nous étudions les RPN et les NRPN dans ce même article car les techniques pour les exploiter sont semblables.

Un exemple simple

Choisissons un RPN courant : le pitch bend sensitivity qui gouverne la variation possible de la courbure de hauteur (souvent nommé Bend Range).

La norme Midi et/ou le manuel de notre appareil nous indiquent les valeurs à employer (les valeurs sont presque toujours exprimées en Hexadécimal - un convertisseur est disponible en haut de cette page)

RPN MSB : 00H - RPN LSB : 00H - Data Entry : valeur souhaitée - La plupart du temps, le Data entry LSB n'est pas exploité pour cette commande.

Nous devons donc envoyer les messages suivants à notre synthétiseur :

RPN MSB : 00H soit CC N° 101 valeur 0
RPN LSB : 00H soit CC N° 100 valeur 0
Data Entry = valeur souhaitée soit CC N°6 valeur souhaitée

Dans Cubase la liste d'événements se présentera ainsi :

Liste Cubase RPN

La commande ainsi envoyée pilotera ainsi notre appareil réel ou virtuel

Bend Range

Dans une carte d'implémentation Midi
tout ceci est expliqué ainsi :

**RPN** The RPN (Registered Parameter Number) messages are expanded control changes, and each function of an RPN is described by the MIDI Standard. To use these messages, you must first use RPN MSB and RPN LSB messages to specify the parameter to be controlled, and then use Data Entry messages to specify the value of the specified parameter. Once an RPN parameter has been specified, all Data Entry messages received on that channel will modify the value of that parameter.

Un tableau de ce type décrivant les trois octet de chaque message MIDI l'accompagne
Implementation

BnH signifie :
B est la valeur Hexadécimale du premier nibble de l'octet de statut qui correspond à contrôleur
n est la valeur Hexadécimale du second nibble de l'octet de statut qui correspond au canal MIDI (0H à FH soit 0 à 15 en décimal qui correspondent aux 16 canaux MIDI. (0 pour canal 1 à 15 pour canal 16).
le reste se comprend de soit même.

Lire l'implémentation MIDI


Voici un exemple d'implémentation MIDI typique emprunté à Roland Edirol Hyper Canvas.

Les RPN

Les NRPN


Maîtriser

Comme vous l'avez constaté nous utilisons aussi bien pour les RPN que les NRPN deux contrôleurs qui sélectionnent le paramètre puis un contrôleur data entry MSB (message sur 7 bits) ou éventuellement un data entry MSB + LSB (message sur 14 bits) -

Nous pouvons ensuite au cours de la séquence continuer à utiliser data entry sans devoir renvoyer la sélection RPN ou NRPN. Cela implique que nous ne pourrons pas utiliser simultanément plusieurs RPN ou plusieurs NRPN. Un seul paramètre est actif à la fois et tient compte du Data Entry.

Pour éviter tout incident de fonctionnement dans le cas ou un Data Entry serait envoyé plus tard dans la séquence ou dans une autre séquence sans que le générateur de son ait été réinitialisé, il est recommandé de désactiver la fonction en envoyant au générateur de son un NULL RPN (message RPN MSB : 127, LSB : 127). Un événement Data Entry ne provoquera alors aucune action.

Liens : Philip Rees - freewebs

Envoyer sur mon Kindle
Afficher une version de cette page adaptée aux lecteurs braille ou audio et permettant l'impression