Beta3 is out - Max, SC and Pd!

Dear all

We’re done with beta 3, and thanks to @tedmoore and @jamesbradbury the testing has been faster!

Same Download link



1.0.0-TB2.beta3: Change Log


  • PureData has parity with other CCE’s except for:
    • load and dump methods for DataSet and LabelSet (workaround in place)
    • Limited help-files. These will be updated A.S.A.P and posted as they are updated.
    • Limited testing of the new objects, accordingly.


  • New Objects
    • FluidGrid: coerce data in a FluidDataSet into a two-dimensional grid
    • FluidStats: compute real-time statistics (mean and stddev) on data streams
    • MAX: FluidPlotter: Rapidly plot two-dimensional datasets
    • MAX+PD fluid.buf2list and fluid.list2buf are now compiled objects. Be aware of their new attributes in Max
    • SC: FluidBufToKr and FluidKrToBuf pseudo-Ugens help with the dataset to descriptor to dataset workflow
  • New Sounds
    • trombone long tones, and oboe multiphonics, now included.

Interfaces and Behaviours

  • FluidMFCC has a new attribute: “startCoef” which modifies which coefficients are returned by the algorithm. A common use case is to discard the first coefficient.
  • MAX+PD: All data objects can be named to share persistent state. For example, fluid.kdtree~ my-tree in Max can be used everywhere throughout a patch to reference the same k-d tree named my-tree.


  • Improved performance with FluidAmpGate
  • Crashes caused by (tapin - tapout == 0) on FluidMLP
  • Crashes caused by when loading MLP models from JSON
  • FluidLoudness no longer spikes to the maximum on digital silence
  • Many other fixes, see the git log for details.
  • BREAKING: BufSelectEvery’s method channelhopis now chanhopto be consistent


  • Compilation on Arch Linux is now made possible again by fixing linking against the cutting edge of Boost.
  • Building no longer uses AVX instructions by default to allow for an easier experience compiling for M1 Mac and ARM processors.
  • Max compilation can now also uses the 8.2 SDK

Actually, Max+Pd, please hold on a little - there is a bug we obviously discovered just after releasing… read below… SC, go ahead and have fun without restraint!

Let’s call it a ‘surprising feature’ - the new ‘named object’ paradigm, which is great, will break patches which have more than one ‘unnamed’ object of the same class. This is only true for Max and Pd.

There are so many fun things to try, I’ll leave the release up for now, until I’m told off by @weefuzzy :slight_smile:

For the curious soul, unnamed objects share data/state/etc · Issue #57 · flucoma/flucoma-core · GitHub

ok a solution has been found, now all 8 packages pass the test (famous last words)

If you downloaded beta3 before now, redownload.


1 Like

I was gonna make github issues, but getting tons of jsui errors across a bunch of the objects, well, the first two I tested/opened.

fluid.stats (which doesn’t autocomplete information) throws up:
jsui: helpargs.js: Javascript TypeError: dict.get is not a function, line 25

Instantiating fluid.plotter (which doesn’t autocomplete at all) throws up:
jsui: can't find file fluid.plotter

Opening the helpfile for fluid.plotter spams the console with endless:
jsui: js: no function bgcolor [fluid.plotter.js]

And also doesn’t appear to work.

I’m on 10.14.6 on Max 8.2.0.

plotter won’t have autocomplete (for now). It’s just an abstraction that sucks up some jsui.

The install packaging process doesn’t copy the js folder - woops. We’ll fix that quickly which should solve both plotter issues.

that one is a real issue - I forgot to make the doc. I’ll post it here for those who miss it.

The other one is my problem - I forgot to include the javascript in the package. I’ll re-re-re-re-re upload

I’ll ping here when the oven is ready


copy the js folder on the install target by jamesb93 · Pull Request #59 · flucoma/flucoma-max · GitHub solves it :0

because I’m fighting against the new doc to accept stats, in the meantime, add this folder in your max package… (6.7 KB)

Ok, added that in the meantime and the errors have gone away.

Looks like pointcolor for fluid.plotter doesn’t work though.

fluid.stats is still throwing up this error when I open it:
jsui: helpargs.js: Javascript TypeError: dict.get is not a function, line 25

there is a new package now to download - it should all work. Let me know.

ok now, for realz, we have working documentation on all 3 CCEs and all 3 OSes…


Is that in the help file or your own usage?

Okay I see the problem - gnna make a fix for the next release now.


Was in the last tab of the helpfile. But I guess you found where it was.

I went through all 5 stages of coding grief in about 5 seconds. A simple but stupid mistake that is now fixed… I can send you the unbroken code if you’re keen but it may be simpler to just hang on.


Much love and respect for your work. So if I need a 12 chan mfcc 1 - 13 buffer I go: “fluid.bufmfcc~ 12 @numcoeffs 13 @startcoeff 1”, right?

It should be as simple as fluid.bufmfcc~ 12 @startcoeff 1 (the argument denotes the maximum possible number of coefficients, so effectively caps @numcoeffs)

there seems to be a bug if i use it like this. second time the bufmfcc~ is banged, the last coeff in the feat buffer gets a nearly constant value.startcoeff


definitely a bug indeed. And it happens only on the non-first time of @startcoeff 1 - nice catch!