GEN11 — Génère un ensemble additif de partiels cosinus.
Ce sous-programme génère un ensemble additif de partiels cosinus, à la manière des générateurs de Csound buzz et gbuzz.
taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f).
nh -- nombre d'harmoniques demandés. Doit être positif.
lh(optional) -- harmonique présent le plus bas. Peut être positif, nul ou négatif. L'ensemble d'harmoniques peut démarrer à n'importe quel numéro d'harmonique et progresse vers le haut ; si lh est négatif, tous les harmoniques en dessous de zéro se réfléchiront autour de zéro pour produire des harmoniques positifs sans changement de phase (car le cosinus est une fonction paire), et s'ajouteront de façon constructive aux harmoniques positifs de l'ensemble. La valeur par défaut est 1.
r(facultatif) -- multiplicateur dans une série de coefficients d'amplitude. C'est une séries de puissances : si le lh ème harmonique a un coefficient d'amplitude de A le (lh + n)ème harmonique aura un coefficient de A * rn, c'est-à-dire que les valeurs d'amplitudes suivent une courbe exponentielle. r peut être positif, nul ou négatif, et n'est pas restreint à des entiers. La valeur par défaut est 1.
Note | |
---|---|
|
Voici un exemple de la routine GEN11. Il utilise le fichier gen11.csd.
Exemple 1285. Un exemple de la routine GEN11.
<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 gen11.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifn = p4 asig oscil .8, 220, ifn outs asig,asig endin </CsInstruments> <CsScore> f 1 0 16384 11 1 1 ;number of harmonics = 1 f 2 0 16384 11 10 1 .7 ;number of harmonics = 10 f 3 0 16384 11 10 5 2 ;number of harmonics = 10, 5th harmonic is amplified 2 times i 1 0 2 1 i 1 + 2 2 i 1 + 2 3 e </CsScore> </CsoundSynthesizer>
Voici les diagrammes des formes d'onde des routines GEN11 utilisées
dans l'exemple :