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. De plus, on peut utiliser comme commentaires des mots qui contiennent des caractères non numériques car ils sont ignorés.

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] Note

Tous les caractères suivant un ';' ou un '#' (commentaire) 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 1082. 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, 128, loop			;use all 128 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é

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.