Swiftpack.co - Package - AudioKit/AudioKit

AudioKit V4.2

Build Status License Carthage compatible CocoaPods compatible Platform Twitter Follow

AudioKit is an audio synthesis, processing, and analysis platform for iOS, macOS, and tvOS. This document serves as a one-page introduction to AudioKit, but we have much more information available on the AudioKit websites:

| AudioKitPro.com|AudioKit.io| |:--:|:--:| | Features, News, Blog, and Highlighted Apps | Developer Documentation | | AudioKitPro | AudioKit.io |

Key Concepts

| Nodes | Operations | Taps | |-------|------------|------| | Nodes are interconnectable signal processing components. Each node has an output and usually some parameters. If the nodes processes another signal, the nodes will also have an input. | Operations are similar to nodes, except that they are signal processing components that exist inside of a single node. Operations can be used as parameters to other operations to create very complex results. | Taps use nodes as their data source, but do not redirect the audio signal away from the source nodes output into other nodes. This allows a tap to be moved from node to node more freely and to be added after the audio signal path has started.

Installation

Installation details are found in the Frameworks README file.

AudioKit is also available via CocoaPods and Carthage Package managers:

| Package Manager | Config File | Contents | |--------------------------------------------------|-------------|------------------------------| | Carthage | Cartfile | github "audiokit/AudioKit" | | Cocoapods | Podfile | pod 'AudioKit', '~> 4.0' |

Example Code

There are three Hello World projects, one for each of the Apple platforms: iOS, macOS, and tvOS. They play oscillators and display waveforms. The examples rely on AudioKit's frameworks so you can either download precompiled frameworks or build them yourself .

For Hello World, you only need to understand a few lines of code:

| Code | Description | |------------------------------------------------|------------------------------| | var oscillator = AKOscillator() | Create the sound generator | | AudioKit.output = oscillator | Tell AudioKit what to output | | AudioKit.start() | Start up AudioKit | | oscillator.start() | Start the oscillator | | oscillator.frequency = random(in: 220...880) | Set oscillator parameters | | oscillator.stop() | Stop the oscillator |

Playgrounds

Playgrounds contain bite-size examples of AudioKit and serve as tutorials for many of AudioKit's core concepts and capabilities. There are over 100 playgrounds which cover basic tutorials, synthesis, physical modeling, file playback, MIDI, effects, filters, and analysis.

We provide all playgrounds as a macOS project that is ready to run in Xcode. Just download the AudioKitPlaygrounds.zip file from our releases page, open and build the project, and go to the playground pages to learn AudioKit's API in a fun way!

We have videos of most of the playgrounds in action, so you don't need to run Xcode to check them out, just go to AudioKit Playground Videos.

Playgrounds

Ray Wenderlich's AudioKit Tutorial

Check out the AudioKit tutorial on the Ray Wenderlich site. You’ll be taken on a fun and gentle journey through the framework via the history of sound synthesis and computer audio.

Getting help

Here are three methods for getting support which are roughly listed in order of what you should try first:

  1. Post your problem to StackOverflow with the #AudioKit hashtag.

  2. If you don't have a problem that you can post to StackOverflow, you may post to our Google Group, but it is a moderated list and prepare to be rejected if the moderator believes your question is better suited for StackOverflow (most are).

  3. If you are pretty sure the problem is not in your implementation, but in AudioKit itself, you can open a Github Issue.

Contributing Code

AudioKit is always being improved by our core team and our users. This is a rough outline of what we're working on currently.

When you want to modify AudioKit, check out the develop branch (as opposed to master), make your changes, and send us a pull request.

About Us

AudioKit was created by Aurelius Prochazka who is your life line if you need help! Matthew Fecher manages all of AudioKit's web sites and Stephane Peter is Aure's co-admin and manages AudioKit's releases.

But, there are many other important people in our family:

| Group | Description | |-------|-------------| |Core Team | The biggest contributors to AudioKit! | |Slack | Pro-level developer chat group, contact a core team member for an in invitation. | |Contributors| A list of all people who have submitted code to AudioKit.| |Google Group | App Announcements and mailing list for all users. |

Github

link
Stars: 5248
Help us keep the lights on

Dependencies

Releases

v4.2.3 - Apr 10, 2018

v4.2.2 - Apr 8, 2018

Bug fix is discussed on the AudioKit blog: https://audiokitpro.com/beware-the-uninitialized-variable/

Speech synthesizer is macOS only, created by Wangchou Lu, and is not quite ready for prime time, but it works and comes with and example.

v4.2.1 - Apr 5, 2018

v4.2 - Apr 2, 2018

AKSampler is now our own code, not relying on Apple's sampler code. If you still need the features of the old sampler, simple rename your class to "AKAppleSampler" and it should be fine. AKSampler was created by Shane Dunne and he has provided extensive documentation in the Documentation folder on the top level.

Shane has also led the effort to make AudioKit's DSP code platform independent, and he has even created a VST for Windows with AudioKit's core code. AudioKit has been reorganized to separate code that is platform independent (called "Core") and that which is Apple only.

A new Audiobus MIDI example was added.

Known Issues:

  • AKPlayer sometimes not respecting isLooping
  • Broken Physical Models: Drip, Mandolin, Tubular Bells
  • Oscillators seem to be on by default (see oscillator synth playground for instance)
  • Broken Playgrounds: Microtonality, those for the models above, some Sporth examples, Exporting Files, MIDI Chord Generator

v4.1 - Feb 13, 2018

This is big update with many updates and some code changes that will be required with this version.

  • AudioKit is now a static framework and has different installation instructions (thanks @megastep)
  • Many internal code updates to how AudioKit nodes work (thanks @jandyman, @megastep @dave234)
  • New AKPlayer - use instead of AKAudioPlayer which will be deprecated (thanks @ryanfrancesconi)
  • New Modulation Effects: Chorus and Flanger (thanks @getdunne)
  • New Documentation folder - includes a migration document for changes to be made to use this version of AudioKit
  • READMEs for AudioKit now also appear in Xcode side by side with source
  • Improved algorithms in the Rhino Guitar Processor (thanks @mikegazzaruso)
  • Percent variables in Apple DSP code that were ranging from 0-100 have been changed to normalized 0-1 values to match the AudioKitstandard
  • AudioKit start now must be wrapped in a do try catch block

There are quite a few things that are still in progress, but it has been too long since we did an update, and there were 742 commits to merge! There are some known issues:

  • Mandolin is broken
  • Amplitude Envelope is not respecting initial values (this does not affect the most common use case of synth banks)
  • AKDrip is broken

These will be addressed in upcoming minor release versions.