GEN18

GEN18 — Ecrit des formes d'onde complexes construites à partir de formes d'ondes déjà existantes.

Description

Ecrit des formes d'onde complexes construites à partir de formes d'ondes déjà existantes. Chaque forme d'onde utilisée nécessite 4 p-champs et peut se chevaucher avec les autres formes d'onde.

Syntaxe

f # date taille 18 fna ampa debuta fina fnb ampb debutb finb ...

Initialisation

taille -- nombre de points dans la table. Doit être une puissance de deux (voir l'instruction f).

fna, fnb, etc. -- numéros des tables pré-existantes à écrire dans la table.

ampa, ampb, etc. -- amplitude des formes d'onde. Ces amplitudes sont relatives, car la forme d'onde composée pourra être post-normalisée. Des valeurs négatives sont autorisées et impliquent une opposition de phase.

debuta, debutb, etc. -- où commencer à écrire fn dans la table.

fina, finb, etc. -- où terminer l'écriture de fn dans la table. La dernière position valable est la puissance de deux moins un.

Exemples

f 1  0  4096  10  1
f 2  0  1024  18  1  1  0  511  1  1  512  1023

f2 est constitué de deux copies de f1 positionnées en 0-511 et 512-1023.

Voici un exemple de la routine GEN18. Il utilise le fichier gen18.csd.

Exemple 1078. Un exemple de la routine GEN18.

<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 gen18.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

ifn   = p4  
ilen  = ftlen(ifn)
aphase  phasor 220 
asig    tablei aphase*ilen, ifn
        outs   asig, asig
      
endin
</CsInstruments>
<CsScore>

f 1 0 4096 10 1                                         ;sine
f 2 0 4096 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111  ;sawtooth
f 3 0 4096 11 10 5 2                                    ;cosine partials

f 11 0 8192  18 1 1 0 4095 2 1 4096 8191    ;sine+sawtooth
f 12 0 8192  18 1 1 0 4095 3 1 4096 8191    ;sine+cosine partials
f 13 0 1024  18 1 0.7 0 767 3 0.7 512 1023  ;sine+cosine partials overlapped, shorter table

i 1 0 2 2    ;play sawtooth 
i 1 + 2 3    ;then cosine partials
i 1 5 2 11   ;now sine+sawtooth
i 1 + 2 12   ;and sine+cosine partials
i 1 + 2 13   ;and sine+cosine partials overlapped, shorter table

e
</CsScore>
</CsoundSynthesizer>


Voici les diagrammes des formes d'onde générées par GEN18, utilisées dans l'exemple :

f 11 0 8193 18 1 1 0 4096 2 1 4097 8192 - forme d'onde composite faite d'une sinus et d'une dent de scie

f 12 0 8192 18 1 1 0 4096 3 1 4097 8192 - forme d'onde composite faite d'une sinus et d'une onde de partiels cosinus

f 12 0 8192 18 1 1 0 4096 3 1 4097 8192 - forme d'onde composite faite d'une sinus et d'une onde de partiels cosinus

f 13 0 1024 18 1 0.7 0 767 3 0.7 512 1023 - partiels sinus+cosinus se chevauchant, avec une table plus courte que f12

f 13 0 1024 18 1 0.7 0 767 3 0.7 512 1023 - partiels sinus+cosinus se chevauchant, avec une table plus courte que f12

Noms anciennement utilisés

GEN18 était appelé GEN22 dans la version 4.18. Le nom fut changé à cause d'un conflit avec DirectCsound.

Crédits

Auteur : William « Pete » Moss
University of Texas at Austin
Austin, Texas USA
Janvier 2002

Nouveau dans la version 4.18, changé dans la version 4.19