Hello all,
I'm playing around with the encoder3D and have discovered that I cant
push it to higher than 7th order in my code example. Faust gives me a
cryptic-looking error:
/usr/bin/faust2jaqt: line 166: 136829 Alarm clock faust
-i -json -a $ARCHFILE $OPTIONS "$SRCDIR/$f" -o "$TMP/${f%.dsp}_tmp.cpp"
Here is the code below. My goal was converting a 9.1.6 surround/atmos
setup to Ambisonics:
import("stdfaust.lib");
import("hoa.lib");
// minput = _;
// w = minput*1/sqrt(2);
// x = minput*cos
// Converts angle to radians, which the encoder needs
// Also flips it in the orientation that makes the most sense
order = 7;
chans = (order+1)^2;
angletoradian = (ma.PI / 180);
// amp = hslider("Amplitude", 0, 0, 1, 1);
// gen = no.noise*amp;
// angle = hslider("Angle", 0, 0, 360, 1)*angletoradian;
// elevation = hslider("Elevation", 0, 0, 360, 1)*angletoradian;
// The encoder is here, outputs four channels
// azimuth = hslider("Azimuth[style:knob]",0,-180,180,1);
// elevation = vslider("Elevation",0,0,90,1);
// amp = hslider("Amplitude",0,0,1,0.01);
amp = 1/16;
azimuth = hslider("Azimuth[style:knob]",0,-180,180,1);
elevation = vslider("Elevation",0,0,90,1);
// Math using gui
// 0 is front, 180, is back, goes clockwise
azimuthmath(azimuth) = (azimuth+180)*-1;
elevationmath(elevation) = elevation*-1*angletoradian;
// The actual encoder
panme(in,angle,elevation) = encoder3D(order, in,
azimuthmath(angle)*angletoradian, elevationmath(elevation));
// n meaning input, feed that from process
// Check this:
https://knowledge.apogeedigital.com/immersive-/atmos-speaker-naming-conventions
for channel numbers
// and this for more details:
https://www.dolby.com/siteassets/about/support/guide/setup-guides/9.1.6-overhead-speaker-placement/9_1_6_overhead_speaker_setup.pdf
L(n) = panme(n,-25,0);
R(n) = panme(n,25,0);
C(n) = panme(n,0,0);
LFE(n) = panme(n,0,0);
Ls(n) = panme(n,-90,0);
Rs(n) = panme(n,90,0);
Lsr(n) = panme(n,-140,0);
Rsr(n) = panme(n,140,0);
Lw(n) = panme(n,-60,0);
Rw(n) = panme(n,60,0);
Ltf(n) = panme(n,-42,50);
Rtf(n) = panme(n,42,50);
Ltm(n) = panme(n,-90,35);
Rtm(n) = panme(n,90,35);
Ltr(n) = panme(n,-140,45);
Rtr(n) = panme(n,140,45);
ampslider = hslider("Amplitude",0,0,1,0.01);
testtone = panme(no.pink_noise*ampslider,azimuth,elevation);
process(in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16)
=
L(in1),R(in2),C(in3),LFE(in4),Ls(in5),Rs(in6),Lsr(in7),Rsr(in8),Lw(in9),Rw(in10),Ltf(in11),Rtf(in12),Ltm(in13),Rtm(in14),Ltr(in15),Rtr(in16),testtone
:> si.bus(chans);
If I just isolate the encoder3D and compile, everything is fine and I
can successfully compile 11th order.
Does anyone know what might be the cause of this?
Thank you very much for your time,
Brandon Hale
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users