vbap8 — Distribue un signal audio sur 8 canaux.
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.
vbap8 prend un signal en entrée, asig, et le distribue sur 8 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 sonore 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. |
Voici un exemple simple de l'opcode vbap8. Il utilise le fichier vbap8.csd.
Exemple 1155. Exemple de l'opcode vbap8.
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 ; Audio out Audio in ;-odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: -o vbap8.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 kr = 441 ksmps = 100 nchnls = 4 vbaplsinit 2, 8, 0, 45, 90, 135, 200, 245, 290, 315 instr 1 asig oscil 20000, 440, 1 a1,a2,a3,a4,a5,a6,a7,a8 vbap8 asig, p4, 0, 20 ;p4 = azimuth ;render twice with alternate outq statements ; to obtain two 4 channel .wav files: outq a1,a2,a3,a4 ; outq a5,a6,a7,a8 ; or use an 8-channel output for realtime output (set nchnls to 8): ; outo a1,a2,a3,a4,a5,a6,a7,a8 endin </CsInstruments> <CsScore> f 1 0 8192 10 1 ; Play Instrument #1 for one second. ; azimuth i 1 0 1 20 i 1 + . 40 i 1 + . 60 i 1 + . 80 i 1 + . 100 i 1 + . 120 i 1 + . 140 i 1 + . 160 e </CsScore> </CsoundSynthesizer>