rnd — Retourne un nombre aléatoire dans un intervalle unipolaire au taux de l'argument.
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.
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>