This is the SuperCollider version of the Ambisonic Toolkit (ATK). It can be used with SuperCollider on OSX, Linux and Windows, and is distributed as a Quark package with sc3-plugins components, and other dependencies.
The Ambisonic Toolkit (ATK) is intended to bring together a number of tools and methods for working with Ambisonic surround sound. The intention is for the toolset to be both ergonomic and comprehensive, providing both classic and novel algorithms to creatively manipulate and synthesise complex Ambisonic soundfields.
Tools are offered in two sets:
The tools are framed for the user to think in terms of the soundfield kernel. By this, it is meant the ATK addresses the holistic problem of creatively controlling a complete soundfield, allowing and encouraging the composer to think beyond the placement of sounds in a sound-space and instead attend to the impression and image of a soundfield. This approach takes advantage of the model the Ambisonic technology presents, and is viewed to be the idiomatic mode for working with the Ambisonic technique.
We hope you enjoy the ATK!
For more information please visit the Ambisonic Toolkit website or send us an e-mail. See also ABCs of the ATK for an overview on working with the ATK for SuperCollider.
ATK for SuperCollider requires version 3.10 or later. Download the latest version here, or fork the source code at GitHub.
The ATK for SuperCollider's classes, extension methods and documentation are distributed via the atk-sc3 quark. Start by reviewing the Quark installation instructions found here. See also Using Quarks.
With git installed, you can easily install the atk-sc3 Quark directly by running the following line of code in SuperCollider:
Quarks.install("https://github.com/ambisonictoolkit/atk-sc3.git");
If you've previously installed the ATK, you'll want to update all the dependencies to their current versions. The easiest way to do so is via the Quarks GUI:
QuarksGui.new;
The ATK's compiled UGen component releases are available from the sc3-plugins releases page.
Place the downloaded SC3plugins
folder in your Extensions
folder. On Mac
OS X, this resolves to:
~/Library/Application Support/SuperCollider/Extensions
You may need to create the Extensions
folder if it does not already exist.
On other platforms, you can find where this is by running the following line of code in SuperCollider:
(
// post the directory in which to move the SC3Plugins folder
Platform.userExtensionDir.postln;
)
(
// alternatively, SC can open it for you
// (assuming it already exists! - you may need to create /Extensions)
Platform.userExtensionDir.openOS;
)
If you've previously installed the ATK, you'll want to be sure to install the version of sc3-plugins that is compatible with your installed version of SuperCollider.
Additionally, the SuperCollider version of the ATK has further dependencies:
Install Kernels, Matrices, and Soundfiles by running the following code:
Atk.downloadKernels;
Atk.downloadMatrices;
Atk.downloadSounds;
If successful, these three dependencies are installed here:
(
// post the kernel, matrix and sounds directories
Atk.userKernelDir.postln;
Atk.userMatrixDir.postln;
Atk.userSoundsDir.postln;
)
You can build the ATK for SuperCollider UGen components from the sc3-plugins source-code.
You can find a collection of sound files here. (Download as part of installation):
Additional sound files can be grabbed from these fine sources:
And most of the catalogue of Nimbus Records are UHJ recordings:
Known issues are logged at GitHub.
If you experience problems or have questions pertaining to the ATK for SuperCollider, please create an issue in the atk-sc3 issue tracker.
Experienced users and the developers are active participants on the SuperCollider Forum. Questions posted here are usually answered fairly quickly.
The archives of the now closed SuperCollider mailing lists (2002 - 20021) may be searched via this page.
If need be, the developers can be contacted directly via this address.
Version 5.0.7
New features:
Refactoring:
Issue fixes:
Documentation Updates:
Version 5.0.6
Version 5.0.5
Version 5.0.4
New features:
Issue fixes:
Version 5.0.3
New features:
Documentation Updates:
Issue fixes:
Version 5.0.2
Version 5.0.1
Version 5.0.0
New features (highlights):
Documentation Updates:
Issue fixes:
Version 4.0.3
Version 4.0.2
Version 4.0.1
Documentation Updates:
Issue fixes:
Version 4.0.0
New features:
Refactoring:
Documentation Updates:
Issue fixes:
Version 3.8.0
New features:
Documentation Updates:
Issue fixes:
Version 3.7.2
New features:
Documentation Updates:
Version 3.7.0-beta
Version 3.7.0-alpha0
New features:
Issue fixes:
Refactoring:
Documentation Updates:
Version 3.5
A note on the ATK's version numbers: Versioning for the atk-sc3 quark adheres to the familiar system known as Semantic Versioning. In contrast, as part of the sc3-plugins project, the versioning for UGen components is synced to the release numbers assigned to sc3-plugins releases.
As SuperCollider's plugin system continues to develop, we expect to adopt Semantic Versioning for all components when it is possible to do so.
Copyright the ATK Community, Joseph Anderson, Joshua Parmenter, and Michael McCrea 2011, 2016-22.
The development of the ATK for SuperCollider is supported by DXARTS, Center for Digital Arts and Experimental Media.
The filter kernels distributed with the Ambisonic Toolkit are licensed under a Creative Commons Attribution-Share Alike 3.0 Unported (CC BY-SA 3.0) License and are copyright the Ambisonic Toolkit Community and Joseph Anderson, 2011.
Version 5.0.7
Version 5.0.6
Version 5.0.3 - 5.0.5
Version 5.0.2
Version 5.0.1
Version 5.0.0
Version 4.0.3
Version 4.0.2
Version 4.0.1
Version 4.0.0
Version 3.8.0
Version 3.7.2
Version 3.7.0-beta
Version 3.7.0-alpha0
Version 3.5
The algorithm found in HoaMatrixRotation is largely a port of spherical harmonic rotations from Archontis Politis's Spherical-Harmonic-Transform Library for Matlab/Octave.
https://github.com/polarch/Spherical-Harmonic-Transform
Specifically: euler2rotationMatrix.m; getSHrotMtx.m; complex2realSHMtx.m
Politis's code for real SH rotations is a port of Bing Jian's implementations, found here: http://www.mathworks.com/matlabcentral/fileexchange/15377-real-valued-spherical-harmonics
Copyright (c) 2016, Bing Jian Copyright (c) 2015, Archontis Politis All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Spherical-Harmonic-Transform nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The technique was originally authored here: Ivanic, J., Ruedenberg, K. (1996). Rotation Matrices for Real Spherical Harmonics. Direct Determination by Recursion. The Journal of Physical Chemistry, 100(15), 6342?6347.
...with corrections:
Ivanic, J., Ruedenberg, K. (1998). Rotation Matrices for Real Spherical Harmonics. Direct Determination by Recursion Page: Additions and Corrections. Journal of Physical Chemistry A, 102(45), 9099-9100.
Support for Gerzon's Diametric Decoder Theorem (DDT) decoding algorithm is derived from Aaron Heller's Octave code available at: http://www.ai.sri.com/ajh/ambisonics/
Benjamin, et al., "Localization in Horizontal-Only Ambisonic Systems" Preprint from AES-121, 10/2006, San Francisco
Implementation in the SuperCollider version of the ATK is by Joseph Anderson.
Irregular array decoding coefficients (5.0) are kindly provided by Bruce Wiggins: http://www.brucewiggins.co.uk/
B. Wiggins, "An Investigation into the Real-time Manipulation and Control of Three-dimensional Sound Fields," PhD Thesis, University of Derby, Derby, 2004.
V. R. Algazi, R. O. Duda, D. M. Thompson, and C. Avendano, "The CIPIC HRTF Database," in Proceedings of the 2001 IEEE ASSP Workshop on Applications of Signal Processing to Audio and Acoustics, New Paltz, NY, 2001.
"The CIPIC HRTF Database - CIPIC International Laboratory." [Online]. Available: http://interface.cipic.ucdavis.edu/sound/hrtf.html. [Accessed: 07-Jul-2011].
CIPIC Notices:
Copyright (c) 2001 The Regents of the University of California. All Rights Reserved
Disclaimer
THE REGENTS OF THE UNIVERSITY OF CALIFORNIA MAKE NO REPRESENTATION OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTIES OR MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE.
Further, the Regents of the University of California reserve the right to revise this software and/or documentation and to make changes from time to time in the content hereof without obligation of the Regents of the University of California to notify any person of such revision or change.
Use of Materials
The Regents of the University of California hereby grant users permission to reproduce and/or use materials available therein for any purpose- educational, research or commercial. However, each reproduction of any part of the materials must include the copyright notice, if it is present. In addition, as a courtesy, if these materials are used in published research, this use should be acknowledged in the publication. If these materials are used in the development of commercial products, the Regents of the University of California request that written acknowledgment of such use be sent to:
CIPIC- Center for Image Processing and Integrated Computing University of California 1 Shields Avenue Davis, CA 95616-8553
"LISTEN HRTF DATABASE." [Online]. Available: http://recherche.ircam.fr/equipes/salles/listen/. [Accessed: 07-Jul-2011].
IRCAM Notices:
Copyright (c) 2002 IRCAM (Institut de Recherche et Coordination Acoustique/Musique). All Rights Reserved
Use of Materials
The Listen database is public and available for any use. We would however appreciate an acknowledgment of the database somewhere in the description of your work (e.g. paper) or in your development.
Contacts:
Olivier Warusfel, Room Acoustics Team, IRCAM 1, place Igor Stravinsky 75004 PARIS, France