ctrl7 — Permet un signal MIDI sur 7 bit en nombres décimaux selon une échelle entre des limites minimale et maximale.
Permet un signal MIDI sur 7 bit en nombres décimaux selon une échelle entre des limites minimale et maximale.
idest ctrl7 ichan, ictlno, imin, imax [, ifn]
kdest ctrl7 ichan, ictlno, kmin, kmax [, ifn]
adest ctrl7 ichan, ictlno, kmin, kmax [, ifn] [, icutoff]
idest -- signal de sortie
ichan -- canal MIDI (1-16)
ictlno -- numéro du contrôleur MIDI (0-127)
imin -- valeur décimale minimale de sortie définie par l'utilisateur
imax -- valeur décimale maximale de sortie définie par l'utilisateur
ifn (facultatif) -- la table à lire lorsque l'indexation est requise. La table doit être normalisée. La sortie est mise à l'échelle entre les valeurs iminx et imax.
icutoff (facultatif) -- fréquence de coupure du filtre passe-bas pour lisser la sortie au taux-a.
kdest, adest -- signal de sortie
kmin -- valeur décimale minimale de sortie définie par l'utilisateur
kmax -- valeur décimale maximale de sortie définie par l'utilisateur
ctrl7 (contrôle MIDI sur 7 bit au taux-i et au taux-k) permet un signal MIDI sur 7 bit en nombres décimaux mis à l'échelle entre des limites minimale et maximale. Il permet également en option une indexation de table sans interpolation. Les valeurs minimale et maximale peuvent varier au taux-k.
ctrl7 diffère de midic7 parce que il peut être inclu dans des instruments prévus pour une partition sans que Csound ne plante. Il a aussi besoin du paramètre additionnel ichan contenant le canal MIDI du contrôleur.
La version de ctrl7 au taux-a fournit en sortie une variable de taux-a, qui est passée par un filtre passe-bas (lissée). Il y a un paramètre facultatif icutoff, pour établir la fréquence de coupure du filtre passe-bas. Sa valeur par défaut est 5.
Voici un exemple de l'opcode ctrl7. Il utilise le fichier ctrl7.csd.
Exemple 194. Exemple de l'opcode ctrl7.
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 -odac -M0 ;;;RT audio I/O with MIDI in ;-iadc ;;;uncomment -iadc if RT audio input is needed too </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; expects MIDI controller input on channel 1 ; run and move your midi controller to see result imax = 1 imin = 0 ichan = 1 ictlno = 7 initc7 1, 7, 1 ; start at max. volume kamp ctrl7 ichan, ictlno, imin, imax ; controller 7 printk2 kamp asig oscil kamp, 220, 1 outs asig, asig endin </CsInstruments> <CsScore> f 1 0 4096 10 1 i1 0 20 e </CsScore> </CsoundSynthesizer>
Note | |
---|---|
ctrl7 ne retourne des k-valeurs qu'après le premier mouvement du contrôleur. Pour fixer une k-valeur initiale, il faut appeler initc7. ctrlinit ne sert à rien dans ce cas. |