Skip to content

An openFrameworks addon which makes it easy to work with Audio Units on OSX and iOS

License

Notifications You must be signed in to change notification settings

admsyn/ofxAudioUnit

Repository files navigation

Intro

ofxAudioUnit is an addon for openFrameworks that lets you work with Audio Units.

Here's a demo of the examples

What Are Audio Units?

Audio Units are small programs that you can hook up to each other to produce sound. For example, you can hook up a synthesizer unit to a distortion effect unit, then connect the distortion unit to an output unit to send the audio to your speakers. This is analogous to a guitar being connected to an effect stompbox which is connected to an amplifier.

Audio Units are only available on macOS and iOS. If you're on a mac, you already have a bunch of Audio Units on your computer. Run this command in a Terminal to see them all:

auval -a

Getting Started

Just add ofxAudioUnit to your openFrameworks/addons/ folder.

I highly recommend that you check out the examples, as they demonstrate the important concepts related to Audio Units, as well as clear up some of the terminology. The examples are numbered in order to provide a logical progression.

Adding ofxAudioUnit to your OF app

  • Add the ofxAudioUnit src folder to your Xcode project
  • Add the AudioUnit and CoreAudioKit frameworks to your project
  • If you're using ofxAudioUnitMidi, add the CoreMidi framework to your project as well

See here if you need help adding frameworks to your project

After this, just add

#include "ofxAudioUnit.h"

in your ofApp.h file. If you're using the ofxAudioUnitMidiReceiver, #include ofxAudioUnitMidi.h as well.

Other Addons

Andrew McWilliams has written a GUI / util / manager addon called ofxAudioUnitManager

Also see antimodular's fork which has many more examples.

License

MIT License. See license.txt in this distrubtion.

About

An openFrameworks addon which makes it easy to work with Audio Units on OSX and iOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published