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

## 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 864. 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.

Précédent | Niveau supérieur | Suivant
random | Sommaire | randomi