Releases: rconstanzo/SP-tools
Releases · rconstanzo/SP-tools
SP-Tools (alpha v0.9)
Changelog
v0.9 - Scope, Ease of Use, and Audio Processing
- BREAKING CHANGE - objects with "train" in the name (
sp.classtrain
,sp.clustertrain
,sp.setuptrain~
) have been renamed to be more consistent with other objects (sp.classcreate
,sp.clustercreate
,sp.setupcreate~
) - BREAKING CHANGE -
sensitivity
parameter in all onset-based objects has been fine-tuned to work across a wider range of instruments and materials so your previous settings may likely need adjusting - BREAKING CHANGE -
threshold
parameter renamed tofloor
in all onset-based objects (sp.onset~
,sp.onsetframe
,sp.descriptors~
,sp.melbands~
,sp.mfcc~
,sp.sines~
, etc...) - BREAKING CHANGE -
threshold
parameter renamed tosensitivity
insp.novelty~
keeping it inline with other onset detection objects macro controls (sp.onset~
,sp.spectralonset~
) - BREAKING CHANGE -
mode
parameter renamed totimestretchmode
in sample playback objects keeping to remove clash with the newmode
attribute - BREAKING CHANGE -
input
mode order and modes changed on all onset-based object (sp.onsetframe
,sp.descriptors~
,sp.melbands~
,sp.mfcc~
,sp.sines~
, etc...) - BREAKING CHANGE - clusters trained with
sp.clustertrain
now count from 1 instead of 0 and are returned as ints instead of a symbols (so a 1 instead of a "1") - BREAKING CHANGE -
sp.classifierdisplay
@drum
attribute reworked to@defaultdisplay
- BREAKING CHANGE - fade in/out and curve parameters renamed in
sp.corpusplayer~
to be consistent with the newsp.sampler~
(attack
=in
,hold
=out
(and inverted),attackcurve
=incurve
,holdcurve
=outcurve
) - overview patch (
SP-Tools Overview.maxpat
) completely revamped with better discoverability and package navigation - added snippets for common use cases to SP-Tools package (accessible via the snippets side panel)
- restructured Max Package folders to make it easier to navigate and add additional corpora
- restructured github repo to separate versions (Max, pd), Max for Live devices, and additional corpora
- added class-combined versions of all descriptor analysis objects making it easier to get classification combined with descriptor analysis (
sp.classdescriptors~
,sp.classmfccs~
, etc...) - added
sp.controllermatch
to browse corpora using a single parameter - added
sp.controllerptich
to create pitch-quantized melodic phrases from a single parameter - added zero-latency convolution (
sp.convolver~
) which allows for reverb, amp sim, mic correction, and any other convolution-based audio processes - added convolution-based corpus matching via
sp.corpusconvolver~
which combines corpus matching and realtime convolution - added combined abstractions for common processes (
sp.corpusanalysis~
,sp.corpussampler~
) - substantially improved core concatenation algorithm
- added radius and neighbor selection in concat matching
- added pitch and loudness compensation to concat playback
- added
transpose
andpretranspose
to concat playback - added
sp.corpusclustermatch
for creating clusters from corpora, allowing for grouping of similar sounds within a corpus (e.g. kick, snare, hat, etc...) - added objects for shaping and processing descriptor lists (
sp.descriptorcurves
,sp.descriptorreplace
) - added an envelope follower with some quirky features (
sp.envelope~
) - added
sp.gridscale
for scaling and shifting XY-based controller inputs (combines well withsp.gridmatch
and the newsp.boppad
) - added pitch and time quantization with
sp.quantizepitch
andsp.quantizetime~
- added data and clock sequencers with
sp.sequenceclock~
andsp.sequencedata~
- added Schmitt filter for descriptor filtering for when you need hysterisis in the filtering (
sp.schmitt
) - added various audio processes for splitting and decomposing signals (
sp.scatter~
,sp.scramble~
,sp.shatter~
,sp.shattercreate~
,sp.sift~
,sp.smear
) - added spectral-difference onset detection (
sp.spectralonset~
) - added new kitchensink descriptor type, as a combination of descriptor/melband/MFCC buffers which comes in onset, real-time, and class-based variants (
sp.kitchensink~
,sp.kitchensinkrt~
,sp.classkitchensink~
) - added neural network classifier type to
sp.classtrain
,sp.clustertrain
, andsp.classmatch
for greatly improved speed and accuracy - added support for the BopPad controller (
sp.boppad
) - added input modes to all the physical modeling objects (
sp.karplus~
,sp.resonators~
,sp.shaker~
,sp.waveguidemesh~
) allowing for realtime actuation of the models, in addition to onset/trigger-based actuation - added ability to reverse and loop samples, and jump directly to sample position in
sp.corpusplayer~
- added
@mode
attribute tosp.onsetframe~
to switch between amplitude and spectral onset detection (also impacts all onset-based descriptors objects (sp.descriptors~
,sp.melbands~
,sp.mfcc~
,sp.sines~
, etc...)) - added ability to seed clusters in
sp.clustertrain
- added utility for subdividing a spaces of arbitrary size and steps (
sp.slicecurve
) - added utility for time-alining trigger/gates with descriptor output (
sp.triggeralign~
) - added utility for increasing the length of triggers and gates (
sp.triggerlength~
) - added AHR-style envelope with
sp.triggershape~
- improved time-alignment for trigger/gate outputs of descriptors objects (
sp.descriptors~
,sp.melbands~
,sp.mfcc~
,sp.sines~
, etc...) - reworked
sp.classifierdisplay
to automatically load class names from all class matching objects - reworked
sp.descriptordisplay
to automatically display the correct type of descriptor - added
dump
output message to all class-based objects (sp.classmatch
,sp.classdescriptors
, etc...) - added mic correction (via a new input mode attribute
@input 5
) to all onset-based descriptor analysis objects for better descriptor results when using only an SP sensor - added
@buffer
attribute tosp.corpusplayer~
to simplify non corpus-based sample playback - added
@history
attributes to all realtime descriptor objects (sp.descriptorsrt~
,sp.melbandsrt~
,sp.mfccrt~
,sp.sinesrt~
) to smooth descriptors - added
@input
modes tosp.onset~
allowing for optional filters optimized for different input types - added
onthreshold
andoffthreshold
tosp.novelty~
given you finer grain control of thresholding - improved (and fixed) melband transposition in
sp.datatranspose
- added optional arguments to all corpus matching abstractions to load corpus and setups automatically (e.g.
sp.corpusmatch corpus_china setup_snare
will automatically load the China Cymbal corpus and load/enable the snare setup) - added ability to load default files to all
.json
loading objects (e.g.sp.resonators~ resonators_bell
) - added header to every
.json
file to differentiate them (you should reanalyze all your corpora, classes, and setups) - when loading a setup into any corpus matching abstraction (
sp.corpusmatch
,sp.corpusconvolver~
,sp.corpussampler~
) it will automatically enable that setup - improved default starting values in
sp.controllers
so it gives useful results while it autocalibrates - added ability to trigger
sp.triggerbounce~
andsp.triggercloud~
with bangs as well as trigger/gates - added ability to trigger synthesis objects (
sp.lpg~
,sp.karplus~
,sp.resonators~
,sp.waveguidemesh~
) with bangs as well as triggers/gates - added 8 more abstractions to the puredata version
- changed FFT settings for
medium
andall
sizes for corpus and setup analysis to have better pitch accuracy in the larger time scales. You should re-analyze all your own corpora and setups. - you can now load mp3 files into
sp.corpuscreate
- fixed M4L device loading bug(s)
- abstractions that only function as part of an existing abstraction (
sp.lpgcore~
,sp.folderloop
, etc...) have had theirsp.
prefix replaced withwidget
and have had their help/reference pages removed
SP-Tools (alpha v0.8)
Changelog
v0.8 - Sines, Synthesis/Modelling, and Documentation
- added synthesis and physical modelling objects (
sp.karplus~
,sp.resonators~
,sp.resonaroscreate~
,sp.shaker~
,sp.sinusoidplayer~
,sp.sinusoids~
,sp.waveguidemesh~
,sp.lpg~
,sp.lpgcore~
) - added Max for Live devices for some of the new processes (
Resonators
,Sinusoids
,Waveguide Mesh
) - added new descriptor type (sines) and corresponding objects (
sp.sineframe
,sp.sines~
,sp.sinesrt~
) (you should reanalyze all your corpora) - added utilities for filtering and creating clusters of triggers and gates (
sp.probability~
,sp.triggerbounce~
,sp.triggercloud~
,sp.triggerframe~
) - added absolute start and length parameters to
sp.corpusplayer~
(viastartabsolute
andlengthabsolute
messages) - added scramble transformation to
sp.databending
- added slew parameter to
sp.speed
- added ability to loop floats and ints (as well as conventional descriptors) to
sp.datalooper~
- added proper Max documentation via reference files, autocomplete, etc...
- added sample rate adaptation to all realtime and offline analyses. previously things were optimized and assumed for 44.1k/48k but now everything works at every sample rate (up to 192k)
- added some puredata abstractions and help files to the package (in the
puredata
folder)
SP-Tools (alpha v0.7)
Changelog
v0.7 - SP-Tools v0.7 - Ramps, Data Processing, Novelty, and Timestretching
- BREAKING CHANGES - all objects that had a separate control inlet, now take those messages in the left-most inlet
- added new "ramp" objects for structural and gestural changes (
sp.ramp
,sp.ramp~
) - added new "data" objects for transforming, looping, and delaying descriptors (
sp.databending
,sp.datadelay
,sp.datagranular
,sp.datalooper~
,sp.datatranspose
) - added novelty-based segmentation for determining changes in material type (
sp.novelty~
) - added timestretching functionality to
sp.corpusplayer~
and theCorpus Match
M4L device
SP-Tools (alpha v0.6)
Changelog
v0.6 - SP-Tools v0.6 Video Overview/Walkthrough
- added Max for Live devices (16 total) which cover (nearly) all the functionality of SP-Tools
- Max codebase further commented and tidied
SP Tools (alpha v0.5)
Changelog
v0.5 - SP-Tools v0.5 Video Overview
- added Max for Live devices for some of the main/flagship functionality (
Concat Match
,Controllers
,Corpus Match
,Descriptors
,Speed
) - added
sp.gridmatch
abstraction for generic controller-based navigation of corpora - added support for the Erae Touch controller (
sp.eraetouch
) - improved path stability when loading example corpora