"quadbezier" — Génère une table avec les valeurs d'une fonction de Bézier quadratique.
Opcode du greffon quadbezier.
Cette routine crée une ftable de segments construits par les chemins tracés par le fonction de Bézier quadratique.
x2, x3, etc. -- Positions dans la table auxquelles la valeur y suivante sera atteinte. Doivent être en ordre croissant. On suppose que x1 vaut 0. Si la dernière valeur est inférieure à la taille, les positions restantes seront mises à zéro. Ne doivent pas être négatives.
y1, y2, y3, etc. -- Valeurs charnière atteintes à la position spécifiée par la valeur x précédente.
cx1, cx2, cx3, etc. -- Coordonnées x virtuelles pour les différents points de contrôle. cx[n] peut être égal ou supérieur à x[n] et égal ou inférieur à x[n+1]. Ne doivent pas être négatives mais peuvent être nulles.
cy1, cy2, cy3, etc. -- Coordonnées y virtuelles pour les différents points de contrôle.
Voici un exemple de la routine GENquadbezier. Il utilise le fichier genquadbezier.csd.
Exemple 1318. Exemple de la routine GENquadbezier.
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 ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o quadbezier.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kndx phasor 1/p3 kenv tablei kndx, p4, 1 asig poscil kenv, 440, 1 outs asig, asig endin </CsInstruments> <CsScore> f 1 0 32768 10 1 f 2 0 1024 "quadbezier" 0 140 0.61 324 0.53 338 0.27 449 0.32 571 0.08 675 0.5 873 0.47 1024 0 f 3 0 1024 "quadbezier" 0 92 0.04 94 0.25 177 0.58 373 0.39 537 0.15 675 0.5 910 0.68 1024 0 f 4 0 1024 "quadbezier" 0 196 0.68 537 0.71 873 0.7 1024 0 i 1 0 4 2 i 1 4 4 3 i 1 8 4 4 </CsScore> </CsoundSynthesizer>
Voici les diagrammes des enveloppes dessinées par la routine
GENquadbezier dans l'exemple ci-dessus :