Skip to content

bridgoon97/SC-HOA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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).

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.

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 to install the collection of SuperCollider plugins called HOAUGens. A PR to the SC3 plugins has been submitted, meanwhile you find compile instructions for SC3plugins + HOA here: https://github.com/florian-grond/sc3-pluginsHOA (compiled plugins SC3plugins for 3.8 and 3.9 with supernova support are also provided at this link)

You might need additional resources to make use of SC-HOA (e.g. FIR filters for binaural decoding). These files can be obtained by downloading a copy of the ambitools repository. Make a copy of the folder called FIR and place it into your SC-HOA kernels folder.

Depending on your system, you will need to create the SC-HOA kernels folder in the following locations:

  • Linux ~/.local/share/HOA/kernels/
  • macOS ~/Library/Application Support/HOA/kernels/
  • Windows C:\Users\_your-username_\AppData\Local\HOA\kernels\

You can find this path from within SuperCollider by executing the following:

HOA.userKernelDir

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.

About

HOA wrapper classes for SuperCollider based on https://github.com/sekisushai/ambitools

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • SuperCollider 100.0%