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

## 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 901. 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 902. 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

Précédent | Niveau supérieur | Suivant
rms | Sommaire | rndseed