GEN05 — Construit des fonctions à partir de morceaux de courbes exponentielles.
taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f).
a, b, c, etc. -- valeurs d'ordonnée, dans les p-champs de numéros impairs p5, p7, p9, . . . Elle doivent être non nulles et de même signe.
n1, n2, etc. -- longueurs des morceaux (nombre de positions mémorisées), dans les p-champs de numéros pairs. Ne peuvent pas être négatives, mais un zéro est significatif pour spécifier des formes d'onde discontinues. La somme n1 + n2 + .... sera normalement égale à taille pour les fonctions complètement spécifiées. Si la somme est inférieure, les positions de la fonction non comprises seront mises à zéro ; si la somme est supérieure, seules les premières taille positions seront stockées. Noter que les valeurs sont arrondies en nombres entiers avant leur utilisation.
Note | |
---|---|
|
Voici un exemple simple de la routine GEN05. Il utilise le fichier gen05.csd.
Exemple 1278. Un exemple de la routine GEN05.
<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 gen05.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifn = p4 ;choose different tables for GEN05 kcps init 1/p3 ;index over the length of entire note kndx phasor kcps ixmode = 1 ;normalize index data kamp tablei kndx, ifn, ixmode asig poscil kamp, 440, 1 outs asig, asig endin </CsInstruments> <CsScore> f 1 0 8192 10 1 ;sine wave f 2 0 129 5 1 100 0.0001 29 ;short attack f 3 0 129 5 0.00001 87 1 22 .5 20 0.0001 ;long attack i 1 0 2 2 i 1 3 2 3 e </CsScore> </CsoundSynthesizer>
Voici les diagrammes des formes d'onde des routines GEN05 utilisées
dans l'exemple :