vbapg — Calcule les gains pour un positionnement du son entre des canaux multiples.
k1[, k2...] vbapg kazim [,kelev] [, kspread] [, ilayout]
karray[] vbapg kazim [,kelev] [, kspread] [, ilayout]
ilayout -- indice de la disposition des haut-parleurs dans l'intervalle 0-99, correspondant à un appel à vbaplsinit. Vaut 0 par défaut.
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 | |
---|---|
Prière de noter que tous les opcodes de panoramique vbap nécessitent une initialisation du système vbap avec vbaplsinit. |
Ville Pulkki : « Virtual Sound Source Positioning Using Vector Base Amplitude Panning » Journal of the Audio Engineering Society, juin 1997, Vol. 45/6, p. 456.
Voici un exemple de l'opcode vbapg. Il utilise le fichier vbapg.csd.
Exemple 1151. 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
vbap, vbapmove, vbap4, vbap4move, vbap8, vbap8move, vbap16, vbap16move, 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.
Variante pour tableau ajoutée dans la version 6.01