vbap — Distribue un signal audio sur plusieurs canaux.
Distribue un signal audio sur plusieurs canaux, jusqu'à 64 dans la première forme, en nombre arbitraire dans la seconde.
ar1[, ar2...] vbap asig, kazim \
kelev] [, kspread] [, ilayout]
array[] vbap asig, kazim [,
kelev] [, kspread] [, ilayout]
ilayout -- indice de la disposition des haut-parleurs dans l'intervalle 0-99, correspondant à un appel à vbaplsinit.
asig -- signal audio à traiter.
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.
vbap prend un signal en entrée, asig, et le distribue sur les sorties en fonction des contrôles kazim et kelev, et de la disposition des haut-parleurs. 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 vbap. Il utilise le fichier vbap.csd.
Exemple 1149. Exemple de l'opcode vbap.
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 vbap.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 kaz line 0, p3, p4 ;come from right rear speaker & a1,a2,a3,a4 vbap asig, 180, 100, kaz ;change spread of soundsource printks "spread of source = %d\n", 1, kaz ;print spread value outq a1,a2,a3,a4 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
vbapmove, 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.
Variante pour tableau ajoutée dans la version 6.01