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

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

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

</CsInstruments>
<CsScore>

; Play Instrument #1 for one second,
; each time with a different mode.
i 1 0 1
i 1 1 1 2 330
i 1 2 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.

Exemple écrit par Kevin Conder et adapté pour les nouveaux arguments par François Pinot.