phasor

phasor — Produit une valeur de phase mobile normalisée.

Description

Produit une valeur de phase mobile normalisée.

Syntaxe

ares phasor xcps [, iphs]
kres phasor kcps [, iphs]

Initialisation

iphs (facultatif) -- phase initiale, exprimée comme une fraction d'une période (0 à 1). Avec une valeur négative, l'initialisation de la phase sera ignorée. La valeur par défaut est zéro.

Exécution

Une phase interne est augmentée successivement selon la fréquence de kcps ou de xcps pour produire une valeur de phase mobile, normalisée pour se trouver dans l'intervalle 0 <= phs < 1.

Lorsqu'elle est utilisée comme indice dans une table, cette phase (multipliée par la longueur de la table de fonction) permettra de l'utiliser comme un oscillateur.

Noter que phasor est une sorte d'intégrateur, accumulant les incréments de phase qui représent les réglages de fréquence.

Exemples

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

Exemple 360. Exemple de l'opcode phasor.

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

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

; Instrument #1.
instr 1
  ; Create an index that repeats once per second.
  kcps init 1
  kndx phasor kcps

  ; Read Table #1 with our index.
  ifn = 1
  ixmode = 1
  kfreq table kndx, ifn, ixmode

  ; Generate a sine waveform, use our table values 
  ; to vary its frequency.
  a1 oscil 20000, kfreq, 2
  out a1
endin


</CsInstruments>
<CsScore>

; Table #1, a line from 200 to 2,000.
f 1 0 1025 -7 200 1024 2000
; Table #2, a sine wave.
f 2 0 16384 10 1

; Play Instrument #1 for 2 seconds.
i 1 0 2
e


</CsScore>
</CsoundSynthesizer>


Voir Aussi

Les opcodes d'Accès aux Tables comme : table, tablei, table3 et tab.

Aussi : phasorbnk.

Crédits

Exemple écrit par Kevin Conder.