vbap

vbap — Distribue un signal audio sur plusieurs canaux.

Description

Distribue un signal audio sur plusieurs canaux, jusqu'à 64 dans la première forme, en nombre arbitraire dans la seconde.

Syntaxe

ar1[, ar2...] vbap asig, kazim \
        kelev] [, kspread] [, ilayout]
array[] vbap asig, kazim [,
        kelev] [, kspread] [, ilayout]

Initialisation

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

Exécution

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] 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 vbap8 pour un exemple d'utilisation des opcodes vbap.

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

Exemple 1048. 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

Voir aussi

vbapmove, 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.

Variante pour tableau ajoutée dans la version 6.01