outkpc — Envoie des messages MIDI de changement de programme au taux-k.
kchn -- numéro de canal MIDI (1-16)
kprog -- numéro de changement de programme en virgule flottante
kmin -- valeur minimale en virgule flottante (convertie en valeur entière MIDI 0)
kmax -- valeur maximale en virgule flottante (convertie en valeur entière MIDI 127 (7 bit))
outkpc envoie des messages MIDI de changement de programme au taux-k. Il ne fonctionne qu'avec les instruments MIDI qui les reconnaissent. Il peut piloter une valeur différente de paramètre pour chaque note active.
Il peut échelonner un argument de taux-k en virgule flottante selon les valeurs kmin et kmax. Par exemple avec kmin = 1.0 et kmax = 2.0, lorque l'argument kvalue reçoit la valeur 2.0, l'opcode envoie la valeur 127 sur le périphérique MIDI OUT. Lorsque l'argument kvalue reçoit la valeur 1.0, il envoie la valeur 0. Les opcodes de taux-k envoient un message chaque fois que la valeur MIDI traduite de l'argument kvalue change.
Voici un exemple de l'opcode outkpc. Il utilise le fichier outkpc.csd.
Exemple 708. Exemple de l'opcode outkpc.
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 un changement de programme et une note sur le port de sortie MIDI de Csound chaque fois qu'une note est reçu sur le canal 1. Il faut que quelque chose soit connecté sur le port MIDI de sortie de Csound pour entendre le résultat.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d -M0 -Q1 ;;;RT audio I/O with MIDI in </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 2 ; Example by Giorgio Zucco 2007 kprogram init 0 instr 1 ;Triggered by MIDI notes on channel 1 ifund notnum ivel veloc idur = 1 ; Sends a MIDI program change message according to ; the triggering note's velocity outkpc 1 ,ivel ,0 ,127 noteondur 1 ,ifund ,ivel ,idur endin </CsInstruments> <CsScore> ; Dummy ftable f 0 60 </CsScore> </CsoundSynthesizer>
Voici un autre exemple de l'opcode outkpc. Il utilise le fichier
outkpc_flkt.csd.
Exemple 709. Exemple de l'opcode outkpc utilisant FLTK.
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.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d -M0 -Q1;;;RT audio I/O with MIDI in </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 2 ; Example by Giorgio Zucco 2007 FLpanel "outkpc",200,100,90,90;start of container gkpg, gihandle FLcount "Midi-Program change",0,127,1,5,1,152,40,16,23,-1 FLpanelEnd FLrun instr 1 ktrig changed gkpg outkpc ktrig,gkpg,0,127 endin </CsInstruments> <CsScore> ; Run instrument 1 for 60 seconds i 1 0 60 </CsScore> </CsoundSynthesizer>