We’re pleased to announce that the first public release of the SOUL SDK is now available for developers!
SOUL is short for SOUnd Language. It is a new high-performance language and back-end platform to make it easy to write high-performance audio code that can be safely run on a variety of platforms.
The SOUL platform is a language and an API. The language is a small, carefully crafted DSL for writing the real-time parts of an audio algorithm. The API is designed to deploy theSOUL code to CPUs and DSPs, both locally and remotely.
The release includes the following items:
Support for the new SOUL Patch format. This is a new audio plugin format for writing SOUL-based cross-platform plugins.
Dependency-free C++ headers and dynamic libraries to allow developers to load and run SOUL Patches in their apps on OSX, Windows and Linux.
Utilities for loading SOUL Patches as a juce::AudioPluginInstance, to make it easy for existing JUCE apps to load patches.
A refreshed soul.dev playground which supports patches, and has new input and output features.
A command-line tool which does a range of tasks including:
Load and run a SOUL patch with live code reloading
Compile a SOUL file and emit errors, for integration into IDEs
Generate C++ or HEART from a SOUL file
Create new patch projects
- Generate visual graphs from SOUL files
There is also a new release of Tracktion Waveform which uses the SDK to provide built-in support for SOUL patches, allowing them to be live-coded while the DAW is running.
The code and binaries are available on github.
If you’d like to give feedback or discuss SOUL further, please visit the JUCE forum!