All Projects → florian-grond → SC-HOA

florian-grond / SC-HOA

Licence: GPL-3.0 license
HOA wrapper classes for SuperCollider based on https://github.com/sekisushai/ambitools

Programming Languages

SuperCollider
123 projects
scala
5932 projects
Faust
14 projects

SC-HOA

HOA for SuperCollider.

Overview

The HOA library provides classes to encode, transform and decode Higher Order Ambisonics sound signals up to order 5. The basis for the library are UGens compiled from Faust code written by Pierre Lecomte, see ambitools. Documentation and tutorials are partly based on the ambitools documentation (pdf).

Additional plane wave encoders and optimizers have been added, adpated from CICM's HoaLibrary and Aaron Heller's ambidecodertoolbox.

The SuperCollider library was written by Florian Grond. It includes soundfield recordings made together with Romain Dumoulin using the Eigenmike from CIRMMT.

Frontend classes are wrappers that select the correct low-level UGen depending on the intended ambisonics order. The b-format signal is encapsulated in a channel array, which makes the resulting SC code flexible to experiment with different orders e.g. to account for available computational resources. All arguments obey SuperCollider's Multichannel Expansion paradigm.

Additional resources for SC-HOA ambisonics are found inside the resources/ folder. The included FIR filters are taken from ambitools. The binraural IRs and heaphone EQs are taken from the IEM Plugin Suite's BinauralDecoder.

Installation

To install the SC-HOA quark, either use the Quarks.gui interface or install it manually:

Quarks.install("https://github.com/florian-grond/SC-HOA")

In order to use this library, you will need a collection of SuperCollider UGens called HOAUGens. These UGens are available as part of the sc3-plugins. See the website and GitHub repository for installation instructions.

note: The HOAUGens were added to the sc3-plugins as of commit https://github.com/supercollider/sc3-plugins/commit/9326e1229a64ca82f76124a7a1a038095be22996

If you need 3rd order recordings for testing the tutorial and radial filters, feel free to contact me.

Acknowledgements

The implementation of SC-HOA was supported by a postdoctoral fellowship of Fonds de Recherche du Québec - Société et Culture (FRQSC) http://www.frqsc.gouv.qc.ca/ conducted at CIRMMT https://www.cirmmt.org/ and through the Metalab at the Société des Arts Technologiques http://sat.qc.ca/ in Montreal.

=======

Special thanks for code contribition and discussion goes to Nicolas Bouillot, Michal Seta, Till Bovermann, Carlo Capocasa, Thibaud Keller and Julian Rohrhuber.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].