birnd — Retourne un nombre aléatoire dans un intervalle bipolaire.
birnd(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.
Retourne un nombre aléatoire dans l'intervalle bipolaire allant de -x à x. rnd et birnd obtiennent leurs valeurs d'un générateur de nombres pseudo-aléatoires global, puis les mettent à l'échelle de l'intervalle demandé. Le générateur global unique distribuera ainsi sa séquence à ces unités durant toute l'exécution, quelque soit l'ordre d'arrivée de ces demandes.
Voici un exemple de l'opcode birnd. Il utilise le fichier birnd.csd.
Exemple 105. Exemple de l'opcode birnd.
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 -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ;-o birnd.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; Generate a random number from -1 to 1. kbin = birnd(1) printk .2, kbin endin </CsInstruments> <CsScore> i 1 0 1 i 1 + . i 1 + . i 1 + . i 1 + . i 1 + . i 1 + . e </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
instr 1: i1 = 0.94700 instr 1: i1 = -0.72119 instr 1: i1 = 0.53898 instr 1: i1 = 0.05001 instr 1: i1 = 0.24533 instr 1: i1 = 0.93902 instr 1: i1 = 0.43364