Better references for compiling FAUST to SHARC are

https://wiki.analog.com/resources/tools-software/sharc-audio-module/faust
    https://youtu.be/iUB8ru-76qw

It might be easier for you to experiment with the decoders running on a
regular computer, then commit to the DSP board when you have configurations
you like.  For reference, the FAUST 6th-order AllRAD decoder for the
56-speaker array at CCRMA uses about 35% of the CPU on my MacBook Pro (four
core, 3.1 GHz i7), as a VST plugin hosted in Plogue Bidule. That's
two-band, with distance, level, and near-field compensation -- there are 49
band-splitting filters and 336 NFC filters in the decoder. The design and
implementation of the filters is discussed in our IFC18 conference paper
http://www.ifc18.uni-mainz.de/papers/heller.pdf

Aaron


On Sun, Jun 2, 2019 at 1:22 PM Aaron Heller <ajhel...@gmail.com> wrote:
>
> Hi Sean,
> Are all the speakers at the same distance?  If not, the sound will be
drawn to the closest one due to the precedence effect. So you need to
insert delays and adjust the level. For small arrays, near field
compensation is also important.
>
> My MATLAB/Octave toolbox implements AllRAD (in fact, for a long time it
was the only publicly available implementation). My implementation of
AllRAD is described in our LAC2014 paper [1]. The toolbox generates
decoders in the Faust DSP specification language which can then be compiled
to SHARC code (and VST, jack, ...). The decoders have level, delay, and
near field compensation. You could also use the toolbox to check the
coefficients you're generating. If you prefer, send me the exact speaker
layouts and I'll run them through my code and send you the results.
>
> Find it at:
>      https://bitbucket.org/ambidecodertoolbox/adt/src/master/
>
> Details on FAUST here:
>    https://faust.grame.fr
>    http://www.moforte.com/faust_on_sharc/
>
> Best practice is to do the delay and level compensation from in-situ
measurements, as described in Fernando Lopez-Lezcano's paper [2]. He also
uses DRC to correct the frequency response, which improves the sound
considerably.
>
> And sorry to be pedantic, but Zotter uses the term "imaginary" to
describe the speakers that are added to the array to make the VBAP gains
reasonable.  He uses "virtual" to describe the large regular array that is
mapped to the real array via VBAP.  Also, note that Zotter and Frank have
proposed AllRAD2 [3] to correct some problems with AllRAD, specifically
that while Ambisonic decoding to a uniform array and VBAP are both energy
preserving, their superposition is not (!!), which can lead to gain errors
as large as 3 dB on smaller arrays.  I started to implement AllRAD2, but
got distracted making decoder performance plots with Plotly
>    http://ambisonics.dreamhosters.com/plotly/
>
> [1] A. J. Heller and E. M. Benjamin, “The Ambisonic Decoder Toolbox:
Extensions for Partial-Coverage Loudspeaker Arrays,” presented at the Linux
Audio Conference 2014, Karlsruhe, 2014.
http://lac.linuxaudio.org/2014/papers/17.pdf
> [2] F. Lopez-Lezcano, “Searching for the GRAIL,” Computer Music Journal,
vol. 40, no. 4, pp. 91–103, Winter 2016.
https://doi.org/10.1162/COMJ_a_00393
> [3] F. Zotter and M. Frank, “Ambisonic Decoding with Panning-Invariant
Loudness on Small Layouts (AllRAD2),” May 2018.
http://www.aes.org/e-lib/browse.cfm?elib=19460
>
>
> Aaron Heller (hel...@ai.sri.com)
> Menlo Park, CA  US
>
>
> On Sun, Jun 2, 2019 at 12:26 AM Sean Devonport <rsdevonport1...@gmail.com>
wrote:
> >
> > Thanks for the reply Florian.
> >
> > Yes, was aware of the imaginary loudspeakers. The algorithm I've
> > implemented does take this into account. Although maybe some further
> > tweaking is necessary. Currently it adds these imaginary loudspeakers
into
> > the convex hull algorithm if there are top and bottom loudspeakers
missing.
> >
> > I may need to extend their distance a bit. Will play around with this.
> >
> > --
> > Sean Devonport
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
https://mail.music.vt.edu/mailman/private/sursound/attachments/20190602/43319b62/attachment.html
>
> > _______________________________________________
> > Sursound mailing list
> > Sursound@music.vt.edu
> > https://mail.music.vt.edu/mailman/listinfo/sursound - unsubscribe here,
edit account or options, view archives and so on.

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://mail.music.vt.edu/mailman/private/sursound/attachments/20190602/2bcb6c0f/attachment.html>
_______________________________________________
Sursound mailing list
Sursound@music.vt.edu
https://mail.music.vt.edu/mailman/listinfo/sursound - unsubscribe here, edit 
account or options, view archives and so on.

Reply via email to