I will continue to update this list over time. The goal is to simply create a curated list of audio frameworks for browser, mobile, TV, and desktop devices.
A note to new developers: When I work on new projects, I prefer to first think about the end result. For example, when I'm building a web app, I first decide whether the app will focus on mobile web, or desktop web or maybe it's just an API. From there, I decide on which technology to use. Unfortunately, that's not the best way to curate frameworks. Why? Because technically speaking, I can build a web app using HTML, JavaScript, Ruby, Java, Ruby, and even Apple Swift. For this reason, my lists are organized by technology instead of market strategy.
Swift
Swift is Apple's new programming language and its picking up in popularity. Although the language isn't as established as Objective-C or as performant as C++, the compiler is still new and there's still a lot of cool stuff you can make.
Audio processing and synthesis
-
There's a new kid in the block and his name is AudioKit. AudioKit is probably the easiest way to start making an app for Mac OS X, iOS or tvOS.
HTML + JavaScript
Android audio apps
C++
- JUICE is a cross-platform framework written in C++ but has a lot of classes focused around audio processing as well as wrappers that can help you port your app into both an app or a plug-in (RTAS, AudioUnit, VST, ASX).
- FAUST is a functional programming language that can help you get up-and-running quickly.
Chuck
Chuck is a brand new language that focuses on being sample accurate through clear and simple multi-threading. It can be used for audio creation as well as visualization. If you're a creative with an interest in creating your own, one-of-a-kind libraries or sound samples, this is a great language to learn.
Audio processing and synthesis
Reaktor
- Reaktor
Reaktor is a visual computer language created by Native Instruments. It's unique if that you can go very low-level into the stack or simply connect visual boxes and make something too like a sequencer.
MaxDSP
Max has three core products referred to as Max, MSP, and Jitter.
This article is a great place to start learning.
Max
- Max can help you manipulate midi and has the lowest bar of learning.
MSP
- MSP is for signal processing and audio.
Jitter
Jitter is used for visualization.
- Simple Audio Reactive Set by Naoto Fushimi
can help you achieve something like this
Super Collider
Supercollider is a visual programming language designed for audio synthesis.
- Github
- GUI envelop for Supercollider.