bformdec1

bformdec1 — Décode un signal au format ambisonic B.

Description

Décode un signal au format ambisonic B en signaux de haut-parleur spécifiques.

Syntaxe

ao1, ao2 bformdec1 isetup, aw, ax, ay, az [, ar, as, at, au, av \
      [, abk, al, am, an, ao, ap, aq]]
ao1, ao2, ao3, ao4 bformdec1 isetup, aw, ax, ay, az [, ar, as, at, \
      au, av [, abk, al, am, an, ao, ap, aq]]
ao1, ao2, ao3, ao4, ao5 bformdec1 isetup, aw, ax, ay, az [, ar, as, \
      at, au, av [, abk, al, am, an, ao, ap, aq]]
ao1, ao2, ao3, ao4, ao5, ao6, ao7, ao8 bformdec1 isetup, aw, ax, ay, az \
      [, ar, as, at, au, av [, abk, al, am, an, ao, ap,
      aq]]]
aout[] bformdec1 isetup, abform[]

Initialisation

Noter que les angles horizontaux sont mesurés dans le sens contraire des aiguilles d'une montre dans cette description.

isetup –- réglage de haut-parleur. Cinq réglages sont supportés :

  • 1. Stéréo - L(90), R(-90) ; c'est un décodage stéréo dans le style M+S.
  • 2. Quadraphonique - FL(45), BL(135), BR(-135), FR(-45). C'est un décodage "en phase" du premier ordre.
  • 3. 5.0 - L(30), R(-30), C(0), BL(110), BR(-110). Noter que beaucoup de gens n'utilisent pas les angles ci-dessus pour leur grille de haut-parleurs et on peut réaliser un bon décodage pour DVD, etc en utilisant la configuration quadraphonique pour alimenter L, R, BL et BR (laissant C silencieux).
  • 4. Octogone - FFL(22.5), FLL(67.5), BLL(112.5), BBL(157.5), BBR(-157.5), BRR(-112.5), FRR(-67.5), FFR(-22.5). C'est un décodage "en phase" de premier, deuxième ou troisième ordre en fonction du nombre de canaux en entrée.
  • 5. Cube - FLD(45, -35.26), FLU(45, 35.26), BLD(135, -35.26), BLU(135, 35.26), BRD(-135, -35.26), BRU(-135, 35.26), FRD(-45, -35.26), FRU(-45, 35.26). C'est un décodage "en phase" du premier ordre.

Exécution

aw, ax, ay, ... -- signal d'entrée au format B.

ao1 .. ao8 -– signaux de haut-parleur spécifiques en sortie.

Exemples

Voici un exemple de l'opcode bformdec1. Il utilise le fichier bformenc1.csd.

Exemple 100. Exemple de l'opcode bformdec1.

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    No messages
;-odac           -iadc     -d     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
 -o bformenc.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 8
0dbfs = 1

instr 1 ;without arrays
; generate pink noise
anoise pinkish 1
        
; two full turns
kalpha line 0, p3, 720
kbeta = 0
        
; generate B format
aw, ax, ay, az, ar, as, at, au, av bformenc1 anoise, kalpha, kbeta
        
; decode B format for 8 channel circle loudspeaker setup
a1, a2, a3, a4, a5, a6, a7, a8 bformdec1 4, aw, ax, ay, az, ar, as, at, au, av        

; write audio out
outo a1, a2, a3, a4, a5, a6, a7, a8
endin

instr 2 ;with arrays (csound6)
;set file names for:
S_bform = "bform_out.wav" ;b-format (2nd order) output
S_sound = "sound_out.wav" ;sound output

; generate pink noise
anoise pinkish 1
        
; two full turns
kalpha line 0, p3, 720
kbeta = 0
        
;create array for B-format 2nd order (9 chnls)
aBform[] init 9

; generate B-format
aBform bformenc1 anoise, kalpha, kbeta

;write out b-format
fout "fout.wav", 18, aBform

;create array for audio output (8 channels)
aAudio[] init 8
        
;decode B format for 8 channel circle loudspeaker setup
aAudio bformdec1 4, aBform

; write audio out
fout S_sound, 18, aAudio
endin


</CsInstruments>
<CsScore>
i 1 0 8
i 2 8 8
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

bformenc1

Crédits

Auteurs : Richard Furse, Bruce Wiggins et Fons Adriaensen, d'après le code de Samuel Groner
2008

Nouveau dans la version 5.09