GEN08 — Génère une courbe spline cubique par morceaux.
Ce sous-programme génèrera une courbe spline cubique par morceaux, la plus lisse possible le long de tous les points spécifiés.
taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir instruction f).
a, b, c, etc. -- valeurs d'ordonnée de la fonction.
n1, n2, n3 ... -- longueur de chaque segment mesurée en valeurs mémorisées. Ne peuvent pas être nulles, mais peuvent être fractionnaires. Un segment particulier peut stocker ou non des valeurs ; les valeurs stockées seront générées à des points entiers à partir de début de la fonction. La somme n1 + n2 + ... sera normalement égale à taille pour les fonctions complètement spécifiées.
Note | |
---|---|
|
Voici un exemple de la routine GEN08. Il utilise le fichier gen08.csd.
Exemple 1281. Un exemple de la routine GEN08.
<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 gen08.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifn = p4 ;choose between tables kcps init 1/p3 ;create index over duration of note. kndx phasor kcps ixmode = 1 kval table kndx, 2, ixmode ;normalize index data ibasefreq = 440 kfreq = kval * 100 ;scale asig poscil .7, ibasefreq + kfreq, 1 ;and add to frequency outs asig, asig endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ;sine wave. f 2 0 65 8 0 16 1 16 1 16 0 17 0 f 3 0 65 8 -1 32 1 2 0 14 0 17 0 i 1 0 2 1 i 1 3 2 2 e </CsScore> </CsoundSynthesizer>
Voici les diagrammes des formes d'onde des routines GEN08 utilisées
dans l'exemple :