mdelay

mdelay — Un opcode de délai MIDI.

Description

Un opcode de délai MIDI.

Syntaxe

mdelay kstatus, kchan, kd1, kd2, kdelay

Exécution

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.

Exemples

Voici un exemple de l'opcode mdelay. Il utilise le fichier mdelay.csd.

Exemple 528. 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>


Crédits

Auteur : Gabriel Maldonado
Italie
Novembre 1998

Nouveau dans la version 3.492 de Csound