randi
Prev | Opcodes et opérateurs de l'orchestre | Next

## randi

rand — Génère une suite contrôlée de nombres aléatoires avec interpolation entre chaque nouveau nombre.

## Description

Génère une suite contrôlée de nombres aléatoires avec interpolation entre chaque nouveau nombre.

## Syntaxe

    ares randi xamp, xcps [, iseed] [, isize] [, ioffset]

    kres randi kamp, kcps [, iseed] [, isize] [, ioffset]

## Initialisation

iseed (facultatif, par défaut=0,5) -- une graine pour la formule du calcul récursif des nombres pseudo-aléatoires. Une valeur comprise entre 0 et +1 produira une sortie initiale de kamp * iseed. Avec une valeur négative, la réinitialisation de la graine sera ignorée. Avec une valeur supérieure à 1, la graine proviendra de l'horloge du système ; c'est la meilleure option pour générer une séquence aléatoire différente à chaque utilisation.

isize (facultatif, par défaut=0) -- s'il est nul, un nombre sur 16 bit est généré. S'il est non nul, un nombre sur 31 bit est généré. La valeur par défaut est 0.

ioffset (facultatif, par défaut=0) -- une valeur de base ajoutée au résultat aléatoire. Nouveau dans la version 4.03 de Csound.

## Exécution

kamp, xamp -- intervalle sur lequel les nombres aléatoires sont distribués.

kcps, xcps -- fréquence à laquelle de nouveaux nombres aléatoires sont générés.

La formule pseudo-aléatoire interne produit des valeurs uniformément distribuées sur l'intervalle allant de -kamp à +kamp. rand génère ainsi un bruit blanc uniforme avec une valeur moyenne quadratique (RMS) de kamp / (racine de 2).

Les autres unités produisent un bruit à bande limitée : les paramètres kcps et xcps permettent de choisir un taux de génération des nouveaux nombres aléatoires inférieur aux fréquences d'échantillonnage ou de contrôle. randi produit une interpolation linéaire entre chaque nouveau nombre et le précédent.

## Exemples

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

Example 736. Exemple de l'opcode randi.

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

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

    instr 1	;same values every time

    krnd randi 100, 10
         printk .5, krnd			; look
    aout oscili 0.8, 440+krnd, 1		; & listen
         outs aout, aout

    endin

    instr 2	;different values every time

    krnd randi 100, 10, 10			; seed from system clock
         printk .5, krnd			; look
    aout oscili 0.8, 440+krnd, 1		; & listen
         outs aout, aout

    endin
    </CsInstruments>
    <CsScore>
    f 1 0 16384 10 1	;sine wave.

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

L'exemple produit la sortie suivante :

     i   1 time     0.00067:    50.00000
     i   1 time     0.50000:   -75.81672
     i   1 time     1.00000:    95.93833

    WARNING: Seeding from current time 1482746120

     i   2 time     2.00067:   -17.94434
     i   2 time     2.50000:   -14.11875
     i   2 time     3.00000:   -72.41545

## Voir aussi

rand, randh

Prev | Up | Next
randh | Home | random