urd
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## urd

urd — Un générateur de nombres aléatoires de distribution discrète définie par l'utilisateur que l'on peut utiliser comme une fonction.

## Description

Un générateur de nombres aléatoires de distribution discrète définie par l'utilisateur que l'on peut utiliser comme une fonction.

## Syntaxe

    aout = urd(ktableNum)

    iout = urd(itableNum)

    kout = urd(ktableNum)

## Initialisation

itableNum -- numéro d'une table contenant la fonction de la distribution aléatoire. Cette table est générée par l'utilisateur. Voir GEN40, GEN41 et GEN42. La longueur de la table peut être différente d'une puissance de 2.

## Exécution

ktableNum -- numéro d'une table contenant la fonction de la distribution aléatoire. Cette table est générée par l'utilisateur. Voir GEN40, GEN41 et GEN42. La longueur de la table peut être différente d'une puissance de 2.

urd est le même opcode que duserrnd, mais on peut l'utiliser à la manière d'une fonction.

Pour un tutoriel sur les histogrammes et les fonctions de distribution aléatoires consulter :

- D. Lorrain. "A panoply of stochastic cannons". In C. Roads, ed. 1989. Music machine. Cambridge, Massachusetts: MIT press, pp. 351 - 379.

## Exemples

Voici un exemple de l'opcode urd. Il utilise le fichier urd.csd.

Exemple 995. Exemple de l'opcode urd.

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

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

    instr 1

    ktab  = 1			;ftable 1
    kurd  = urd(ktab)
    ktrig metro 5			;triggers 5 times per second
    kres  samphold kurd, ktrig	;sample and hold value of kurd
          printk2 kres		;print it
    asig  poscil .5, 220+kres, 2
          outs asig, asig
    endin

    instr 2

    seed 0	;every run new values

    ktab  = 1 			;ftable 1
    kurd  = urd(ktab)
    ktrig metro 5			;triggers 5 times per second
    kres  samphold kurd, ktrig	;sample and hold value of kurd
          printk2 kres		;print it
    asig  poscil .5, 220+kres, 2
          outs asig, asig

    endin
    </CsInstruments>
    <CsScore>
    f1 0 -20 -42  10 20 .3 100 200 .7 ;30% choose between 10 and 20 and 70% between 100 and 200
    f2 0 8192 10 1			  ;sine wave

    i 1 0 5
    i 2 6 5
    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci :

     i1   184.61538
     i1   130.76923
     i1   169.23077
     i1    12.00000
    .......

    WARNING: Seeding from current time 3751086165

     i2   138.46154
     i2    12.00000
     i2   123.07692
     i2   161.53846
     i2   123.07692
     i2   153.84615
    ......

## Voir aussi

cuserrnd, duserrnd

## Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 4.16

Précédent | Niveau supérieur | Suivant
urandom | Sommaire | vactrol