GEN14 — Mémorise un polynôme dont les coefficients sont dérivés des polynômes de Tchebychev de seconde espèce.
Utilise les coefficients de Tchebychev pour générer des fonctions polynomiales stockées qui, dans le waveshaping, peuvent être utilisées pour séparer une sinus en harmoniques selon un spectre prédéfini.
taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f). La valeur normale est une puissance-de-2 plus 1.
xint -- fournit les valeurs gauches et droites [-xint, +xint] de l'intervalle des x sur lequel le polynôme doit être évalué. GEN13 et GEN14 appellent GEN03 pour évaluer leurs fonctions ; la valeur en p5 est ainsi étendue en une paire négative-positive p5, p6 avant l'appel de GEN03. La valeur normale est 1.
xamp -- facteur de pondération de l'amplitude de l'entrée sinusoïdale qui est attendue pour produire le spectre suivant.
h0, h1, h2, etc. -- importance relative des harmoniques 0 (CC), 1 (fondamental), 2 ... qui résulteront quand une sinus d'amplitude
xamp * int(taille/2)/xint
est traitée en waveshaping avec cette table de fonction. Ces valeurs décrivent ainsi un spectre de fréquences associé à un facteur particulier xamp du signal d'entrée.
Note | |
---|---|
|
Voici un exemple de la routine GEN14. Il utilise le fichier gen14.csd.
Exemple 1288. Exemple de la routine GEN14.
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 gen14.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 ;after the example from The Csound Book, page 83 instr 1 ;compare results from GEN13 & GEN14 iwshpfn = p6 inrmfn = p7 aswp linseg 0.01, p3*.5, .49, p3*.5, 0.01 ;index sweep function aindex poscil aswp, p5, 2 ;sound to waveshape atable tablei aindex, iwshpfn, 1, .5 ;waveshape index anrm tablei aswp*2, inrmfn, 1 ;normalization aenv linen p4, .01, p3, .02 ;amplitude envelope asig = (atable*anrm)*aenv ;normalize and impose envelope asig dcblock2 asig ;get rid of DC outs asig, asig endin </CsInstruments> <CsScore> f 2 0 8192 10 1 ;sine wave f 28 0 4097 13 1 1 1 0 .8 0 .5 0 .2 ;waveshaping function: GEN13 - odd harmonics f 280 0 2049 4 28 1 ;normalization function for f28 f 29 0 4097 14 1 1 1 0 .8 0 .5 0 .2 ;waveshaping function: GEN14 - same harmonics f 290 0 2049 4 29 1 ;normalization function for f29 f 30 0 4097 13 1 1 0 1 0 .6 0 .4 0 .1 ;waveshaping function: GEN13 - even harmonics f 301 0 2049 4 30 1 ;normalization function for f30 f 31 0 4097 14 1 1 0 1 0 .6 0 .4 0 .1 ;waveshaping function: GEN13 - even harmonics f 310 0 2049 4 31 1 ;normalization function for 31 s i1 0 3 .7 440 28 280 i1 4 . .7 . 29 290 i1 8 . .7 . 30 301 i1 12 3 .7 . 31 310 e </CsScore> </CsoundSynthesizer>
Voici les diagrammes des formes d'onde des routines GEN14
utilisées dans l'exemple :
Information au sujet des polynômes de Tchebychev sur Wikipedia : http://fr.wikipedia.org/wiki/Polynôme_de_Tchebychev