mdelay — Un opcode de délai MIDI.
kstatus -- octet d'état du message MIDI message à retarder.
kchan -- canal MIDI (1-16)
kd1 -- premier octet de donnée MIDI
kd2 -- deuxième octet de donnée MIDI
kdelay -- délai en secondes
Chaque fois que kstatus est différent zéro, mdelay envoie un message MIDI sur le port de sortie MIDI après kdelay secondes. Cet opcode est utile pour implémenter des délais MIDI. Il peut y avoir plusieurs instances de mdelay dans le même instrument avec des valeurs d'argument différentes, si bien que l'on peut implémenter des echos MIDI complexes et colorés. De plus, on peut changer la durée du retard au taux-k.
Voici un exemple de l'opcode mdelay. Il utilise le fichier mdelay.csd.
Exemple 581. Exemple de l'opcode mdelay.
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 -Q0 </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 2 ; Example by Giorgio Zucco 2007 instr 1 ;Triggered by MIDI notes on channel 1 kstatus init 0 ifund notnum ivel veloc noteondur 1, ifund, ivel, 1 kstatus = kstatus + 1 idel1 = .2 idel2 = .4 idel3 = .6 idel4 = .8 ;make four delay lines mdelay kstatus,1,ifund+2, ivel,idel1 mdelay kstatus,1,ifund+4, ivel,idel2 mdelay kstatus,1,ifund+6, ivel,idel3 mdelay kstatus,1,ifund+8, ivel,idel4 endin </CsInstruments> <CsScore> ; Dummy ftable f 0 60 </CsScore> </CsoundSynthesizer>