nrpn — Envoie un numéro de paramètre non référencés sur le port MIDI OUT.
Envoie un message NRPN (Numéro de Paramètre Non Référencé) sur le port MIDI OUT chaque fois qu'un des arguments d'entrée change.
kchan -- canal MIDI (1-16)
kparmnum -- numéro du paramètre NRPN
kparmvalue -- valeur du paramètre NRPN
Cet opcode envoie un nouveau message lorsque la valeur MIDI traduite de l'un de ses arguments d'entrée change. Il opère au taux-k. Il est utile avec les instruments MIDI qui reconnaissent les NRPN (par exemple avec les cartes son récentes ayant un synthétiseur MIDI interne telles que SB AWE32, AWE64, GUS, etc, dans lesquelles chaque paramètre de patch peut être modifié durant l'exécution via NRPN).
Voici un exemple de l'opcode nrpn. Il utilise le fichier nrpn.csd.
Exemple 663. Exemple de l'opcode nrpn.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
Cet exemple génère des notes chaque fois qu'une note est reçue sur l'entrée MIDI. Comme il génère ces notes MIDI sur la sortie MIDI de Csound, il faut s'assurer d'y connecter quelque chose.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac -Q1 ;;;realtime audio out with MIDI out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; change attack time of external synth initc7 1, 6, 0 ; set controller 6 to 0 nrpn 1, 99, 1 ; set MSB nrpn 1, 98, 99 ; set LSB katt ctrl7 1, 6, 1, 127 ; DataEntMSB idur = 2 noteondur2 1, 60, 100, idur ; play note on synth endin </CsInstruments> <CsScore> i 1 0 3 e </CsScore> </CsoundSynthesizer>