GEN03 — Génère une table de fonction en évaluant un polynôme.
Ce sous-programme génère une table de fonction en évaluant un polynôme en x sur un intervalle fixe et avec des coefficients spécifiés.
taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1.
xval1, xval2 -- limites gauche et droite de l'intervalle x sur lequel le polynôme est défini (xval1 < xval2). Celles-ci produiront la 1ère valeur stockée et la (puissance-de-2 plus 1)ème valeur stockée respectivement dans la table de la fonction générée.
c0, c1, c2, ..., cn -- coefficients du polynôme d'ordre n
C0 + C1x + C2x2 + . . . + Cnxn
Les coefficients peuvent être des nombres réels positifs ou négatifs ; un zéro dénote un terme manquant dans le polynôme. La liste de coefficients commence en p7, avec une limite maximale actuelle de 144 termes.
![]() |
Note |
---|---|
|
Voici un exemple simple de la routine GEN03. Il utilise le fichier gen03.csd. Il remplit une table avec une fonction polynomiale du 4ème ordre sur l'intervale des x allant de -1 à 1. L'origine sera à la position décalée 512. La fonction est post-normalisée. Voici le graphe :
Graphe de la forme d'onde générée par GEN03.
Exemple 611. Un exemple simple de la routine GEN03.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o gen03.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Create an index over the length of our entire note. kcps init 1/p3 kndx phasor kcps ; Read Table #1 with our index. ifn = 1 ixmode = 1 kamp table kndx, ifn, ixmode ; Create a sine wave, use the Table #1 values to control ; the amplitude. a1 oscil kamp*30000, 440, 2 out a1 endin </CsInstruments> <CsScore> ; Table #1: a polynomial function (using GEN03). f 1 0 1025 3 -1 1 5 4 3 2 2 1 ; Table #2, a sine wave. f 2 0 16384 10 1 ; Play Instrument #1 for 2 seconds. i 1 0 2 e </CsScore> </CsoundSynthesizer>