Two bits of news:
We’ve got a new OwlProgram release v21.1, incorporating all the recent changes and new features.
Summary of v21.1 changes:
- SOUL integration
- Maximilian integration
- DaisySP integration
- Added FAUST ‘key’ MIDI parameter (complements ‘freq’, ‘gain’, ‘gate’ and ‘bend’)
- Added StateVariableFilter DSP class
- Fixed Bus Error regression on legacy hardware
- Automatically zero-initialise all heap allocations
Second: I’ve updated the ‘develop’ branch with some new features which makes it easier to test and debug patches for those of you that do so offline.
There are some new Makefile targets, and others that have changed:
-
make run
used to compile and send a patch to run from RAM on the device. This has been renamed: usemake load
instead. -
make ... native
is a new target that will compile your patch into a native executable. Requiresgcc
or compatible compiler to be installed. -
make run
now compiles the native executable and runs it -
make test
will compile a test harness as a native executable and run it
The native binary can be invoked with a wav input and output filename (input should be 48kHz, 16-bit, 2 channels). This will run the patch, allow it to set default parameter values, then feed the audio from the wav file in and save the results in the same format.
To try it out, clone or checkout the develop
branch of OwlProgram then make your patch as usual, but specify make ... run
instead of make ... patch
.
Note that this doesn’t work with SOUL patches yet, but Pure data, FAUST et c should be fine.
A future update will likely allow setting parameter values on the command line, e.g. something like patch -a 0.5 -b 1 in.wav out.wav
Do let me know if you find this useful, and if you have ideas/feedback for improvements!