randomh

randomh — Génère des nombres aléatoires dans des limites définies par l'utilisateur et les maintient pendant une certaine durée.

Description

Génère des nombres aléatoires dans des limites définies par l'utilisateur et les maintient pendant une certaine durée.

Syntaxe

ares randomh kmin, kmax, xcps [,imode] [,ifirstval]
kres randomh kmin, kmax, kcps [,imode] [,ifirstval]

Initialisation

imode (facultatif, 0 par défaut) -- mode de génération de la première valeur retournée (voir ci-dessous)

ifirstval (facultatif, 0 par défaut) -- première valeur retournée

Exécution

kmin -- limite inférieure de l'intervalle

kmax -- limite supérieure de l'intervalle

kcps, xcps -- taux de génération des points aléatoires

L'opcode randomh est semblable à randh mais il permet à l'utilisateur de fixer arbitrairement les valeurs du minimum et du maximum.

Si imode = 0 (par défaut), la valeur de l'argument kmin est retournée pendant 1/kcps (resp. 1/xcps) secondes au début de la note. Puis, le processus normal continue avec la génération et le maintien d'un nouveau nombre aléatoire toutes les 1/kcps (resp. 1/xcps) secondes.

Si imode = 2, la valeur de l'argument ifirstval est retournée pendant 1/kcps (resp. 1/xcps) secondes au début de la note. Puis, le processus normal continue avec la génération et le maintien d'un nouveau nombre aléatoire toutes les 1/kcps (resp. 1/xcps) secondes.

Si imode = 3, le processus de génération commence avec un nombre aléatoire dès l'initialisation de la note.

Exemples

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

Exemple 878. Exemple de l'opcode randomh.

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

; by Kevin Conder & Menno Knevel, adapted for new args by Francois Pinot.

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

seed 0

instr 1

kmin    init 220; Choose a random frequency between 220 and 440 Hz.
kmax    init 440
kcps    init 10; Generate new random numbers at 10 Hz.
imode   =    p4
ifstval =    p5
  
printf_i "\nMode: %d\n", 1, imode
k1 randomh kmin, kmax, kcps, imode, ifstval
printk2 k1
asig    poscil  1, k1
outs    asig, asig
endin

</CsInstruments>
<CsScore>
; each time with a different mode.
i 1 0 1
i 1 2 1 2 330
i 1 4 1 3
e
</CsScore>
</CsoundSynthesizer>


Sa sortie incluera des lignes comme celles-ci :

Mode: 0
 i1   220.00000
 i1   396.26079
 i1   240.75446
 i1   364.24577
    ...

Mode: 2
 i1   330.00000
 i1   416.50935
 i1   356.11619
 i1   433.59324
    ...

Mode: 3
 i1   261.17741
 i1   402.00891
 i1   393.86592
 i1   307.19839
    ...

Voir aussi

randh, random, randomi

Crédits

Auteur : Gabriel Maldonado

Les arguments imode et ifirstval ont été ajoutés par François Pinot, en janvier 2011, après une discussion avec Peiman Khosravi sur la liste csnd.