Skip to content

Open-source audio synthesis, processing, & analysis platform.

License

Notifications You must be signed in to change notification settings

mikemartell/AudioKit

 
 

Repository files navigation

AudioKit

Build Status

AudioKit is a powerful audio toolkit for synthesizing, processing, and analyzing sounds. It contains several examples for iOS (iPhone & iPad) and Mac OSX, written in both Objective-C and in Swift. A test suite is provided for many of the operations included in AudioKit. A playground project can be used for trying out AudioKit instruments and for greatly speeding up the development of your own instruments and applications.

The "AudioKit" subfolder

This folder contains the actual AudioKit toolkit classes.

  • Core Classes - the foundation of AudioKit, the manager, the orchestra, settings, and MIDI.
  • Instruments - the instrument and instrument property classes.
  • Notes - the note and note property classes.
  • Operations - all of the synthesis and processing algorithms
  • Parameters - types of arguments that can be passed to operations
  • Platforms - audio engine and files specific to iOS, OSX, and Swift
  • Sequencing - phrases of notes and sequences of events
  • Tables - lookup tables for waveforms and other tabular data
  • Utilities - prebuilt instruments, waveform plotting classes, and UI elements

This folder contains the classes that you will need to copy or reference in your project by dragging this folder into Xcode. In addition to the audio classes, there is a Utilities folder that contains non-required, but helpful classes for binding user-interface elements to audio data, including plots of audio streams and related data.

Documentation

This folder contains information about automatically generating Xcode documentation from the AudioKit source.

For most users, the documentation you really want: installation instructions, tutorials, examples, and more can be found here: http://audiokit.io/docs/

Examples

Included with AudioKit are two examples (HelloWorld and AudioKitDemo) written in two languages (Objective-C and Swift) for two operating systems (iOS and OSX). So, there are eight projects for each permutation. The Hello World project is a great starting point and a walkthrough is available here. In Hello World, only one file is used to create a sine oscillator playing at 440Hz. The AudioKitDemo is quite a big more complex, combining three apps into one to demonstrate audio synthesis, processing, and analysis techniques. More info: http://audiokit.io/examples/

Playgrounds

Here is where the main AudioKitPlayground project is kept and from here you can run a shell script to start the playground from a set of template playgrounds. Refer to the README within the Playgrounds folder for more instructions. More info: http://audiokit.io/playgrounds/

Templates

We have built Xcode templates for typical AudioKit classes: instrument, processor, and conductor. Once installed, these templates will be available from within Xcode's new file wizard. More info: http://audiokit.io/templates/

Tests

Numerous tests can be run utilizing the AudioKitTest project and the build_all.sh and run.sh shell scripts provided here. More info: http://audiokit.io/tests/

About

Open-source audio synthesis, processing, & analysis platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 72.3%
  • C 15.5%
  • Swift 8.7%
  • C++ 3.0%
  • Other 0.5%