Fluid Corpus Manipulation bindings to the REAPER digital audio workstation.
The last few months I’ve been working on a project ReaCoMa which bring the wonderful FluCoMa tools to REAPER. The tools themselves enable some pretty interesting sonic possibilities that would otherwise be hard to implement or don’t yet exist outside of more research oriented environments such as Python or C++ including:
- Non-negative matrix factorisation (blind source separation)
- Harmonic percussive source separation
- Transient extraction
- Sinusoidal resynthesis
- Novelty slicing
- Two amplitude slicers
- Transient slicing
- Spectral slicing
I’ve also created a series of tutorials that cover installation and usage to help make the process of integrating ReaCoMa into your creative workflow much easier. The playlist of these can be found below. I plan to develop on these tutorials in the coming weeks to go into more detail for each of the algorithms and to talk about how you more developer-y types can extend what is already there.
Of course all of the software and tools are open source and free for you to use as you please, licensed under BSD3. More specific details and links can be found at the home website (unfortunately I can only do 2 links in this post as I’m fairly green!).
Step 1: Command Line Tools
All of the number crunching and DSP is performed by the FluCoMa command line tools. You will need to download the appropriate version for your operating system. Precompiled binaries can be found here or you can compile them from source.
Once you have a set of the binaries you will need to store them in a sensible location that is likely not to change.
Step 2: Lua Scripts
The lua scripts orchestrate calls between REAPER and the command line executables. They take care of things like providing a basic user interface and the specification of parameters for each algorithm.
- Download all of the files from this repository.
- Unzip the downloaded archive and you will have a folder contaning a number of files ending with the
.luaextension - these are the scripts that relate to each FluCoMa algorithm.
You can have this folder anywhere you want on your machine, REAPER doesn’t actually care too much about where a script is launched from and I have made sure that any dependencies are sorted out in-house and not as part of your REAPER installation. The entire thing is very portable.
When you try to run the lua scripts for the first time it will ask you to provide the path where you stored the command line tools. This creates a semi-permanent link between the scripts and ReaCoMa using internal extended states in the REAPER ReaScript API.