General questions about Ambisonics & Theory.
Try ATK-Glossary.
In addition to the Ambisonic Decoder Toolbox, try:
Specific questions about the ATK.
Try ABCs-of-the-ATK, followed by ATK-Enlightenment.
Try ABCs-of-the-ATK: Library architecture.
Try ABCs-Guides-Toots.
Think of designing the spatial spectrum of the sound (or sound scene).
Though we talk a lot about Ambisonic panning laws, forget about panning sounds. Doing so restricts us to considering a soundworld primarily in terms of travelling waves.
Think instead about shaping the space of sounds. The ATK's tools are spatial domain filters; think in these terms.
Try this first, ABCs-of-the-ATK: Two toolsets in one. We also suggest browsing the ATK's UGens and Matrix & Kernel links.
The two toolsets are intended to be used together. See Format-Exchange for examples.
Try ABCs-of-the-ATK: Matrix & Kernel operations.
As the HOA toolset includes low level Ambisonic coefficient return, the long term plan is to implement the kernel functionality found on the FOA side with a design on demand pattern.
For the short term, try the solutions suggested in HOA-Binaural-Decoding.
For the long term, see Where are the HOA kernels?
Yes!
Review HOA-2D-Decoding: Analysis for examples.
Yes!
Try FoaAnalyze.
Some possible answers:
1. Chapman an Cotterell note, "a second-order dominance operation corresponding to Gerzon and Barton’s Lorentz transformation is impossible."1 In response, Kronlachner and Zotter instead propose numeric solutions for HOA.2
The dominance family FOA transforms, like FoaFocus, are based on the Lorentz transformation. At some point we may provide a numerical HOA solution. However, the NFE beamforming solutions available in the HOA toolset can conveniently address many of the dominance operation use cases.
2. Yes, we gave it a different name. Maybe we did so because we think about the problem slightly differently now. Maybe we needed to be very clear given the different context of HOA. Maybe we just found we prefered to change the name to make SC's autocompletion more convenient.
Anyway, the ATK is our thing... so we get to do what we like! ;-)
3. If you haven't noticed, the ATK is a very big project! Our intention is to conveniently provide the tools and platform necessary to solve most imaginable Ambisonic problems. Sometimes these problems require resources that aren't currently available within the SuperCollider ecosystem, e.g. numerical resources found in scientific computing libraries. Sometimes we just haven't gotten around to it, or decided the best way to provide a convenient interface within the ATK.
You might like to jump down to Development & maintenance.
Try NFE beamforming solutions.
I.e., where is FoaPsychoShelf?
As FoaDecode handles its use behind the scenes, most FOA toolset users never notice the use of FoaPsychoShelf.
Our intention with the HOA framework it to be much more open. If you'd like to do multiband decoding (multiple panning laws!), psychoacoustic optimization is explicit. At the moment multi-band beam forming is provided by Signal: *hoaMultiBandFocl.
We're also considering adding an IIR option, too.
Yes!
Try Signal: *hoaFocl and Signal: *hoaMultiBandFocl.
Didn't we suggest trying AmbiVerbSC? BFFreeVerb and BFGVerb are also automagically installed as part of JoshUGens.
But wait, you say! These are FOA reverbs, so I can't do HOA reverb?
Well, these can be adapted for HOA given understanding a few principals. We plan to add a tutorial on HOA reverb at some point.
The slightly longer answer: you'll need to go back and forth between the spherical and angular domains. See HOA-Spherical.
An easy way would be to use a 3rd party plugin that does everything for us. (See Can I use 3rd party Ambisonic VST plugins with the ATK?)
Depending on the effect, we'll either apply it directly in the sphercial domain (B-format), or do so in the angular domain (A-format).
The way we decide:
With Ambisonic encoding, the space of a sound is encoded as amplitude (angular & radial) and phase (radial) differences between channels. If our effect will change the relationships between channels, process in the angular domain (A-format).3 If the relations will stay the same, it is fine to do the processing in the spherical domain (B-format).
If you have no idea, you can stay safe by processing in A-format.4
See HOA-Spherical.
Short answer: no.
Longer answer: For an HOA signal of a given order, all components are required. If you have a signal from mixed order microphone, you'll need to supply zeros in place of the missing channel. Silent will do the job.
Even longer answer: We think the best solution is to use an upsampling technique to fill in the missing component. Doing so means the various spatial filters and transforms act as expected.
Given the manufacturer's own HOA encoding software, requirements are:
The SpHEAR Project is an interesting candidate.
This is both a technical and aesthetic question!
Technical answers:
If we wish to use the HOA toolset tools with FOA recordings, the FOA signal should be exchanged to HOA1. Obviously, we can go the other way too. Review this & this.
If we wish to mix FOA recordings into an HOA bus, we need to first match the FOA signal to the target HOA signal set. This means matching:
Matching the last three is Format-Exchange. To match Ambisonic order, we'll need to spatially upsample the FOA signal to meet the HOA target.
Aesthetic answer:
Composers working in the acousmatic tradition have long composed works using mixed spatial stems. That is, one layer of the piece may have been composed in two channel stereo, while another layer is in six or eight channels positioned around an audience.
We can take the exact same approach with Ambisonics. A mix of several layers of different orders can offer a very interesting and convincing result.
At the time of this writing, tenth order is the maximum order supported for inbuilt spherical decomposition using the SphericalDesign class. This is due to the size of the largest included spherical design.
We think tenth order is, well, fairly high. Especially given:
Conveniently, we can directly ask this question in code:
Rendering higher orders is possible via the inclusion of larger designs and/or custom matrices.
If you've installed the ADT quark, larger designs are available in the Ambisonic Decoder Toolbox.
We know of:
If you're aware of any others, do let us know.
Yes!
See the VSTPlugin project.7 If you've installed VSTPlugin, the documentation can be found here. You'll note there's a discussion on using HOA VST plugins!
As you'd expect, you'll need to correctly Format-Exchange.
Questions on the ATK as a project.
At this time there are two public distributions of the ATK:
Both may be accessed via the Ambisonic Toolkit web page.
Since 1997, the ATK has existed in various incarnations; first as library of Csound orcs:
And when?
Vague timeline:
Hurrah! Thanks for finding a bug!
As you might imagine, with a large, complex, multifacitated codebase, bugs do creep in from time to time. We're happy to report that a fair amount of community contribution to the ATK has come from fixing issues that turn up.
Visit Feedback and Bug Reports as your starting point, and follow additional links to the issue tracker to make a formal report.
SuperCollider offers specific guidance on reporting bugs. Observing this advice will make the issue easier to resolve. In particular, following the steps outlined in Submitting a bug give the dev team the information necessary to begin understanding exactly what the bug is, and open the door to understanding how to go about squashing it.
Follow the advice immediately above, and label the issue as documentation.
Great idea! First submit an issue as described above so we know what you're thinking about. It is also possible to begin with an informal conversation with us by contacting us through the channels listed at Feedback and Bug Reports.