GEN07 — Construit des fonctions à partir de morceaux de lignes droites.
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, dans les p-champs de numéros impairs p5, p7, p9, . . .
n1, n2, etc. -- longueur de segment (nombre de positions en mémoire), dans les p-champs de numéros pairs. Ne peuvent pas être négatifs, mais un zéro est significatif pour spécifier des formes d'onde discontinues (comme dans l'exemple ci-dessous). La somme n1 + n2 + .... sera normallement égale à taille pour les fonctions complètement spécifiées. Si la somme est inférieure, les positions de la fonction non comprises seront mises à zéro ; si la somme est supérieure, seules les premières taille positions seront stockées.
![]() |
Note |
---|---|
|
Voici un exemple simple de la routine GEN07. Il utilise le fichier gen07.csd. Il créera une période d'une onde en dent de scie dont la discontinuité se trouve au milieu de la fonction stockée. Voici le graphe :
Graphe de la forme d'onde générée par GEN07.
Exemple 930. Un exemple simple de la routine GEN07.
Voir les sections Audio en Temps-Réel et Options de 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 ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o gen07.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 kamp = 30000 kcps = 440 ifn = 1 ; Play the sine wave stored in Table #1. a1 oscil kamp, kcps, ifn out a1 endin </CsInstruments> <CsScore> ; Table #1: a sawtooth wave (using GEN07). f 1 0 256 7 0 128 1 0 -1 128 0 ; Play Instrument #1 for 2 seconds. i 1 0 2 e </CsScore> </CsoundSynthesizer>