Fluid Music is an extensible music composition and music production framework for Node.js, currently in closed beta. (closed what?)

If you are interested in computational or procedural music production, please consider joining in the closed beta by participating in a two-part Fluid Music workshop. Fill out the workshop interest form, and you will receive a follow-up email shortly with more information.

Workshop participants will:

  • Learn the Fluid Music API foundations
  • Programmatically create and render DAW sessions
  • Code a reusable sound design technique
  • Create music by sharing sound design techniques with other participants

Participants will be invited to a two-part workshop:

  1. Introduction & Fluid Music Basics January 22 or 23, 1pm - 2:30pm
  2. Developing Custom Techniques January 24 or 25, 1pm - 2:30pm

Each workshop will consist of a pre-recorded tutorial video and a subsequent zoom meeting. I will also hold “Office Hours” to answer questions and troubleshoot technical issues.

What is Fluid Music?

A quick overview of the fluid-music npm package:

An example project (note that this video is for an earlier version of Fluid Music):

How is Fluid Music different from SuperCollider, CSound, etc?

There are already several code-based languages for audio design. Why do we need another one? Existing tools like CSound, SuperCollider, Max, and PD are useful for live coding and for building experimental and interactive audio tools with digital primitives like Oscillators and Filters. However:

  • Fluid music aims to be useful for creating music that people care about. Currently, this means that it has to complement and integrate with a Digital Audio Workstation (DAW) and plugin (VST) based workflow. Fluid Music creates DAW session files as opposed to audio or MIDI files.

  • Fluid Music is designed around JavaScript and the npm ecosystem. It is made to enable reuse and sharing of sound design techniques. If you have a favorite collection of audio samples, encapsulate them in an npm package, and computationally insert them into your sessions. Automate sound design techniques that you use often. Publish and import them using npm. Create music by mixing and matching existing fluid-music npm packages.

Workshop prerequisites

You do need be comfortable with node.js and npm, and have at least a little familiarity with music production. Otherwise, there are no prerequisites - I would love participants to have a range of different backgrounds! However, there are a limited number of seats, so availability will depend on the level of interest.

It will helpful if you have used one of Reaper or Tracktion Waveform DAWs, but you can learn the basics of either one in an afternoon if needed.

Why are you holding the workshops?

I’ve been developing the Fluid Music system as part of my PhD dissertation within the Opera of the Future Group at the MIT Media Lab. The goal Fluid Music system is to enable many users to create and share compatible tools and techniques, and to use those tools and techniques for producing music.

To be broadly useful, Fluid Music needs input from other software developers and music producers. So I am looking for input! I will incorporate feedback into the analysis section of my dissertation (by participating, you will also be helping me graduate 🙏).

How much time will it take?

In addition to attending the workshop, plan to spend:

  • 30 minutes installing and setting up Fluid Music prior to the first workshop
  • 30 minutes in a follow-up interview (if you agreed when filling out the interest form)
  • Plan to spend some time outside of the workshop coding and composing. How much time? It is flexible, and depends on how far you want to push the coding and composition.

Your mileage will depend on your comfort with the core tools (Node, npm, Reaper).

The fluid-music library comes with support for some free and paid VST plugins. If you want to use them, plan to spend some additional time downloading and installing them (you can add support for your favorite VST plugins, but we won’t cover this in detail during the workshop).

Next steps

Interested in participating? Fill out the workshop interest form.

If you have further questions, please email me!

Getting Started Tutorials

To prepare for the first workshop, follow either the video or text-based tutorial below. Choose one:

To complete the tutorial, you’ll need to install cybr, the Fluid Music sound server. I’ll email a link to the executable so you don’t need to compile it.


Additional Resources

You can get started with fluid music by studying the following resources, but it will be much more efficient to learn this material by participating in the workshops.