code

This page contains information and any relevant links to code I’ve been involved in making or made myself. Most if not all this code is available at my github so please dig deeper and feel free to ask any questions via my e-mail.

ReaCoMa

ReaCoMa is set of bindings to FluCoMa’s ‘toolbox 1’ algorithms in REAPER. ReaCoMa brings several segmentation and decomposition algorithms which can be applied to creative deconstruction, manipulation and transformation all within your favourite DAW.

Language(s): Lua

https://www.reacoma.xyz

https://github.com/ReaCoMa/ReaCoMa-2.0/

FTIS

FTIS is a Python-based framework for orchestrating complex machine listening and machine learning tasks for the purposes of computer-aided composition. It provides a interface that despite being simple and intuitive is flexible. It draws on the excellent work of other projects such as the Fluid Corpus Manipulation project, scikit-learn and the wonderful community at https://discourse.flucoma.org.

Language(s): Python 3.8+

https://github.com/jamesb93/ftis

Reathon

Reathon is a module for creating REAPER sessions directly in Python through an object-oriented interface. Objects inside the module correspond to hierarchical units within REAPER’s .rpp XML-like format allowing you to very easily map native constructs from Python onto the management and formation of new sessions programatically. I now use this to help inspect results from machine listening and learning often generated by FTIS.

Language(s): Python 3.8

https://github.com/jamesb93/reathon

python-flucoma

These are native-ish bindings for Python 3.8+ of the FluCoMa project’s CLI binaries. The bindings offer a functional programming interface to the algorithms which suits the paradigm of chaining together different processes well.

https://github.com/jamesb93/python-flucoma

mosh

mosh is a lightweight command-line tool for converting any format of raw data into audio. Several key parameters are exposed to the user allowing them to influence the encoding of the output, such as the bit-depth, channels and the sampling rate. The application compiles to almost any architecture including Android, iOS and ARM alongside standard OS distributions like MacOS, Windows and Linux. Languages(s): Nim

https://github.com/jamesb93/mosh

FrameLib

I am currently responsible for building an automated system to generate Max documentation for Alex Harker’s project “FrameLib”. I have also contributed some objects to the official repository too.

Language(s): C++, Python 3+

https://github.com/jamesb93/FrameLib

ReaScript(s)

REAPER’s powerful scripting API allows the user to execute lua, EEL and Python code to create custom actions and interfaces.

Language(s): Lua

https://github.com/jamesb93/REAPER-Scripts

z12 (Rack implementation)

Miller Puckette outlines an algorithm for generating stochastic sequences that are maximally uniform in this paper. This repo contains a Rack module that implements this algorithm. The output is somewhat markovian in taste and allows you to create some varied rhythms through an interface for managing patterns probabilistically.

Language(s): C++

https://github.com/jamesb93/z12