vbapmove

vbapmove — Distribue un signal audio sur plusieurs canaux avec des sources virtuelles en mouvement.

Description

Distribue un signal audio sur un maximum de 64 canaux avec des sources virtuelles en mouvement.

Syntaxe

ar1[, ar2...] vbapmove asig, idur, ispread, ifldnum, ifld1 \
      [, ifld2] [...]
aarray[] vbapmove asig, 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

asig -- signal audio à traiter.

vbapmove 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

Voir l'entrée sur vbap8move pour un exemple d'utilisation des opcodes vbapXmove.

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.

Exemples

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

Exemple 1150. Exemple de l'opcode vbapmove.

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 vbapmove.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
a1,a2,a3,a4 vbapmove  asig, p3, 1, 2, 310, 180	;change movement of soundsource in
     outq a1,a2,a3,a4				;the rear speakers

endin 
</CsInstruments>
<CsScore>

i 1 0 5

e
</CsScore>
</CsoundSynthesizer>


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