Fix bug in rle
WIP major refactor
Update fennel to 1.3.0
Livecoding instrument for Renoise powered by Fennel.
8FL (pronounced either "eight-eff-ell" or "eighth floor") is a livecoding musical instrument for the Renoise music tracker digital audio workstation. It works by opening up a Fennel REPL into a running Renoise application and providing a library of music-focused sequence operations that can control and populate the active song. It is intended for live performances but can be used for algorithmic composition in the studio as well.
It's kind of like this or this.
8FL is inspired by Tidal Cycles, the Polyend Tracker, Clojure's sequence library, the New York City livecoding community, and my own needs as a performer. I am developing it primarily for myself and sharing it in the hope it may be useful or interesting to others.
8FL is currently only available as a git repository. To install it, clone it into your Renoise tools folder. (on Arch Linux this is ~/.config/Renoise/Vx.x.x/Scripts/Tools/
). The name of the resulting folder must be live.8fl.repl.xrnx
. For example:
$ cd ~/.config/Renoise/V3.4.2/Scripts/Tools
$ git clone https://git.sr.ht/~nasser/8fl live.8fl.repl.xrnx
Alternatively, you can clone 8FL anywhere on your system and place a symbolic link in your Renoise tools folder. This is how I have it cloned on my machine and makes development a bit cleaner. Again, the resulting folder under the Renoise tools folder must be named live.8fl.repl.xrnx
.
$ git clone https://git.sr.ht/~nasser/8fl /path/to/8fl
$ cd ~/.config/Renoise/V3.4.2/Scripts/Tools
$ ln -s /path/to/8fl live.8fl.repl.xrnx
8FL opens up a simple TCP REPL listening on port 2020 from within Renoise. You can access it and get a prompt using telnet.
$ telnet localhost 2020
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
_/_/ _/_/_/_/ _/
_/ _/ _/ _/
_/_/ _/_/_/ _/
_/ _/ _/ _/
_/_/ _/ _/_/_/_/
8FL -- THE EIGHTH FLOOR
http://8fl.live/
8FL: 0.4
fennel: 0.10.0
lua: Lua 5.1
renoise: 3.3.2
8FL>
I use the above telnet incantation from a VS Code terminal when performing.
I have Terminal: Run Selected Text In Active Terminal
bound to ctrl + enter
and I use that to send code from a text buffer into the terminal during a performance. I use the Strict Paredit VS Code package to help with Lisp manipulation and selection.
Further usage and API documentation to come.
Work on the tool that would become 8FL started while I had studio space at Dark Matter on the seventh floor of the Metropolitan Exchange Building in downtown Brooklyn. The building, which we affectionately called MEX, was owned by a wonderfully eccentric man named Al Attara who used it to store odds and ends he collected throughout his life while making space for artists to collaborate and do their work.
MEX was full of Al's own projects in various states of completion, perhaps the most impressive of which was the beginnings of an eighth floor to the seven story building. Stairs supported by a bare iron frame extended the building's staircase that should have ended at the roof up into the sky. Abandoned cement mixers waited patiently to be put back to work while loosely fastened tarps flapped in the wind. It is not clear what the ultimate goal was, nor when work started or ended, nor its legality.
The eighth floor is a big dream. The eighth floor is reaching to the next level, practicality be damned. The eighth floor does not have handrails -- you might fall off! The eighth floor is a work in progress, probably forever. The eighth floor is a bad idea that's worth pursuing. The eighth floor should be impossible, and yet there it is.
Al passed away in early 2020 and I moved out of the building along with most of my studiomates shortly after. I am eternally grateful to the experience I had there, and the name of this instrument is a small way to commemorate Al, his big dreams, and the space he made for us in an unforgiving city.
Copyright © 2019-2022 Ramsey Nasser. Shared under the Anti-Capitalist Software License.