FluCoMa

Fluid Corpus Manipulation: SuperCollider Objects Library

This repository hosts code for generating the SC objects and documentation resources for the Fluid Corpus Manipulation Project. Much of the actual code that does the exciting stuff lives in this repository's principal dependency, the Fluid Corpus Manipulation Library.

You can also download the most recent release or the most recent nightly build.

Note that on macOS you may need to dequarantine the binary files.

Pre-requisites

  • C++17 compliant compiler (clang, GCC or MSVC)
  • cmake
  • make (or Ninja or XCode or VisualStudio)
  • git
  • an internet connection
  • SuperCollider Source Code

CMake will automatically download the other dependencies needed

bash mkdir -p build && cd build cmake -DSC_PATH=</path/to/sc> .. make install

This will assemble a clean package in release-packaging/FluidCorpusManipulation.

An alternative to setting up / running CMake directly on the command line is to install the CMake GUI, or use to use the curses GUI ccmake.

Also, with CMake you have a choice of which build system you use.

  • The default on macOS and Linux is Unix Makefiles. On macOS you can also use Xcode by passing -GXcode to CMake when you first run it.
  • The default on Windows is the latest version of Visual Studio installed. However, Visual Studio can open CMake files directly as projects, which has some upsides. When used this way, CMake variables have to be set via a JSON file that MSVC will use to configure CMake.

Using Manual Dependencies

In some cases you may want to use your own copies of the required libraries. Unless specified, the build system will download these automatically. To bypass this behaviour, use the following cache variables:

  • FLUID_PATH: location of the Fluid Corpus Manipulation Library
  • FLUID_DOCS_PATH: location of fluid-docs repository (e.g. for debugging documentation generation)
  • EIGEN_PATH location of the Eigen library
  • HISS_PATH location of the HISSTools library

For example, use this to us your own copy of the Fluid Corpus Manipulation Library:

cmake -DSC_PATH=<location of your SC source> -DFLUID_PATH=<location of Fluid Corpus Manipulation Library> ..

To find out which branches / tags / commits of these we use, look in the top level CMakeLists.txt of the Fluid Corpus Manipulation Library for the FetchContent_Declare statements for each dependency.

Compiling for different CPUs

The build system generally assumes an x86 cpu with AVX instructions (most modern x86 CPUs). To build on another kind of CPU (e.g. older than 2012) you can use the FLUID_ARCH cache variable to pass specific flags to your compiler. For example use -DFLUID_ARCH=-mcpu=native to optimize for your particular CPU.

For ARM, we use the following default set of flags (with the Bela in mind):

-march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon ======= This will assemble a package in release-packaging.

Credits

FluCoMa core development team (in alphabetical order)

Owen Green, Gerard Roma, Pierre Alexandre Tremblay

Other contributors (in alphabetical order):

James Bradbury, Francesco Cameli, Alex Harker, Ted Moore

--

This project has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement No 725899).

