Fluid Corpus Manipulation Toolkit:
Filter:
FluCoMa/Guides (extension) | Libraries > FluidCorpusManipulation

Fluid Corpus Manipulation Toolkit
ExtensionExtension

The FluCoMa toolkit to analyse, transform and learn from sounds

Description

The Fluid Corpus Manipulation toolkit provides an open-ended, loosely coupled set of objects for exploring and music making with collections of sound. It includes tools for slicing, analysing, decomposition and transforming audio, as well as a suite of objects for exploring and organisng using machine learning.

Almost all objects for audio analysis or transformation have audio-rate and buffer-based versions, and there are custom server-side containers for data analysis.1

Many useful examples can be found in the help files as well as in the example folder, which is here:

Contents

Slice Audio

on signalson buffersdigest
FluidAmpGateFluidBufAmpGateEvents from amplitude enevelope
FluidAmpSliceFluidBufAmpSliceOnsets from amplitude envelope
FluidOnsetSliceFluidBufOnsetSliceSpectral onset detector
FluidTransientSliceFluidBufTransientSliceTransient model onset detector
FluidNoveltySliceFluidBufNoveltySliceNovelty based onset detection on a choice of descriptors

Analyse Audio

on signalson buffersdigest
FluidPitchFluidBufPitchChoice of pitch descriptors
FluidLoudnessFluidBufLoudnessLoudness Descriptor
FluidMelBandsFluidBufMelBandsEnergy in Mel Bands
FluidMFCCFluidBufMFCCTimbral Descriptor with Mel Frequency Cepstral Coefficients
FluidSpectralShapeFluidBufSpectralShapeSeven Spectral Shape Descriptors
FluidChromaFluidBufChromaPitch Classes Descriptor
FluidNMFMatchReal-time activation of NMF bases
FluidBufNMFSeedQuick starting estimates for NMF components using Singular Value Decomposition
FluidBufSTFTPerform STFT / ISTFT on Buffers
FluidAmpFeatureFluidBufAmpFeatureDetrending Amplitude Envelope Descriptor
FluidNoveltyFeatureFluidBufNoveltyFeatureNovelty descriptor based on a choice of analysis descriptors
FluidOnsetFeatureFluidBufOnsetFeatureDescriptor comparing spectral frames using a choice of comparisons
FluidSineFeatureFluidBufSineFeatureSinusoidal peak extraction

Decompose Audio

on signalson buffersdigest
FluidSinesFluidBufSinesDecompose into sines + residual
FluidTransientsFluidBufTransientsDecompose into transients + residual
FluidHPSSFluidBufHPSSDecompose into 'harmonic' and 'percussive' layers
FluidBufNMFUse Nonnegative Matrix Factorisation to explore and decompose sounds

Transform Audio

on signalson buffersdigest
FluidAudioTransportFluidBufAudioTransportInterpolate between sounds using Optimal Transport
FluidNMFFilterFilter sound using NMF bases
FluidNMFMorphMorph between sounds using NMF components
FluidBufNMFCrossCross synthesise buffers using NMF components

Analyse Data

Containers

FluidDataSetContainer that associates data points with identifiers
FluidLabelSetContainer of labels associated with IDs

Analyse Data

FluidStatsFluidBufStatsCompute statistics

Preprocessing

FluidNormalizeNormalize FluidDataSets and Buffers
FluidStandardizeStandardize FluidDataSets and Buffers
FluidRobustScaleScale FluidDataSets and Buffers using order statistics

Searching and Querying

FluidKDTreeNearest Neighbour queries on FluidDataSet
FluidDataSetQueryConstruct custom queries on FluidDataSet

Supervised Machine Learning

FluidKNNRegressorRegression by Nearest Neighbour modelling
FluidKNNClassifierClassification by Nearest Neighbour modelling
FluidMLPRegressorRegression using Multilayer Perceptron model
FluidMLPClassifierClassification by Nearest Neighbour modelling

Unsupervised Machine Learning

FluidPCAPrincipal Component Analysis for preprocessing and dimension reduction
FluidMDSMultidimensional Scaling for dimension reduction
FluidKMeansK-Means clustering
FluidSKMeansSpherical K-Means clustering
FluidUMAPDimension reduction with UMAP algorithm
FluidGridTransform a data set of two dimensional points into a two dimensional grid using the Munkres Algorithm.

Helpers

Buffer Utilities

FluidBufComposeCopy, slice, stack, mix concatenate. All the things you've wanted to do with buffers...
FluidBufScaleRemap range of values (like linlin etc.)
FluidBufThreshZero elements below threshold
FluidBufSelectSelect range (frame-wise or channel wise)
FluidBufSelectEverySelect every N elements (frame-wise or channel wise)
FluidBufFlattenFlatten multichannel data into single channel 'point'
FluidBufToKrRead data from a buffer into a Kr stream
FluidKrToBufWrite data into a buffer from a Kr Stream

Viewers

FluidPlotterView a FluidDataSet in a plotter window
FluidWaveformView an audio buffer with overlays, such as slices from a FluCoMa slicer

Corpus Building

FluidLoadFolderLoad a folder of sounds into a Buffer
FluidSliceCorpusBatch-slice a corpus
FluidProcessSlicesBatch-analyse slices

[1] - This toolbox was made possible thanks to the FluCoMa project funded by the European Research Council ( https://erc.europa.eu/ ) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 725899).