Skip to content

Somewhat fishy live cod(e) extensions to SuperCollider.

License

Notifications You must be signed in to change notification settings

totalgee/bacalao

Repository files navigation

Bacalao

Somewhat fishy live cod(e) extensions to SuperCollider.

Image of Atlantic cod (Bacalao in Spanish) (ref)

What is it?

Bacalao is a live coding "domain specific language". You can use Bacalao's shortened notation to quickly experiment with Node- and especially Pattern-proxies (which it uses under the covers).

Bacalao was inspired by TidalCycles, and adopts a similar syntax for certain things, such as its phrase definitions. Similarly to Tidal, Bacalao allows patterns/phrases (including timing) to be described in a compact notation. It likewise supports sub-phrases with repeats and holds (adjustments of note or sub-phrase relative duration). Unlike Tidal, it does not depend on Haskell or any other language. It is coded entirely in SuperCollider (sclang), building on top of Event patterns, NodeProxy and PatternProxy. It (optionally) uses the wonderful VSTPlugin extension to play VST instruments natively inside SuperCollider, allowing their output to be processed by SC server effects. It can also use the ChordSymbol Quark (if installed) to allow chord notation in note patterns.

Getting started

To install Bacalao as a Quark in SuperCollider (tested with versions 3.10.2 and later), run the following line:

Quarks.install("https://github.com/totalgee/bacalao");

The Bacalao class documention is not up to date. To get started, it's better to go through the Bacalao_examples file, reading the comments and executing the code line by line. Even there, however, not everything is documented yet.

There is also a cheatsheet (part 1, part 2).

There are a series of unit tests that should run successfully, so if you're brave you can also look in those files for ideas or inspiration.

Issues

Be warned that this is primarily Glen's live coding language and playground, so it will evolve and change according to his whims, but it may still be interesting or useful to others. It makes no promises to be backward (or forward, or sideways) compatible. It's a set of tools for making music on the fly, so -- swim free, live in the moment, and let old code... be old code.

Etymology

Bacalao (the Spanish word for cod), is simply the words "live code" written using one-third of the letters (or, even better: it's "live coding" compressed by nearly 75%)...and then translated into Spanish to make it sound exotic (and salty!). In the translation process, unfortunately, it loses nearly all of those letter savings. (This may or may not be a metaphor for the gains and losses you experience using the language itself...) Bacalao also uses two-thirds of the letters of Barcelona, which is where it was spawned and hatched.

Bacalao (or Bakalao, Vacalao, or one of numerous other spellings) also refers to a repetitive, aggressive electronic music style that emerged "Made in Spain" in the mid-1980s, but trust me, that is purely coincidental... It is also coincidental (or is it?) that the Atlantic cod population was nearly wiped out around the same time Bakalao music was reaching its prime. Fortunately, the fish (at least) seem to be making a comeback...let's leave it at that.

About

Somewhat fishy live cod(e) extensions to SuperCollider.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published