betarand

betarand — Générateur de nombres aléatoires de distribution beta (valeurs positives seulement).

Description

Générateur de nombres aléatoires de distribution beta (valeurs positives seulement). C'est un générateur de bruit de classe x.

Syntaxe

ares betarand krange, kalpha, kbeta
ires betarand krange, kalpha, kbeta
kres betarand krange, kalpha, kbeta

Exécution

krange -- l'intervalle des nombres aléatoires (0 - krange).

kalpha -- valeur de alpha. Si kalpha est inférieur à un, ses petites valeurs favorisent les valeurs proches de 0.

kbeta -- valeur de beta. Si kbeta est inférieur à un, ses petites valeurs favorisent les valeurs proches de krange.

Si kalpha et kbeta sont tous deux égaux à un, nous obtenons une distribution uniforme. Si kalpha et kbeta sont tous deux supérieurs à un nous obtenons une sorte de distribution gaussienne. Ne produit que des nombres positifs.

Pour des explications plus détaillées sur ces distributions, consulter :

  1. C. Dodge - T.A. Jerse 1985. Computer music. Schirmer books. pp.265 - 286

  2. D. Lorrain. A panoply of stochastic cannons. In C. Roads, ed. 1989. Music machine . Cambridge, Massachusetts: MIT press, pp. 351 - 379.

Exemples

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

Exemple 56. Exemple de l'opcode betarand.

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>
-odac           -iadc    ;;;RT audio I/O
; -o betarand.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
ksmps = 441
nchnls = 1

; Instrument #1.
instr 1
  ; Generate a number between 0 and 1 with a 
  ; uniform distribution.
  ; krange = 1
  ; kalpha = 1
  ; kbeta = 1

  ; ** every run time same value
  i1 betarand 1, 1, 1

  print i1
endin

; Instrument #2.
instr 2
  ;  Same of above but with
  ;  seed from system time

  seed 0

  ; ** every run time different value
  i1 betarand 1, 1, 1

  print i1
endin

</CsInstruments>
<CsScore>

; Play Instrument #1 for one second.
i 1 0 1
; Play Instrument #2 for one second.
i 2 1 1
e

</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra une ligne comme celle-ci :

instr 1:  i1 = 24583.412

Voir Aussi

seed, bexprnd, cauchy, exprand, gauss, linrand, pcauchy, poisson, trirand, unirand, weibull

Crédits

Auteur : Paris Smaragdis
MIT, Cambridge
1995

Existait dans la 3.30

Exemple écrit par Kevin Conder.