GEN23
Précédent | Instructions de partition et routines GEN | Suivant

## GEN23

GEN23 — Lit des valeurs numériques à partir d'un fichier texte.

## Description

Ce sous-programme lit des valeurs numériques à partir d'un fichier ASCII.

## Syntaxe

    f # date taille -23 "nomfichier.txt"

## Initialisation

"nomfichier.txt" -- les valeurs numériques contenues dans "nomfichier.txt" (qui indique le nom de chemin complet du fichier de caractères à lire) peuvent être séparées par des espaces, des tabulations, des caractères de passage à la ligne ou des virgules.

taille -- nombre de points dans la table. Doit être une puissance de 2, une puissance de 2 + 1, ou zéro. Si taille = 0, la taille de la table est déterminée par le nombre de valeurs numériques dans nomfichier.txt. (Nouveau dans la version 3.57 de Csound)

| Note
Tous les caractères suivant un ';', un '#' (commentaire) ou un '<' (balise XML depuis la version 6.04) sont ignorés jusqu'à la ligne suivante (les nombres aussi).

## Exemples

Voici un exemple de la routine GEN23. Il utilise les fichiers gen23.csd et spectrum.txt.

Exemple 1288. Exemple de la routine GEN23.

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

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1
    ;"spectrum.txt" is created by the spectrum plotter of Audacity (set at size 128), using "fox.wav".

    instr 1	;performs additive synthesis based on spectrum.txt

    indx =0						;start reading at first value
    loop:
    ifreq tab_i indx, 2				;take odd values of list (= frequency)
    iamp tab_i indx+1, 2				;take even values of list (= amplitude)
    event_i "i", 10, 0, p3, iamp, ifreq   		;use "event_i" to trigger instr. 10
        loop_lt indx, 2, 126, loop			;use all 126 frequency and amplitude values

    endin

    instr 10 ;generate sound

    iamp  = p4
    ifreq = p5
    asig  poscil ampdb(iamp), ifreq, 1
    asig  linen asig, .01, p3, p2
          outs  asig, asig

    endin
    </CsInstruments>
    <CsScore>
    f 1 0 16384 10 1		;sine wave
    f 2 0 128 -23 "spectrum.txt"	;"spectrum.txt" can be found in /manual/examples

    i1 0 2

    e
    </CsScore>
    </CsoundSynthesizer>

Voici le diagramme de la forme d'onde de la routine GEN23 utilisée dans l'exemple :

f 2 0 128 -23 "spectrum.txt" - non normalisé

## Crédits

Auteur : Gabriel Maldonado
Italie
Février 1998

Nouveau dans la version 3.47 de Csound. Les commentaires commençant par un '#' sont ignorés depuis la version 5.12 de csound.

Précédent | Niveau supérieur | Suivant
GEN21 | Sommaire | GEN24