rand — Génère une suite contrôlée de nombres aléatoires.
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 supérieure à 1, la graine proviendra de l'horloge du système. Avec une valeur négative, la réinitialisation de la graine sera ignorée. La valeur par défaut est 0,5.
isel (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.
kamp, xamp -- intervalle sur lequel les nombres aléatoires sont distribués.
ares, kres -- nombre aléatoire produit.
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).
La valeur de ares ou de kres se trouve dans un intervalle semi-ouvert qui contient -xamp, but mais pas +xamp.
Voici un exemple de l'opcode rand. Il utilise le fichier rand.csd.
Exemple 874. Exemple de l'opcode rand.
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 rand.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ;same values every time krnd rand 100 printk .5, krnd ; look aout oscili 0.8, 440+krnd, 1 ; & listen outs aout, aout endin instr 2 ;different values every time krnd rand 100, 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.00305 i 1 time 0.50000: 62.71362 i 1 time 1.00000: -89.31885 WARNING: Seeding from current time 472230558 i 2 time 2.00067: -70.65735 i 2 time 2.50000: 69.15283 i 2 time 3.00000: -48.79761