ctrl7

ctrl7 — Permet un signal MIDI sur 7 bit en nombres décimaux selon une échelle entre des limites minimale et maximale.

Description

Permet un signal MIDI sur 7 bit en nombres décimaux selon une échelle entre des limites minimale et maximale.

Syntaxe

idest ctrl7 ichan, ictlno, imin, imax [, ifn]
kdest ctrl7 ichan, ictlno, kmin, kmax [, ifn]
adest ctrl7 ichan, ictlno, kmin, kmax [, ifn] [, icutoff]

Initialisation

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.

Exécution

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.

Exemples

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

Exemple 176. 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] 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.

Voir aussi

ctrl14, ctrl21, initc7, initc14, initc21, midic7, midic14, midic21

Crédits

Auteur : Gabriel Maldonado
Italie

Nouveau dans la version 3.47 de Csound

Merci à Rasmus Ekman pour avoir indiqué les bons intervalles pour le canal MIDI et le numéro de contrôleur.

La version de ctrl7 au taux-a a été ajoutée dans la version 5.06