ziwm

ziwm — Ecrit dans une variable zk au taux-i avec mixage.

Description

Ecrit dans une variable zk au taux-i avec mixage.

Syntaxe

ziwm isig, indx [, imix]

Initialisation

isig -- initialise la valeur à la position zk.

indx -- pointe sur la position zk vers laquelle écrire.

imix (facultatif, par défault=1) -- indique si le mixage doit avoir lieu.

Exécution

ziwm est un opcode de mixage, il ajoute le signal à la valeur actuelle de la variable. Si aucun imix n'est spécifié, le mixage aura toujours lieu. imix = 0 provoquera l'écrasement des données comme dans ziw, zkw et zaw. Toute autre valeur entraînera un mixage.

Attention : lors de l'utilisation des opcodes de mixage ziwm, zkwm et zawm, il faut faire attention à ce que les variables qui recoivent le mixage soient remises à zéro à la fin (ou au début) de chaque cycle-k ou -a. Leur ajouter indéfiniment des signaux peut engendrer des valeurs astronomiques.

Une approche serait d'établir certains intervalles de variables zk et za à utiliser pour le mixage, puis d'utiliser zkcl ou zacl pour effacer ces intervalles.

Exemples

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

Exemple 1251. Exemple de l'opcode ziwm.

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

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

; Initialize the ZAK space.
; Create 1 a-rate variable and 1 k-rate variable.
zakinit 1, 1

; Instrument #1 -- a simple instrument.
instr 1
  ; Add 20.5 to zk variable #1.
  ziwm 20.5, 1
endin

; Instrument #2 -- another simple instrument.
instr 2
  ; Add 15.25 to zk variable #1.
  ziwm 15.25, 1
endin

; Instrument #3 -- prints out zk variable #1.
instr 3
  ; Read zk variable #1 at i-rate.
  i1 zir 1

  ; Print out the value of zk variable #1.
  ; It should be 35.75 (20.5 + 15.25)
  print i1
endin


</CsInstruments>
<CsScore>

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


</CsScore>
</CsoundSynthesizer>


Voir aussi

zaw, zawm, ziw, zkw, zkwm

Crédits

Auteur : Robin Whittle
Australie
Mai 1997

Nouveau dans la version 3.45

Exemple écrit par Kevin Conder.