News Archive
SuperCollider Tutorial: 31. Ambisonics
Posted
by Joseph Anderson
Eli Fieldsteel explores the Ambisonic Toolkit for SuperCollider in episode #31 of his popular SuperCollider Tutorials video series.
ATK for SuperCollider tutorials are found on this page.
ATK for Reaper v.1.0.0 beta 11
Posted
by Trond Lossius
ATK for Reaper v.1.0.0 beta 11 is now available for download. This is a maintenance release fixing some issues in order to ensure compatibility with Reaper v. 6.38.
Here is the list of changes:
- Pantophonic2D and Periphonic3D decoders now work with Reaper v.6.38 - #75
- Fixed typo in PsychoShelf filter, but the filter remains unstable - #78
- Speed of sound corrected from 333 to 343 m/s in Proximity and Near Field transforms - #76
Under the hood updates:
- macOS installer disk image built using more recent version of create-dmg (1.0.9)
- Updated atk-matrices to v. 1.0.0
- Updated cookdsp library to v. 0.5 - #74
Thanks to Justin Frankel for notifying us that some tweeks were required in preparation for Reaper v.6.38.
ATK-SC3 goes NFC-HOA — Hurray!
Posted
by Joseph Anderson
Out Now!!!
- ATK for SuperCollider v.5.0.2
ATK Central is pleased to announce the long anticipated arrival of the v.5.0.2 release of the Ambisonic Toolkit for SuperCollider.
Some notable features of the this release include:
- Integrated support for classic First Order Ambisonics (FOA) and modern Higher Order Ambisonics (HOA).
- Implements the Near-Field Controlled, aka Near-Field Compensated, form of higher order Ambisonics (NFC-HOA).
- Ambisonic order is merely limited by system speed, channel capacity and numerical precision rather than by design.
- Control and synthesis of the Near-Field Effect (NFE) of finite distance sources in both FOA and HOA, including radial beamforming.
- Soundfield feature sensing & analysis in instantaneous and time averaged forms.
- Ambisonic coefficients and matrices are available for inspection and manipulation in the interperter.
- Angular domain soundfield decomposition and recomposition.
- Analysis of transformer and decoder matrices.
As always, A Very Big Thanks to the SuperCollider Development Team for all the dedication and hard work!
In particular, the inclusion of access to the Boost library as part of SuperCollider 3.10.0 has meant we’re able to make the underlying numerics of NFC-HOA available in sclang.
A Game Changer?
Yeah!
NFC-HOA Numerics
Given access to NFC-HOA numerics, ATK-SC3 is now a research grade library. For instance, the behind the scenes design tasks we do here at ATK Central in other scientific computing frameworks (we use SciPy), can now be done in sclang.
Wow!
We’ve grouped these numerics, into several categories:
- Component indexing, coefficients, &c
- Radial filtering spectra & coefficients
- Radial utilities
- Matrix utilities
- Spherical design
Huh?
Ok, we see we’ve lost you here…. as a research grade library we’re now able to address tasks like:
- Designing personal binaural decoders within sclang
- Designing microphone correction filters within sclang
- Upsampling & correcting FOA RIRs to HOA within sclang
So, yeah, we think this is way cool!
(Future releases will include tutorials on these topics.)
Soundfield decomposition and recomposition
With v.5.0.2 the ATK for SuperCollider offers radial soundfield decomposition and recomposition for NFC-HOA. Know any other toolkit for artists offering this? (We don’t either.)
Here are some things we can do with this feature:
- Specify the radius at which a DAFX operates
- Synthesize a complex HOA soundfield from an FOA soundfield
- Extract, process and re-inject sources found at a given radius
Combine all this with soundfield feature sensing & analysis, the fun never ends!
How to upgrade?
Follow the installation instructions for ATK for SuperCollider.
Notam workshop
Posted
by Joseph Anderson
ATK@Notam
Workshops for advanced users part 5: Ambisonics & the Ambisonic Toolkit, theory and artistic practice
Date: 1 - 5 October 2018
Location: Notam studios, Oslo, Norway
Five days of Ambisonics
At the invitation of Notam, Trond Lossius and Joseph Anderson (det er meg) will be leading five days of advanced exploration into the world of Ambisonics and the Ambisonic Toolkit. Day by day, we’ll review the following topic areas:
- Monday: Introduction
- Soundfield kernel composition: an idiomatic musical composition strategy
- Ambisonics Theory & Background
- Tuesday: Getting started
- Heyser’s Analysis
- Acquisition Techniques
- Wednesday: Imaging and Processing I
- Single Beams & Nulls
- Thursday: Imaging and Processing II
- Soundfield decomposition & re-composition
- Friday: In practice
- Review: Soundfield kernel composition strategy
- Soundfield decoding, ‘in practice’
Further details and information regarding registration can be found on the Notam workshop page.
Composing with Soundfields, ‘think Ambisonic’
Soundfield kernel composition: An idiomatic composition strategy addressing the holistic problem of creatively controlling a complete soundfield for aesthetic purposes.
Over the workshop we’ll explore these topics from the perspective of the soundfield-kernel paradigm. Spatial sound composition becomes of task of soundfield authoring and imaging, rather than one of ‘placing’ a sound in a sound-scene. Attendees will gain insights into soundfield construction, deconstruction and reconstruction, seeing (and hearing) how soundfields can be assembled and disassembled.
Richard Heyser’s soundfield analysis will be reviewed in the context of Ambisonics, offering deeper views into what makes up a soundfield. Imaging and processing will be examined in relation to the nearfield effect (NFE), allowing imaging ‘within’ the soundfield. And… combining analysis with imaging and processing will allow us to design parametric soundfield processing.
Now that’s spatial composition!
About Notam?
Notam is a center for the development and innovative use of technology in music and the arts. The center is a resource for anyone who works with technology as an artistic tool, and is focused on sharing of knowledge and expertise.
Notam is mainly operated with public funds, primarily through operating grants from Arts Council Norway. In addition, The Norwegian composer’s fund gives an annual organizational support.
ATK for SuperCollider3.9 - Quark-tastic!
Posted
by Joseph Anderson
Out Now!!!
The big news here at ATK Central is the latest release SuperCollider 3.9. A Very Big Thanks to the SuperCollider Development Team for all the dedication and hard work!
Coinciding, is the v.4.0.1 release of the Ambisonic Toolkit for SuperCollider3, bringing a change in the distribution model. The ATK’s distribution is now refactored to:
This Quark-ification of the ATK offers a robust handling of dependencies and a more responsive development cycle. The README’s List of Changes summarizes the main new Features, Refactoring, Updates and Fixes. You’ll see refactoring includes moving fixed matrices to atk-matrices, bringing these inline with the matrix reading & writing feature added in Version 3.8.0. It also adds the opportunity to more easily expand the ATK’s inbuilt encoding and decoding options.
Any other Cool Stuff?
Yeah!
Soundfield Analysis
I’m very excited about the addition of Soundfield Analysis, offering a verbose set of features, including:
- High-level Soundfield Indicators
- Soundfield Levels
- Soundfield Energies
- Soundfield Incidences as vectors
- Soundfield Intensities as magnitudes & vectors
What does this mean? The short answer: unprecedented insight into your soundfield! The High-level Indicators offer details on what kind of soundfield you’ve got. Soundfield Incidences let you know where your sound is “coming from”. (If from anywhere?) Given these details, transforms can be applied to the source soundfield, or spatial cross-synthesis can be applied to another soundfield. Yeah! We’re excited here. Maybe a bit over excited!
Soundfield transform display
We’ve added the ability to visualize, audition and customize FOA soundfield transforms. This brings ATK for SuperCollider into alignment with the visualization found in ATK for Reaper. Additionally, custom chains of matrices can now be generated and visualized. This means it is now easy to design your own spatial filters, and review a visualization of the spatial result.
Yeah, that’s cool!
B-format Audition / Player
A nice little utility offering audition of FOA recordings, panning planewaves, diffuse soundfields, and transforms.
A picture is worth a thousand words:
How to upgrade?
Follow the installation instructions for ATK for SuperCollider.
And don’t forget the latest Kernels, Matrices, & Recordings.
ATK for SuperCollider3 v.3.8.0 released - Woo, hoo!
Posted
by Joseph Anderson
Hot off the presses!
- SuperCollider 3.8.0 - Woo, hoo!
Even hotter off the presses!!
- sc3-plugins Version 3.8.0 - Woo, double hoo!!
Careful, don’t burn yourself!!!
- ATK for SuperCollider3 v.3.8.0 is now publicly available - Woo, triple hoo!!!
As you might be suspecting by now, we’re very excited about this latest release of the Ambisonic Toolkit for SuperCollider3 here at ATK Central. We’d really like to thank the SuperCollider Development Team for all the hard work getting this latest release out. Thanks everyone!
As you know, the README’s List of Changes summarizes the main new Features, Updates and Fixes. You’ll see we’ve made quite a few additions and clarifications to the Documentation. The SynthDef and NRT examples for ATK page is much more verbose—which we expect will be much more helpful. We’ve made a very useful improvement for working with kernel encoders and decoders in Non-Realtime. This was kinda tricky before, as OSC message bundles had to be explicitly managed by the user… which wasn’t so fun. That’s now handled behind the scenes, all to make NRT Ambisonics fun again!
Other Cool Stuff? We’ve added support for reading and writing Matrix Files. What does that mean? Well… in the longer term, it’ll lead to closer integration with ATK Reaper. We’ll be able to design a custom matrix (Encoder, Transformer, Decoder) in ATK SC3 and then use it in Reaper. It’ll also mean we’ll be able to author matrices via external tools, say the Ambisonic Decoder Toolbox, for use with the ATK. In the short term, matrix reading and writing improves the workflow for custom matrix design.
Also, we’d like to reiterate the wide range of supported sample rates:
- 44100
- 48000
- 88200
- 96000
- 176400
- 192000
To get this support you’ll need to download and install ATK Kernels v.1.2.1, if you haven’t already. (Of course you already knew!)
Do enjoy!
How to upgrade?
Follow the installation instructions for ATK for SuperCollider and install sc3-plugins Version 3.8.0.
And don’t forget about the new kernels.
Tutorial on stereo encoding
Posted
by Trond Lossius
One more tutorial has been added today on how to use ATK for Reaper. This time we look into different approaches for encoding stereo sound sources.
All tutorials are collected at this page.
ATK for Reaper v.1.0.0 beta 10 - and a new tutorial!
Posted
by Trond Lossius
ATK for Reaper v.1.0.0 beta 10 is now available for download. This is a maintenance release fixing some issues that came up in the previous beta 9 release. A list of changes can be found at the end of this blog post.
The more exciting news is that we have finally started making video tutorials on how to use ATK for Reaper. The first new screencast presents how to set up a Reaper project for decoding to headphones (binaural). Once the project is up and running, we look into four different ways of encoding mono sources using ATK for Reaper. The planewave
, omni
, spreader
and diffuser
encoders all offers different possibilities. This tutorial demonstrates how they work, in what ways they differ from each others, and presents some ideas for how they might be used in your ambisonic mixes.
ATK for Reaper v.1.0.0 beta 9 released
Posted
by Trond Lossius
ATK for Reaper v.1.0.0 beta 9 is now available for download. It adds several new features, that in particular will help the creation of content for Google VR, Facebook 360 and similar platforms. Here are the most important ones:
- Binaural decoding at all sample rates
- Many of you have asked if we could extend the
Binaural
decoder so that it works with all HRTFs at all sample rates. Your dog will be pleased to learn that you can now decode for headphone listening at up to 192 kHz. - Convert between FuMa and AmbiX
- Ambisonics can be represented in several different formats. ATK uses “old-school” Furse-Malham (FuMa) for first order ambisonics (FOA). Google and Facebook both use the more recent AmbiX ACN SN3D format. This release offers two new plugins that bridge the gap.
AmbiXtoB
encodes AmbiX signals into the FuMa format required for further ATK processing, whileBtoAmbiX
can be used to decode ATK ambisonics mixes to AmbiX. - New REAPER theme
- Michael McCrea has made a new Reaper theme that offers two new Track Mixer Panel Layouts with larger multi-channel level meters.
This version also has two changes that break backwards compatibility with previous versions of ATK.
- Quad decoder changes
- The
Quad
decoder previously was set up to return 8 channels of sound:L-R-C-LFE-Ls-Rs-LsB-RsB
. The idea was that several of the decoders (Quad and 5_0) would allign with standard 5.1 and 7.1 channel configurations. However, four of the channels would never be used, and after having used the Quad decoder on several occasions it became clear that this was not at all intuitive. We received similar feedback from several users as well. For this reason the Quad decoder has been simplified, and now only have four channels out:L-R-Ls-Rs
. - Azimuth angle changes
- Azimuth angles are now defined to be positive in the counter-clockwise direction. The new azimuth convention aligns with standard ambisonic conventions, and description of azimuths is now consistent between the SuperCollider and Reaper implementations of ATK. This is a change from prior beta-versions up to and including v.1.0.0.b7, that unfortunately breaks backwards compatibility. The plugins looks more or less the same as before, but when opening older projects, states and automations of several plugins will now be mirrored between left and right.
The new version can be downloaded here.
Below is the full list of changes.
¿Cómo se dice "Ambisonic Toolkit" en Español?
Posted
by Joseph Anderson
This was the question posed to the ATK team by Prof. Oscar Pablo Di Liscia, editor of the latest issue of Ideas Sónicas / Sonic Ideas. The first answer back: “Me llamo José…. pero, no hablo Español muy bien.” (Yeah, while I can say my name in Spanish, that’s not exactly good enough!) Luckily, we have Lucas Samaruga to thank for stepping in and offering his translation skills.
From Di Liscia’s introducción:
El artículo de Joseph Anderson y Trond Lossius (publicado aquí tanto en su versión original en Inglés como en su version en Español, esta última gracias a la traducción de Lucas Samaruga) presenta la implementación de un conjunto de herramientas de software para el trabajo con la técnica Ambisonics (ATK, Ambisonic Toolkit) en un entorno que la hace más accesible a músicos familiarizados con DAWs (Digital Audio Workstations), en este caso, Reaper. Si bien su enfoque es eminentemente técnico, sus autores destacan que ATK “…permite e impulsa al compositor a pensar más allá de la ubicación del sonido en un espacio sonoro y, en cambio, atender a la impresión e imagen de un campo sonoro”. La concepción es sutil, pero significativa, y marca una diferencia con el uso tradicional de la espacialización por lo general presente en mucha música electroacústica y producción sonora de la industria.
And then… in English:
The article by Joseph Anderson and Trond Lossius (published here in both English and Spanish, the latter version made possible thanks to a translation by Lucas Samaruga) presents the implementation of a set of software tools to work with the Ambisonics technique (ATK, Ambisonic Toolkit) in an environment that makes it more accessible to musicians that are familiar with DAWs (Digital Audio Workstations), in this case Reaper. Although its approach is mainly technical, its authors point out that ATK “…allows and encourages the composer to think beyond the placement of sounds in a sound-space and instead attend to the impression and image of a soundfield.” The concept is subtle but significant, and is in contrast to the traditional use of spatialisation generally present in many electro acoustic music and industry sound production.
Subtle but significant
That’s the big difference in working with the Ambisonic Toolkit over other spatial sound toolsets. The model isn’t placing sounds in space, but instead, shaping the sound of space. Yeah, that’s something of a head shift. (I think of it like being some sort of god of space, looking in, shaping space as if it were a ball of clay.) That’s where the true power of the Ambisonic technique lies.
We’re excited about bringing these tools and ideas to a Spanish language audience in Sonic Ideas/Ideas Sónicas Año 8 No. 16/Vol. 8 No. 16. The original English language version is also published here, too… so those of us who no hablo Español muy bien can also aspire to a spatial god-like stature, too!
Jonty Harrison's Voyages - ATK in action!
Posted
by Joseph Anderson
Jonty Harrison’s latest CD, Voyages, is now out. The liner notes include a very brief note describing how this all came about and the involvement of the Ambisonic Toolkit. The big question being, “How to successfully ‘down-mix’ Harrison’s (very-)multi-channel Espaces cachés and Going / Places to two channel stereo for CD release?” You know the answer to this one: Use the ATK!
Some (Spatial) problems and (Spatial) solutions
The big problem: Espaces cachés and Going / Places are composed for large loudspeaker arrays. (32 channels!) That’s great if you’ve got a big room like a concert hall to fill. But what about squeezing down to stereo?
Sensibly, the speakers can be be grouped into ‘spatial stems’ according to their role in the pieces. E.g., of the 32 channels the array for Espaces cachés, there are three 8 channel sub-groups: distant, main, and close. In concert, the speakers for each of these sub-groups are placed in the actual space accordingly. For the CD mix, we’ve got to somehow reproduce this impression. But, just modeling the space (via designed or measured RIRs) isn’t going to do the right thing. That would end up sounding like ‘adding reverb’ to the mix… not good!
The answer, of course, is to model the spatial impression, instead. For each ‘spatial stem’, we apply a different spatial filter set. The processing for the above sub-groups can be summarized as:
- distant: diffusion filtering
- main: mid-field proximity filtering
- close: near-field proximity filtering
Details are slightly more complicated, of course, but the idea is to use the ATK’s spatial filtering / processing to express the intended role of each spatial stem. If we’ve got it right, we should hear the layering intended by the composer in the UHJ stereo mix. (Yeah… we got it right!)
How to Listen?
By design, Ambisonic UHJ Stereo is stereo compatible. Listening over your own stereo system, it’ll sound great. (This is one of the aspects of working with Ambisonics I find so convenient, auto-magic stereo down-mix.) But what about hearing Harrison’s Voyages in full surround-y gloriousness?
If you haven’t done so already, follow the installation instructions for ATK for SuperCollider and / or ATK for Reaper. You’ll then need to set up a signal chain where you:
- Encode: from UHJ Stereo to B-format
- Decode: from B-format to your favorite loudspeaker array
If you’ve got quad, use the quad decoder. If you’ve got 5.0, use the 5.0 decoder. If you’ve got a cube of eight speakers, use the periphonic decoder. If you’ve got headphones (who doesn’t), try the binaural decoder. You get the picture.
Here’s a very simple example from the
Help for
ATK for SuperCollider. You
won’t exactly want to do it this way because the below code loads the complete
file into memory. Instead, use
DiskIn.ar
to stream in audio
from a file.
// encoding a UHJ file to B-format, then decoding through an HRTF decoder
(
var cond;
s.boot;
cond = Condition.new;
s.waitForBoot({
Routine.run({
~encoder = FoaEncoderKernel.newUHJ;
~decoder = FoaDecoderKernel.newListen(1013);
~sndbuf = Buffer.read(s, Atk.userSoundsDir ++ "/uhj/Palestrina-O_Bone.wav");
s.sync(cond);
SynthDef(\kernelEncodeDecode, {arg buffer;
var out, src, encode;
src = PlayBuf.ar(2, buffer);
encode = FoaEncode.ar(src, ~encoder);
out = FoaDecode.ar(encode, ~decoder);
Out.ar(0, out);
}).add;
s.sync(cond);
Synth(\kernelEncodeDecode, [\buffer, ~sndbuf]);
// press command period when done
CmdPeriod.add({~encoder.free; ~decoder.free; ~sndbuf.free});
})
})
)
As a side note, you’ll be interested to hear that all the processing was done with the vapour-ware HOA version of the ATK. (We should really call it the super secret development version.) The mix was made in NFC-HOA5.
ATK for SuperCollider3 v.3.7.2 released
Posted
by Joseph Anderson
ATK for SuperCollider3 v.3.7.2 release is now available for download. But you probably already know! As part of the sc3-plugins project, we had this new release 14 days ago. That’s why you already knew. Why’d we wait until now to speak up? A few things.
First off, the accompanying README now includes a List of Changes. We’d like to be much more official about keeping you up to date with what’s happening with the ATK. The updates to the README help us do that. Much easier than filtering through the Commits to sc3-plugins trying to spot ATK improvements.
Aside from some documentation updates related to the recent web hosting move, the addition of Ambisonic exchange encoding & decoding will be of interest. Particularly if you’re one of the VR crowd. First order exchange to & from these encodings is now supported:
- ACN-N3D, ACN-SN3D
As a result, you can now incorporate your ATK work with evolving VR standards. Google’s JumpVR Spatial Audio uses ACN-SN3D encoding, aka AmbiX. The ZoomH2n recorder also now supports ACN-SN3D via a firmware update. Cool.
As you’d expect, we also hope you take advantage of the ATK Kernels v.1.2.1 release. (Of course you’ve already read about it!) Among other things, you’ll get the measured binaural decoders (CIPIC & Listen) at 48000Hz. VR folks love that!
How to upgrade?
Follow the installation instructions for ATK for SuperCollider and install sc3-plugins Version 3.7.2.
And don’t forget about the new kernels.
ATK Kernels v.1.2.1 released
Posted
by Joseph Anderson
ATK Kernels v.1.2.1 package is now available for download. This version includes a number of additions and corrections. The following sample rates are now supported by all encoders and decoders:
- 44100, 48000, 88200, 96000, 176400, 192000
Of particular interest, binaural decoders generated from measured HRTFs, the CIPIC & Listen sets, now fully support all of the above sample rates. Additionally, you’ll see we’ve updated the README to include more details as to how the ATK’s kernels are designed and what they do. You’ll note we’ve done lot’s of cool Ambisonic stuff so you can do cool Ambisonic stuff, too!
How to upgrade?
If you’re an ATK for SuperCollider user, just
follow the instructions here. You’ll be replacing your
current ATK/kernels
folder with the new one.
What about the ATK for Reaper folks? The new version will
soon be appearing here. If you’re adventurous (and over
excited?), you can replace your current ATK/kernels
folder by hand. On OSX
it is found at: ~/Library/Application Support/ATK/kernels
If you’ve installed both ATK for SuperCollider & ATK for Reaper, with this release updating ATK for SuperCollider should do the trick!
ATK for Reaper v.1.0.0 beta 7 released
Posted
by Trond Lossius
ATK for Reaper v.1.0.0 beta 7 is now available for download. This version improves the graphical user interfaces for a number of decorders. It introduce monitoring of decoded sound levels for a number of decoders: Stereo, Quadrophonic, 5_0, Pantophonic 2D and Periphonic 3D. Additionally it displays the channel configuration for these plugins, making it easier to get channel routing right. The new Periphonic 3D decoder decodes to two rings of speakers.
The new version can be downloaded here.
SCRIME workshop
Posted
by Trond Lossius
As part of a short term residency at SCRIME in Bordeaux, Trond Lossius participates in a three day workshop on ambisonics and field recording. The workshop will be used to test out new ambisonic recording gear at SCRIME, including field recordings and listening sessions, and offers an introduction to how to work with ambisonics in Reaper using the Ambisonic Toolkit.
BEAST FEAST Demo Reaper Project
Posted
by Trond Lossius
Thanks for the positive feedback to the presentation of ATK for Reaper at BEAST: FEaST 2016 last weekend. lso, a general thanks to Scott and everyone else that helped organise the festival!
As promised, the Reaper project used during the presentation can now be downloaded here.
ATK presentation at BEAST FEAST
Posted
by Trond Lossius
Trond Lossius will demonstrate Ambisonic Toolkit for Reaper as part of the presentation program at BEAST: FEaST 2016. The presentation takes place in the Doom Room Saturday 30 April 11.00.
Happy New Website
Posted
by Trond Lossius
We are in the process of setting up a new website for Ambisonic Toolkit.
For close to four months we have experienced database problems with the previous CMS, leading to frequent error messages when accessing the web site. In the end we concluded that we might just as well make a fresh start.
View the full archive | Subscribe via RSS