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

## GEN28

GEN28 — Lit un fichier texte qui contient une trajectoire paramétrée par le temps.

## Description

Ce générateur de fonction lit un fichier texte qui contient des ensembles de trois valeurs représentant des coordonnées xy et un paramètre temporel indiquant quand placer le signal à cette position, permettant à l'utilisateur de définir une trajectoire paramétrée par le temps. Le format du fichier est de la forme :

temps1 X1 Y1
temps2 X2 Y2
temps3 X3 Y3

La configuration des coordonnées xy dans l'espace place le signal de la manière suivante :

- a1 est -1, 1

- a2 est 1, 1

- a3 est -1, -1

- a4 est 1, -1

Cela suppose des haut-parleurs disposés avec a1 en avant gauche, a2 en avant droite, a3 en arrière gauche, a4 en arrière droite. Les valeurs supérieures à 1 provoqueront une atténuation des sons comme s'ils étaient distants. GEN28 crée les valeurs avec une résolution de 10 millisecondes.

## Syntaxe

    f # date taille 28 codfic

## Initialisation

taille -- nombre de points dans la table. Doit être 0. GEN28 prend une taille de 0 et alloue la mémoire automatiquement.

codfic -- chaîne de caractères dénotant le nom du fichier source. Une chaîne de caractères (entre apostrophes doubles, espaces autorisés) donne le nom du fichier lui-même, optionnellement un nom de chemin complet. Si le chemin n'est pas complet, le fichier nommé est cherché dans le répertoire courant.

## Exemples

    f1 0 0 28 "move"

Le fichier "move" ressemblera à ceci :

0 -1 1
1 1 1
2 4 4
2.1 -4 -4
3 10 -10
5 -40 0

Puisque GEN28 crée les valeurs avec une résolution de 10 millisecondes, il y aura 500 valeurs créées en interpolant entre X1 et X2, X2 et X3, etc., et entre Y1 et Y2, Y2 et Y3, etc., sur le nombre approprié de valeurs qui sont stockées dans la table de fonction. Le son démarrera à l'avant gauche, il bougera pendant 1 seconde vers l'avant droite, durant la seconde suivante il s'éloignera mais toujours à l'avant droite, ensuite il bougera vers l'arrière gauche en seulement 1/10 de seconde, un peu éloigné. Enfin, pendant les 0,9 secondes restantes le son bougera vers l'arrière droite, modérément éloigné, et il viendra s'arrêter entre les deux canaux gauche (plein ouest !), assez éloigné.

Voici un exemple de la routine GEN28. Il utilise le fichier gen28.csd.

Exemple 1154. Exemple de la routine GEN28.

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
    -odac   ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o gen28.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    ga1	init	0
    ga2	init	0
    ga3	init	0
    ga4	init	0

    instr 1	;uses GEN28 file "move", as found in /manual/examples

    kx    init 0
    ky    init 0
    ktime line  0, 5, 5				;same time as in table 1 (="move")
    asig  diskin2 "beats.wav", 1, 0, 1		;sound source is looped
    a1, a2, a3, a4 space asig, 1, ktime, .1, kx, ky	;use table 1 = GEN28
    ar1, ar2, ar3, ar4 spsend			;send to reverb

    ga1  = ga1+ar1
    ga2  = ga2+ar2
    ga3  = ga3+ar3
    ga4  = ga4+ar4
         outq a1, a2, a3, a4

    endin

    instr 99 ; reverb instrument

    a1 reverb2 ga1, 2.5, .5
    a2 reverb2 ga2, 2.5, .5
    a3 reverb2 ga3, 2.5, .5
    a4 reverb2 ga4, 2.5, .5
       outq	a1, a2, a3, a4

    ga1=0
    ga2=0
    ga3=0
    ga4=0

    endin
    </CsInstruments>
    <CsScore>
    f1 0 0 28 "move"

    i1 0 5		;same time as ktime
    i 99 0 10	;keep reverb active
    e
    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : Richard Karpen
Seattle, Wash
1998

Nouveau dans la version 3.48 de Csound

Précédent | Niveau supérieur | Suivant
GEN27 | Sommaire | GEN30