vbapg

vbapg — Calcule les gains pour un positionnement du son entre des canaux multiples.

Description

Calcule les gains pour un positionnement du son entre plusieurs canaux, jusqu'à 64.

Syntaxe

k1[, k2...] vbapg kazim [,kelev] [, kspread] [, ilayout]
karray[] vbapg kazim [,kelev] [, kspread] [, ilayout]

Initialisation

ilayout -- indice de la disposition des haut-parleurs dans l'intervalle 0-99, correspondant à un appel à vbaplsinit. Vaut 0 par défaut.

Exécution

kazim -- angle d'azimut de la source virtuelle.

kelev (facultatif) -- angle d'élévation de la source virtuelle.

kspread (facultatif) -- diffusion de la source virtuelle (de 0 à 100). S'il vaut 0, on a un panoramique d'amplitude conventionnel. Plus kspread 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.

vbapg calcule les gains qu'un signal d'entrée aurait entre plusieurs haut-parleurs en fonction des contrôles kazim et kelev, et de la disposition des haut-parleurs ilayout. Si idim = 2, kelev est mis à zéro. La distribution est réalisée par Panoramique d'Amplitude sur une Base de Vecteurs (VBAP - voir référence). VBAP distribue le signal en tenant compte des données de haut-parleurs configurées avec vbaplsinit. Le signal est appliqué au plus à deux haut-parleurs dans les configurations 2D et à trois haut-parleurs dans les configurations 3D. Si la source virtuelle est distribuée en dehors de la région couverte par les haut-parleurs, les haut-parleurs les plus proches sont utilisés dans le panoramique.

[Avertissement] Avertissement

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

Exemples

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 vbapg. Il utilise le fichier vbapg.csd.

Exemple 1050. Exemple de l'opcode vbapg.

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

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

vbaplsinit 2.01, 4, 0, 90, 180, 270

instr 1

asig diskin2 "beats.wav", 1, 0, 1		;loop beats.wav
kaz  line 0, p3, p4				;come from right rear speaker &	
k1,k2,k3,k4 vbapg  180, 100, kaz, 1             ;change spread of soundsource
     printks "spread of source = %d\n", 1, kaz	;print spread value
     outq asig*k1,asig*k2,asig*k3,asig*k4

endin 
</CsInstruments>
<CsScore>

i 1 0 12 100

e
</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

spread of source = 0
spread of source = 8
spread of source = 17
spread of source = 25
spread of source = 33
spread of source = 42
spread of source = 50
spread of source = 58
spread of source = 67
spread of source = 75
spread of source = 83
spread of source = 92
spread of source = 100

Voir aussi

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

Credits

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.

Variante pour tableau ajoutée dans la version 6.01