GEN04 — Génère une fonction de normalisation.
Ce sous-programme génère une fonction de normalisation en examinant le contenu d'une table existante.
taille -- nombre de points dans la table. Une puissance-de-2 plus 1. Ne doit pas dépasser (sauf de 1) la taille de la table source examinée ; limitée à exactement la moitié de cette taille si modesource est de type décalage (voir ci-dessous).
source # -- numéro de table de la fonction stockée à examiner.
modesource -- une valeur codée, spécifiant comment la table source doit être parcourue pour obtenir la fonction de normalisation. Zéro indique que la source doit être parcourue de gauche à droite. Une valeur non nulle indique que la source a une structure bipolaire ; la lecture commencera au point médian et progressera vers les extrémités, par paires de points équidistants du centre.
Note | |
---|---|
|
Voici un exemple de la routine GEN04. Il utilise le fichier gen04.csd.
Exemple 1277. Un exemple de la routine GEN04.
<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 gen04.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 gisine ftgen 0, 0, 16384, 10, 1 ;sine wave instr 1 ihertz = cpspch(p4) ipkamp = p5 iwsfn = p6 ;waveshaping function inmfn = p7 ;normalization function agate linen 1, .01, p3, .1 ;overall amp envelope kctrl linen .9, 2, p3, 2 ;waveshaping index control aindex poscil kctrl/2, ihertz, gisine ;sine wave to be distorted asignal tablei .5+aindex, iwsfn, 1 ;waveshaping knormal tablei 1/kctrl, inmfn , 1 ;amplitude normalization outs asignal*knormal*ipkamp*agate, asignal*knormal*ipkamp*agate endin </CsInstruments> <CsScore> f1 0 64 21 6 ;Gaussian (random) distribution f2 0 33 4 1 1 ;normalizing function with midpoint bipolar offset s ; st dur pch amp wsfn inmfn i1 0 4 6.00 .7 1 2 i1 4 . 7.00 . i1 8 . 8.00 . ;------------------------------------------------------------------------------------- f3 0 1025 13 1 1 0 5 0 5 0 10 ;Chebyshev algorithm f4 0 513 4 3 1 ;normalizing function with midpoint bipolar offset s ; st dur pch amp wsfn inmfn i1 0 4 6.00 .9 3 4 i1 4 . 7.00 . i1 8 . 8.00 . e </CsScore> </CsoundSynthesizer>
Voici les diagrammes des formes d'onde des routines GEN04
utilisées dans l'exemple :