/raw

Primary LanguageGoMIT LicenseMIT

raw

random audio workstation. basically a command-line program to generate entire songs from short sample loops.

for me, making an album of music means devising a single process of making music and using that process to generate tracks. my past processes were focused on melody and harmony. for generations I found a process around generative chord changes. for 18,000 I used a coding framework to write small snippets for generative audio. for at the place I tried to devise a paper-and-pen method of developing melodies.

in this current process I'm focusing on effects and structure. I plan on only using samples and trying to elevate the samples by restructuring and juxtaposed effects chains - and have its creation based entirely in a terminal. this current project is based off my other projcets dnb.lua, makebreakbeat, and sampswap. this one should be better capable of cross-platformability.

requirements

  • python3 numpy+scipy
  • sox
  • supercollider

you can install python3 anyway you want, and then install the dependencies with:

python3 -m pip install numpy scipy

sox can be downloaded here (or Linux: apt get sox).

SuperCollider is spread across several places (because you'll need to install all the plugins):

you can click those links to download the files for your system. its also possible to install them by source (i.e. for Raspberry Pi where binaries aren't available):

git clone https://github.com/schollz/raw && cd raw
sudo apt install cmake
make supercollider
make sc3plugins
make miugens
make portedplugins

usage

> git clone https://github.com/schollz/raw
> cd raw
> go build -v
> ./raw stemstitch --config example/config.toml

confg file

see example/config.toml and its directory for how to structure samples for a song and add configuration. basically, the config file lets you setup the song structure for each track, and setup effects based on probabilities (0-1).

license

MIT