vbapgmove — Calcule les gains pour positionner un son entre plusieurs canaux avec des sources virtuelles en mouvement.
Calcule les gains pour positionner un son entre plusieurs canaux avec des sources virtuelles en mouvement.
kr1[, kr2...] vbapgmove idur, ispread, ifldnum, ifld1 \
[, ifld2] [...]
karray[] vbapgmove idur, ispread, ifldnum, ifld1 \
[, ifld2] [...]
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).
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 | |
---|---|
Prière de noter que tous les opcodes de panoramique vbap nécessitent une initialisation du système vbap avec vbaplsinit. |
Voici un exemple de l'opcoce vbapgmove. Il utilise le fichier vbapgmove.csd.
Exemple 1152. 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>
Ville Pulkki: « Virtual Sound Source Positioning Using Vector Base Amplitude Panning » Journal of the Audio Engineering Society, juin 1997, Vol. 45/6, p. 456.
vbap, vbap16, vbap16move, vbap4, vbap4move, vbap8, vbap8move, vbaplsinit, vbapz, vbapzmove
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