powoftwo
Prev | Opcodes et opérateurs de l'orchestre | Next

## powoftwo

powoftwo — Calcule une puissance de deux.

## Description

Calcule une puissance de deux.

## Syntaxe

    powoftwo(x)  (argument au taux d'initialisation ou de contrôle seulement)

## Exécution

La fonction powoftwo() retourne 2x et accepte comme argument des nombres positifs et négatifs. L'intervalle des valeurs autorisées dans powoftwo() va de -5 à +5 permettant une précision plus fine qu'un cent dans un intervalle de dix octaves. Pour un intervalle de valeurs plus grand, utiliser l'opcode plus lent pow.

Ces fonctions sont rapides, car elles lisent des valeurs stockées dans des tables. Elles sont très utiles lorsque l'on travaille avec des rapports de hauteurs. Elles travaillent au taux-i et au taux-k.

## Exemples

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

Example 648. Exemple de l'opcode powoftwo.

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 poweroftwo.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1	; bit reduction for Lo-Fi sound

    iBits	  = p5						;bit depth
    iQuantize = powoftwo(iBits)				;find number of discrete steps for this bit depth
    iQuantize = iQuantize*0.5				;half the number of steps for each side of a bipolar signal
    print	  iQuantize
    asig	  soundin "fox.wav"
    asig	  = round(asig * iQuantize) / iQuantize		;quantize audio signal (bit reduce)
    	  outs asig, asig

    endin
    </CsInstruments>
    <CsScore>
    ;        bits
    i1 0   3  16
    i1 ^+3 .  12
    i1 ^+3 .   8
    i1 ^+3 .   4
    i1 ^+3 .   2
    i1 ^+3 .   1

    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci :

    instr 1:  iQuantize = 32768.000
    instr 1:  iQuantize = 2048.000
    instr 1:  iQuantize = 128.000
    instr 1:  iQuantize = 8.000
    instr 1:  iQuantize = 2.000
    instr 1:  iQuantize = 1.000

## Voir aussi

logbtwo, pow

## Crédits

Auteur : Gabriel Maldonado
Italie
Juin 1998

Auteur : John ffitch
Université de Bath, Codemist, Ltd.
Bath, UK
Juillet 1999

Nouveau dans la version 3.57 de Csound

Prev | Up | Next
powershape | Home | prealloc