Working with embedded hardware is challenging, and the typical developer workflow is generally much slower compared to writing audio software on a general purpose computer.
Elk Audio OS is a low-latency embedded Linux distribution, and set of user-space tools, using which the process is significantly streamlined.
In this workshop, we present a set of tools built around Elk's audio engine and plugin host
SUSHI, which can be used to prototype an audio product entirely on your computer, without the hassles of dealing with an embedded hardware platform.
The attendees are expected to learn:
- How to set up a chain of plugins
- How to write a control application that uses SUSHI's API to manipulate the audio graph and its parameters
- How to implement the control of your future embedded device, both using physical controls, remote GUI’s, and end-user development tools
- How to use additional tools to monitor performance and problems
In the second part of the workshop, the participants will use the same tools to create a prototype of an embedded audio device, such as a simple synthesiser or stompbox pedal. There are going to be a few Elk hardware units available for those who then want to run their experiments on real hardware.
Requirements for the participants:
- A macOS laptop (10.15 or later), or a Linux laptop with a recent distribution and the JACK audio server installed
- Basic knowledge of one of the two languages that will be used for control client examples:
- Python (recommended)
- C++
Optional requirements:
- Small MIDI controller (for synthesiser examples)
- Development environment for writing your own plugins in e.g. JUCE
- Having installed the Elk Audio OS SDK if you want to cross-compile for the real HW units