Announcement: Release (Not Release)

A Special Release


This is not a stable release, but a cutting edge one with bug fixes and new features. There is only one small breaking change. More importantly we need your feedback on the work we’ve put into revamping help files, documentation and learning material.

Hi FluCoMa community,

Today marks a special update to some aspects of the FluCoMa package. We’re not making a formal “stable” release as we have in the past and instead would like to introduce you to a new way of us bridging the community with our development efforts. This comes in the form of rolling nightly builds for all creative coding environment’s distributions.

What this means going forward is that every time that code is changed in a package’s repository on GitHub, a new version is compiled and generated for all operating systems “in the cloud”. This allows us to put new features and documentation directly into your hands without you having to deal with the pain of compiling on your local machine or with us sharing custom builds manually. We hope that this minimises the time spans between you having access to the latest and greatest.

How to Access Nightlies

Each nightly release will be available in the GitHub releases. For example, look here for the Max nightly release. All you have to do is download the appropriate zip for your operating system and replace the old one. We hope that this way of more rapidly distributing the latest versions will encourage and facilitate you, the community, providing valuable input to the project. This extends to the package objects and their features as well as the documentation that we are now well in the process of refining and extending. For example if you feel like a concept is not explained clearly enough in a help file or reference, or doesn’t have the right level of terminology in it, or there is a resource that can be linked to to support the documentation, these are great reasons to share your experience and expertise with us so we can make the strongest possible FluCoMa-verse.

We encourage all forms of contribution in this manner. Ultimately, FluCoMa will live on as a community-maintained project (once funding expires) and so we want to empower you to get involved in a way that is enabling: Open a pull request, Create an issue, or make a thread here describing what you think. Just remember to always tell us which version of the tools you are using, as the nightlies will be recompiled on the fly potentially multiple times each day! You can always discover this information by sending the version message to a FluCoMa object.

Getting the version (Max)

Getting the version (SuperCollider)

Getting the version (PureData)

Things we would like feedback on

Alongside this we have a bunch of small but critical improvements to the FluCoMa toolkit that we’d like to share with you (and are available in the nightlies). These specific changes are really up for grabs from the community. We are very receptive right now to changes, ideas and contributions so that the documentation can be made more inclusive, friendly and clear. We are also interested in hearing if you can suggest better ways of explaining concepts or if you got stuck and found something unapproachable on the whole.


fluid.bufchroma~ help file
fluid.chroma~ help file
fluid.kdtree~ help file
fluid.bufselect~ help file
fluid.sines~ help file


So far SuperCollider docs have been manually pruned and curated to maintain parity with Max and SuperCollider😬. We’re currently in the process of finishing off a major change to our automated workflow that will allow SuperCollider documentation to be automatically rendered from a central location and thus facilitate a load more progress on the SuperCollider help.

In the meantime, many more features worth checking have been added to FluidWaveform to visualize multi-layered audio, indices, features and image (like spectrogram) buffers. Check them out!


Major new layout to attempt to declutter the help file. So far, these are done:
• BufChroma Help File
• Chroma Help File
• SoundFile Browsing
• Test Audio Source GUI

Please note that we are using the new file object in the documentation from Pd 0.52-1. You may see errors if you open a FluCoMa help file that depends on it.

Pd@Linux users: we know the new helpfiles render badly - we are investigating the font issue (and this is an advantage of the nightlies: as soon as we have a fix, it’ll be available!)


The learn platform till now has remained a relatively quiet and un-marketed fixture of the resources we aim to provide. It is a web-based platform where we will be creating content that focuses on spotlighting users of the toolkit, creating tutorials (written + video) and providing more in depth discussion on the algorithmic foundations of the FluCoMa objects. Some of the website is quite bare at the moment but please check out what we’ve currently got!


BufNMF Reference
BufSelect Reference
Chroma Reference
KDTree Reference
KMeans Reference
DataSet Reference
MLPRegressor Reference
MLPClassifier Reference
UMAP Reference


Audio Decomposition using BufNMF
NMFMatch Overview
Batch Processing with the FluCoMa Toolkit Tutorial


Made with FluCoMa Spotlight - Olivier Pasquet
Made with FluCoMa Spotlight - Lauren Hayes


BREAKING CHANGE: Novelty slicing based on chroma as a feature


Pure Data

Major performance boost on most CPU-intensive objects (YMMV but please report back if you see any wild benefits/detriments)

Max and SuperCollider

In some use cases on MacOS, the Transient and TransientSlice objects will have significantly worse performance. It is a known issue but we have made a wiki entry to explain how to compile with settings tuned for your machine for Max, SuperCollider, PureData and the Command-Line.


In the spirit of rapid iteration - here is a brand spanking new “Made with FluCoMa” article from @jacob.hart !


I’ve just uploaded a short-ish addendum to the original four part video series on creating a 2D corpus exploration tool. This video touches on dimension reduction, and how we might leverage it to compress lots of audio descriptors into a compact two-dimensional representation.

Check it out: Building a 2D Corpus Explorer (Part 5) - YouTube