FluidAmpFeature
Extension
Superclass:
FluidRTUGen
FluidAmpGate
Extension
Superclass:
FluidRTUGen
FluidAmpSlice
Extension
Superclass:
FluidRTUGen
FluidAudioTransport
Extension
Superclass:
FluidRTUGen
FluidBufAmpFeature
Extension
Superclass:
FluidBufProcessor
FluidBufAmpFeatureTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufAmpGate
Extension
Superclass:
FluidBufProcessor
FluidBufAmpGateTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufAmpSlice
Extension
Superclass:
FluidBufProcessor
FluidBufAmpSliceTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufAudioTransport
Extension
Superclass:
FluidBufProcessor
FluidBufAudioTransportTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufChroma
Extension
Superclass:
FluidBufProcessor
FluidBufChromaTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufCompose
Extension
Superclass:
FluidBufProcessor
FluidBufComposeTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufFlatten
Extension
Superclass:
FluidBufProcessor
FluidBufFlattenTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufHPSS
Extension
Superclass:
FluidBufProcessor
FluidBufHPSSTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufLoudness
Extension
Superclass:
FluidBufProcessor
FluidBufLoudnessTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufMFCC
Extension
Superclass:
FluidBufProcessor
FluidBufMFCCTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufMelBands
Extension
Superclass:
FluidBufProcessor
FluidBufMelBandsTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufNMF
Extension
Superclass:
FluidBufProcessor
FluidBufNMFCross
Extension
Superclass:
FluidBufProcessor
FluidBufNMFCrossTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufNMFSeed
Extension
Superclass:
FluidBufProcessor
FluidBufNMFSeedTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufNMFTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufNoveltyFeature
Extension
Superclass:
FluidBufProcessor
FluidBufNoveltyFeatureTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufNoveltySlice
Extension
Superclass:
FluidBufProcessor
FluidBufNoveltySliceTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufOnsetFeature
Extension
Superclass:
FluidBufProcessor
FluidBufOnsetFeatureTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufOnsetSlice
Extension
Superclass:
FluidBufProcessor
FluidBufOnsetSliceTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufPitch
Extension
Superclass:
FluidBufProcessor
FluidBufPitchTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufProcessor
Extension
Superclass:
FluidServerObject
FluidBufSTFT
Extension
Superclass:
FluidBufProcessor
FluidBufScale
Extension
Superclass:
FluidBufProcessor
FluidBufScaleTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufSelect
Extension
Superclass:
FluidBufProcessor
FluidBufSelectEvery
Extension
Superclass:
FluidBufProcessor
FluidBufSelectEveryTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufSelectTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufSineFeature
Extension
Superclass:
FluidBufProcessor
FluidBufSineFeatureTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufSines
Extension
Superclass:
FluidBufProcessor
FluidBufSinesTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufSpectralShape
Extension
Superclass:
FluidBufProcessor
FluidBufSpectralShapeTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufStats
Extension
Superclass:
FluidBufProcessor
FluidBufStatsTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufThreadDemo
Extension
Superclass:
FluidBufProcessor
FluidBufThreadDemoTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufThresh
Extension
Superclass:
FluidBufProcessor
FluidBufThreshTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufToKr
Extension
Superclass:
FluidBufTransientSlice
Extension
Superclass:
FluidBufProcessor
FluidBufTransientSliceTrigger
Extension
Superclass:
FluidProxyUgen
FluidBufTransients
Extension
Superclass:
FluidBufProcessor
FluidBufTransientsTrigger
Extension
Superclass:
FluidProxyUgen
FluidChroma
Extension
Superclass:
FluidRTMultiOutUGen
FluidDataObject
Extension
Superclass:
FluidDataSet
Extension
Superclass:
FluidDataObject
FluidDataSetQuery
Extension
Superclass:
FluidDataObject
FluidDataSetWr
Extension
Superclass:
FluidBufProcessor
FluidDataSetWrTrigger
Extension
Superclass:
FluidProxyUgen
FluidFilesPath
Extension
Superclass:
FluidGain
Extension
Superclass:
UGen
FluidGrid
Extension
Superclass:
FluidModelObject
FluidHPSS
Extension
Superclass:
FluidRTMultiOutUGen
FluidKDTree
Extension
Superclass:
FluidModelObject
FluidKDTreeQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidKMeans
Extension
Superclass:
FluidModelObject
FluidKMeansQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidKNNClassifier
Extension
Superclass:
FluidModelObject
FluidKNNClassifierQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidKNNRegressor
Extension
Superclass:
FluidModelObject
FluidKNNRegressorQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidKrToBuf
Extension
Superclass:
FluidLabelSet
Extension
Superclass:
FluidDataObject
FluidLoadFolder
Extension
Superclass:
FluidLoudness
Extension
Superclass:
FluidRTMultiOutUGen
FluidMDS
Extension
Superclass:
FluidModelObject
FluidMFCC
Extension
Superclass:
FluidRTMultiOutUGen
FluidMLPClassifier
Extension
Superclass:
FluidModelObject
FluidMLPClassifierQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidMLPRegressor
Extension
Superclass:
FluidModelObject
FluidMLPRegressorQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidMelBands
Extension
Superclass:
FluidRTMultiOutUGen
FluidMessageResponse
Extension
Superclass:
Object
FluidModelObject
Extension
Superclass:
FluidDataObject
FluidNMFFilter
Extension
Superclass:
FluidRTMultiOutUGen
FluidNMFMatch
Extension
Superclass:
FluidRTMultiOutUGen
FluidNMFMorph
Extension
Superclass:
FluidRTUGen
FluidNRTProcess
Extension
Superclass:
Object
FluidNormalize
Extension
Superclass:
FluidModelObject
FluidNormalizeQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidNoveltyFeature
Extension
Superclass:
FluidRTUGen
FluidNoveltySlice
Extension
Superclass:
FluidRTUGen
FluidOSCPatternInversion
Extension
Superclass:
OSCMessageDispatcher
FluidOnsetFeature
Extension
Superclass:
FluidRTUGen
FluidOnsetSlice
Extension
Superclass:
FluidRTUGen
FluidPCA
Extension
Superclass:
FluidModelObject
FluidPCAQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidPitch
Extension
Superclass:
FluidRTMultiOutUGen
FluidPlotter
Extension
Superclass:
FluidViewer
FluidPlotterPoint
Extension
Superclass:
FluidProcessSlices
Extension
Superclass:
FluidProxyUgen
Extension
Superclass:
UGen
FluidRTMultiOutUGen
Extension
Superclass:
MultiOutUGen
FluidRTQuery
Extension
Superclass:
FluidProxyUgen
Extension
Superclass:
UGen
FluidRealTimeModel
Extension
Superclass:
FluidModelObject
FluidRobustScale
Extension
Superclass:
FluidModelObject
FluidRobustScaleQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidSKMeans
Extension
Superclass:
FluidModelObject
FluidSKMeansQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidSTFTPass
Extension
Superclass:
FluidRTUGen
FluidServerCache
Extension
Superclass:
FluidServerObject
Extension
Superclass:
FluidSineFeature
Extension
Superclass:
FluidRTMultiOutUGen
FluidSines
Extension
Superclass:
FluidRTMultiOutUGen
FluidSliceCorpus
Extension
Superclass:
FluidSpectralShape
Extension
Superclass:
FluidRTMultiOutUGen
FluidStandardize
Extension
Superclass:
FluidModelObject
FluidStandardizeQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidStats
Extension
Superclass:
MultiOutUGen
FluidTransientSlice
Extension
Superclass:
FluidRTUGen
FluidTransients
Extension
Superclass:
FluidRTMultiOutUGen
FluidUMAP
Extension
Superclass:
FluidModelObject
FluidUMAPQuery
Extension
Superclass:
FluidRTMultiOutUGen
FluidViewer
Extension
Superclass:
FluidWaveform
Extension
Superclass:
FluidViewer
FluidWaveformAudioLayer
Extension
Superclass:
FluidWaveformFeaturesLayer
Extension
Superclass:
FluidViewer
FluidWaveformImageLayer
Extension
Superclass:
FluidWaveformIndicesLayer
Extension
Superclass:
FluidViewer
TestFluidCorpusManipulationServer
Extension
Superclass:
UnitTest
1.0.7
Date
2024-04-02
Git hash
34a5435159015945b4a29ab924340f8ad25c8644
nightly
Date
2024-03-01
Git hash
ef87dd873d4f63f30f37b904cf75103ef176eb8b
1.0.6
Date
2023-03-28
Git hash
386d174a592084416343c38670f22e6f538a557b
1.0.5
Date
2022-12-15
Git hash
5bb42457607590b3431421c8e1e80e132d81c209
1.0.4
Date
2022-08-16
Git hash
401cc00339d7a072add0293e05cec938f3cdf5f0
1.0.3
Date
2022-08-12
Git hash
39860d14d7669d37ce4a0d0e3661f3227ecb8646
1.0.2
Date
2022-07-07
Git hash
2ca6e583ca0766318bc710922b83bdbfc6ec5851
1.0.1
Date
2022-06-30
Git hash
322c4454df0c16e3b2a522e82fdf2bf88cfc807e
1.0.0-TB2.beta7
Date
2022-06-14
Git hash
6bd82bfe12b95261a70ef36d77274900995217ef
1.0.0-TB2.beta6
Date
2022-03-30
Git hash
229b46b11d7c5072b3342e6579fc428f80d674d0
1.0.0-TB2.beta5
Date
2022-02-22
Git hash
f171d57ef80bc569f8a049a8d554573259dda8c0
1.0.0-nightly
Date
2021-11-04
Git hash
e5c75cf3bb636a41a4b69fef03d34ba88833b6b2
1.0.0-TB2.beta4
Date
2021-11-04
Git hash
aabbe2d58d123bc129dc94414bd2fef09291f6c2
1.0.0-TB2.beta3
Date
2021-10-25
Git hash
6cc68275a5ec36bb878c73430d917cfe1fd361df
1.0.0-TB2.beta2
Date
2021-05-31
Git hash
3fbe279b9b1b3af77cf29e8f0faaabab6f0e4808
TB2-beta01
Date
2021-04-29
Git hash
b9408a11e37e39f4a032fb0fad630a4bd731e55c
TB2-Alpha08
Date
2021-01-17
Git hash
d4648c06a142666166b0e2c16d6c80e6cc89e686
TB2-Alpha07
Date
2020-12-22
Git hash
8b3a78a2f9615470775d74bb9c529a2c70d37c28
9dcd48e-8621e4e-8684031
Date
2020-10-06
Git hash
6926dd29f1b83afb38dc4d24e6009f814bdba8a0
TB2-Alpha06
Date
2020-09-24
Git hash
25c2c44d6591b0858b559ddb4c1112684db89337
TB2-Alpha05
Date
2020-08-06
Git hash
25ffc7ce3d9a3253881a1791461c35a30ed43d48
TB2-Alpha04c
Date
2020-07-19
Git hash
1bd89ac84881cdaa3e4095c9c6bc0ea230687661
tb2-alpha04b
Date
2020-07-18
Git hash
de6fa021e6591f776948093b1d21b525fba0de8b
tb2-alpha04a
Date
2020-07-17
Git hash
5bc063c6c79e8aa8f5905b4e300c9f1dadbde212
tb2-alpha04
Date
2020-07-15
Git hash
f14012e486158278fbd1e0ed60f3daf80fff312c
TB2-alpha03
Date
2020-06-12
Git hash
e94c9e48ecb52b87b1af779391c1fca0a9312135
f9fb-3e77-c874
Date
2020-06-04
Git hash
4d8f6c543190a9f96f2569ba937cf48bd0eb1ee8
tb2-alpha02
Date
2020-05-20
Git hash
5706617a820efb8c5622f0ac107b6f87e54dfb1b
1.0.0-RC1
Date
2020-03-30
Git hash
a10c3c5db165618bfdf39da2f225476d3bd6452f
1.0.0-cp1
Date
2020-03-19
Git hash
1a8d5333f8cf531c8f7dc6827726b90d82097485
TB2-alpha01
Date
2019-12-05
Git hash
71b53f13d44a837fccb64cffb333a372ee2f8809
beta02
Date
2019-10-08
Git hash
d4183ff4afba03378765e977be4262d8f14ba4a9
beta01
Date
2019-08-26
Git hash
590035abc9fcf1c0109805191190bc8ee6928b67
beta00
Date
2019-07-08
Git hash
e28eb3e9d9afef9b08ef9ed299b3a32f6d2ad55c
alpha08
Date
2019-06-15
Git hash
353b35f3da3fb53dbc039a122ff26328f5868fa7
alpha07
Date
2019-06-04
Git hash
f821f2b374851d1d81f2172fad4a88e4c92b1f0b
alpha06
Date
2019-05-19
Git hash
9497dd566f6fdac54942c04392ae14b03b1b752d
alpha05
Date
2019-05-09
Git hash
eab93b3b838638ea59335afc07972d848c460664
alpha04a
Date
2019-04-07
Git hash
e4a4ce1f8402997d7e4af7c115a886a4b3d6afbf
alpha04
Date
2019-04-04
Git hash
c5ae47037ee0bd6eba41ec44738b011dbcefdfc7
alpha03
Date
2019-01-31
Git hash
0917682a805c1a39f4bb8e86e66932bbd18386b0
alpha02a
Date
2018-11-17
Git hash
bde0a18a07e705887fea487180448bae4b7f54c5
alpha01
Date
2018-09-22
Git hash
a529281d2abc0d998e9e73543fd4b9f13270f5f1

Repository

URL

https://github.com/flucoma/flucoma-sc

Since

2018-07-10

Last update

2024-09-06

Current version

1.0.7

Quark info

Possible dependcies

Possible dependants

TimeStretch