vbapgmove

vbapgmove — Calcule les gains pour positionner un son entre plusieurs canaux avec des sources virtuelles en mouvement.

Description

Calcule les gains pour positionner un son entre plusieurs canaux avec des sources virtuelles en mouvement.

Syntaxe

kr1[, kr2...] vbapgmove idur, ispread, ifldnum, ifld1 \
      [, ifld2] [...]
karray[] vbapgmove idur, ispread, ifldnum, ifld1 \
      [, ifld2] [...]

Initialisation

idur -- durée pendant laquelle le mouvement a lieu.

ispread -- diffusion de la source virtuelle (de 0 à 100). S'il vaut 0, on a un panoramique d'amplitude conventionnel. Plus ispread augmente et plus le nombre de haut-parleurs utilisés dans le panoramique augmente. S'il vaut 100, le son est appliqué à tous les haut-parleurs.

ifldnum -- nombre de champs (sa valeur absolue doit être supérieure ou égale à 2). Si ifldnum est positif, le mouvement de la source virtuelle est une ligne brisée spécifiée par les directions données. Chaque transition est exécutée durant un intervalle de même durée. Si ifldnum est négatif, les vélocités angulaires spécifiées sont appliquées à la source virtuelle durant les intervalles de temps spécifiés correspondants (voir ci-dessous).

ifld1, ifld2, ... -- angles d'azimut ou vélocités angulaires et durées correspondantes des phases du mouvement (voir ci-dessous).

Exécution

vbapgmove permet l'utilisation de sources virtuelles en mouvement. Si ifldnum est positif, les champs représentent les directions de la source virtuelle durant des intervalles de temps égaux, iazi1, [iele1,] iazi2, [iele2,], etc. La position de la source virtuelle est interpolée entre ces directions en partant de la première direction et en terminant à la dernière. Chaque intervalle est interpolé durant une fraction de la durée de l'évènement sonore égale à durée_totale / nombre_intervalles.

Si ifldnum est négatif, les champs représentent les vitesses angulaires à intervalles réguliers. Le premier champ est cependant la direction de départ, iazi1, [iele1,] iazi_vel1, [iele_vel1,] iazi_vel2, [iele_vel2,] ... Chaque vitesse est appliquée à la note qui occupe la fraction durée_totale / nombre_de_vitesses de la durée de l'évènement sonore. Si l'élévation de la source virtuelle dépasse 90 degrés ou devient inférieure à 0 degré, la polarité de la vitesse angulaire change. Ainsi l'élévation angulaire produit une source virtuelle qui monte et descend entre 0 et 90 degrés.

[Avertissement] Avertissement

Prière de noter que tous les opcodes de panoramique vbap nécessitent une initialisation du système vbap avec vbaplsinit.

Exemples

Voici un exemple de l'opcoce vbapgmove. Il utilise le fichier vbapgmove.csd.

Exemple 1007. Exemple de l'opcoce vbapgmove.

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

sr = 44100
ksmps = 32
nchnls = 4	;quad
0dbfs  = 1

vbaplsinit 2, 4, 0, 90, 180, 270

instr 1

asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav

k0,k1,k2,k3 vbapgmove  p3, 1, 2, 310, 180	;change movement of soundsource in
     outq k0*asig,k1*asig,k2*asig,k3*asig	;the rear speakers

endin 
</CsInstruments>
<CsScore>

i 1 0 5

e
</CsScore>
</CsoundSynthesizer>


Référence

Ville Pulkki: « Virtual Sound Source Positioning Using Vector Base Amplitude Panning » Journal of the Audio Engineering Society, juin 1997, Vol. 45/6, p. 456.

Voir aussi

vbap, vbap16, vbap16move, vbap4, vbap4move, vbap8, vbap8move, vbaplsinit, vbapz, vbapzmove

Crédits

Auteur : Ville Pulkki
Sibelius Academy Computer Music Studio
Laboratoire d'Acoustique et de Traitement du Signal Audio
Helsinki, Université de Technologie
Helsinki, Finlande
Mai 2000
Auteur : John ffitch
Juillet 2012, septembre 2013

Nouveau dans la version 5.17.13 de Csound.

Sortie sur tableau ajoutée dans la version 6.01