Chris Mendez in For Developers

How to create an audio app

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


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.


Web API's