rnd

rnd — Retourne un nombre aléatoire dans un intervalle unipolaire au taux de l'argument.

Description

Retourne un nombre aléatoire dans un intervalle unipolaire au taux de l'argument.

Syntaxe

rnd(x) (taux-i ou -k seulement)

Où l'argument entre parenthèses peut être une expression. Ces convertisseurs de valeur échantillonnent une séquence aléatoire globale, mais sans référencer une racine. Le résultat peut devenir un terme d'une expression ultérieure.

Exécution

Retourne un nombre aléatoire dans l'intervalle unipolaire allant de 0 à x.

Exemples

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

Exemple 915. Exemple de l'opcode rnd.

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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o rnd.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Andres Cabrera 2010

sr = 44100
ksmps = 4410
nchnls = 1
0dbfs = 1

instr 1
	; Generate a random number from 0 to 10.
	irand = rnd(10)
	print irand
endin

instr 2
	klimit init 10
	krand = rnd(klimit)
	printk 0, krand
endin

</CsInstruments>
<CsScore>

i 1 0 1  ; Generate 1 number
i 1 0 1  ; Generate another number
i 1 0 1  ; yet another number

i 2 2 1  ; 1 second prints 9 values (kr = 10)
e

</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

SECTION 1:
new alloc for instr 1:
instr 1:  irand = 9.735
new alloc for instr 1:
instr 1:  irand = 1.394
new alloc for instr 1:
instr 1:  irand = 7.695
midi channel 1 now using instr 1
B  0.000 ..  2.000 T  2.000 TT  2.000 M:  0.00000
new alloc for instr 2:
 i   2 time     2.10000:     5.25005
 i   2 time     2.20000:     6.22665
 i   2 time     2.30000:     9.69511
 i   2 time     2.40000:     7.16822
 i   2 time     2.50000:     9.45134
 i   2 time     2.60000:     1.34123
 i   2 time     2.70000:     2.09879
 i   2 time     2.80000:     2.36001
 i   2 time     2.90000:     0.03553

Voici un autre exemple de l'opdcode rnd. Il utilise le fichier rnd-advanced.csd.

Exemple 916. Exemple avancé de l'opcode rnd.

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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o rnd.wav -W ;;; for file output any platform

; By Stefano Cucchi 2020

</CsOptions>
<CsInstruments>


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

instr 1
; Generate a random number from 0 to 5
irand1 = rnd(5)
; Generate a random number from 0 to 13
irand2 = rnd(13)

print irand1
print irand2

a1, a2 crossfm 200, 250, irand1, irand2, 1, 1, 1
kdeclick linseg 0, 0.2, 0.5, p3-0.4, 0.5, 0.2, 0

outch 1, a1*kdeclick
outch 2, a2*kdeclick

endin

</CsInstruments>
<CsScore>

f 1 0 4096 10 1 0 1 0 0.5 0 0.2

i 1 0 1  
i 1 + 1  
i 1 + 1 
i 1 + 1 


e

</CsScore>
</CsoundSynthesizer>


Voir aussi

birnd

Crédits

Auteur: Barry L. Vercoe
MIT
Cambridge, Massachussetts
1997