Skip to content

Commit dc45022

Browse files
author
James Bradbury
authored
[Release] 1.0.0 (#158)
* mfcc rst and sc help file * mfcc sc examples * mfcc output * mfcc helpfile readability * BufMFCC udpates * update bufonsetslice docs slightly (#87) * fix audio transport segmentation of discussion and desc * fix audio transport segmentation of discussion and desc (#88) * add missing see alsos * optional args: add to C++ wrapper * ParamDump and python: add choices param type * Json driver (#35) * Make jinja rendering conditional on driver having a template * minimal driver for raw JSON output * cmake target for raw JSON * fix cmake output directory * add command line option for raw * remove spurious item from raw driver * add back changes that dealt with conditional template rendering * add a github action for creating a basic API on actions Co-authored-by: James Bradbury <[email protected]> * Update json_api.yml * Update json_api.yml * Update json_api.yml * change name of raw output to api.json * Update json_api.yml * remove indentation on api * typo in UMAP * [Docs] OnsetSlice and BufOnsetSlice (#91) * update bufonsetslice text * onsetslice update * ted's changes * copy changes to bufonsetslice also * revamp MelBands and BufMelBands RST, update SC example code * *melbands description * added a hyphen * pitch and buf pitch RST * added link to the learn page * edited normalize description * pitch sc help files * BufFlatten RST and SC examples * buf thresh * sc help file * typo in fluid pitch sc example code * bufthresh rst * typo * james' feedback * add .ds_store to gitignore * pa feedback * pa feedback * pa feedback * PA feedback * [Docs] Update Normalize Docs (#76) * update normalize entry * update description * pa's requests Co-authored-by: James Bradbury <[email protected]> * [Docs] Slicer Feature Objects (#101) * add skeleton of bufnoveltyfeature * caveat novelty feature * add onset feature * remove space * add bufampfeature * realtime amp feature * update output of AmpFeature * clean up the language * caveats for bufonset feature * add onset feature * Add JSON generators for Slicers' feature counterparts * rt noveltyfeature * fix various errors * robots in disguise * change feature -> algorithm * cleanup noveltyfeature * make noveltyfeature more consistent * remove superfluous spaces * fix description * fix reference to buffer version in rt object * add padding * sc example code for slicer-features Co-authored-by: weefuzzy <[email protected]> Co-authored-by: Ted Moore <[email protected]> * changing preset and interface for noveltyslice examples * Add argument handlers for const DataSet / LabelSet * Max/PD: Generate docs for control-in objects (input size and autosize) * Enhance/max params (#104) * CMake: Centralise C++ version and set to 17 * Wrapper: Handle new LongRuntimeMax parameter type * Doc generators: Handle new LongRuntimeMax type + rules for args in Max/PD * Add a `striprst` jinja filter for removing rst markup in templates (#107) Such as Max object level description tags * UMAP cmake reference to python sorted * typo * Wrapper and doc-gen update for new `maxFFTSize` * Buf stats (#103) * BufStats RST * BufStats ⚠️ * bufstats supercollider examples * re-organized descriptions * added table back in * typo * added url * bufcompose update (#95) * PCA inverseTransformPoint (#97) * PCA inverseTransformPoint * added inverseTransform to PCA RST * off by one white space 😠 * normalize the desc/disc of mfcc entries (#113) * HPSS Help file (RST) and SC examples (#81) * HPSS rst edited and SC examples created * pa feedback * Enhance/generate stubs (#119) * CMake: Generate cpp stubs, smooth out API for dependent projects * Remove old stubs and scripts * CMake: Ensure correct MSVC runtime by default * Correct variable setting logic in macro * CI: Debug CMAKE_MODULE_PATH * CMake: Try setting module path using explicit source dir for core * CI Debug: Print core/scripts * CMake: Correct typo * CMake: MSVC with bigobj, tidy up messages * set explicit UTF8 encoding when opening text * explicitly use utf8 for writing as well as reading * MDS RST & SC example code (#121) * MLPClassifier SC example code * MLPClassifier SC example code ⚠️ * MLPs SC example code and RSTs ⚠️ * ⚠️ * ⚠️ * wip * MLP RSTs * [FIX] this commit adds code to the SC templates to allow enums in the RST to appear in the species data * feedback * hidden -> hiddenLayers * ⚠️ * sc example ⚠️ * sc example code * bump * typo * removed cosine * weefuzzy and james feedback * fixed plot size * MLPRegressor & MLPClassifier RSTs & SC example Code (#109) * MLPClassifier SC example code * MLPClassifier SC example code ⚠️ * MLPs SC example code and RSTs ⚠️ * ⚠️ * ⚠️ * wip * MLP RSTs * [FIX] this commit adds code to the SC templates to allow enums in the RST to appear in the species data * feedback * hidden -> hiddenLayers * Standardize RST & SC examples (#117) * Standardize RST & SC example code * removed the 'invert' argument * added discussion * RobustScale (#118) * ⚠️ * RobustScale RST * RobustScale SC example code * bump * added discussion * KNNClassifier RST and SC example code (#127) * KNN ⚠️ * reset knnregressor.rst * Stats RST & SC examples (#124) * Stats RST and SC code * stats rst and sc code * feedback * PCA RST and SC Examples (#116) * PCA RST * PCA SC example code * sc example code with whitening example * added discussion * james' feedback Co-authored-by: James Bradbury <[email protected]> * Update Standardize.rst Fix indentation error that caused mis-parsing * maxFFTSize in SC driver is conditional on buffer-proc species (#129) * BufSTFT RST and SC example code (#112) * BufSTFT RST and SC example code * added discussion * typo * [Enhance] Learn platform link generation (#120) * update default transformer to handle learn links * update maxref template to acount for learn link * add link to templates discussion * compartmentalise the learn link derivation * update the supercollider driver which doesnt use default transform * use a regex instead of object map * update derivation of learn links * add test for link derivation * typo * bufnmf: adding resynthmode * resynthMode : camel case * Change size to history (#133) * BufNMFCross RST & SC example (#137) * NNDSVD (#138) * ⚠️ * BufNNDSVD RST & SC examples * NNDSVD RST with descriptions of method * add token for |buffer| * feedback Co-authored-by: James Bradbury <[email protected]> * NMFMorph (& species transformer[0]) (#135) * NMFMorph RST and SC examples * NMFMorph * NMFMorph (and species transformer[0]) * separate discussion and description * added comment about why autoassign is set twice Co-authored-by: James Bradbury <[email protected]> * put bar chart back in (#123) * KNNRegressor (#136) * KNNRegressor RST & SC examples * fixed sc code formatting * separate discussion and description! * (Buf)Transients(Slice) Family (#140) * transients RST * ⚠️ * ⚠️ * more sc examples for transients family * feedback from owen and alex * feedback round 1 * feedback * typos in rst * typos in knnclassifier~ (#142) * sc example code for BufNMF now includes resynthMode * deleted SC Guid YAML file * put spaces around hyperlinks * BufTransients SC example (Waveform only 2 sec.) * BufNNDSVD -> BufNMFSeed (#141) * change the doc * forgot to change the code sample file name * fix Loudness select in MLPRegressor example code * fix bad link in nmf morph (BufNMFCross was missing the buf part) * added inverse transform and inverse transform point to Normalize * better code for testing all flucoma objects help files * added argument k to KDTree RST * fixed a bad link in KNNClassifier RST * removed action arguments from RobustScale RST * fixed mistakes in RobustScale RST that was causing it to not render properly * added select argument to BufLoudness and Loudness RST (the rest coming soon...) * added pca whitening to PCA RST * adding select argument to appropriate RST files it would be nicer to have them in list form... TODO * added radius argument to KDTree RST * added channels argument to BufSelect RST * checked example code files that use 'select' for possible errors * found a bit more code needing resynthMode * [Enhance] Interp to Interplation in NMFMorph (#143) * typos in knnclassifier~ * change interp to interpolation for nmfmorph * SKMeans (#132) * skmeans doc commit * skmeans: attempt at better doc * example code a little more explicit * typos found in kmeans * update from @weefuzzy feedback - less untrue in most cases :) * <fit>transform<point> -> <fit>encode<point> * (Buf)AmpGate RST & SC examples (#122) * (Buf)AmpGate RST & SC examples * BufAmpGate help file ⚠️ * drum hit example ⚠️ * ⚠️ * gitignore to ignore vs code * pa feedback * added BufAmpGate maxSize parameter * [Fix] Fix Guide Links in RST (#147) * typos in knnclassifier~ * fix guide link * [Fix] LF line ending enforcement (#149) * typos in knnclassifier~ * enforce newline='\n' on template writing * interface changes * capitalise beatRemember * Fix `<o>` links to `buffer~` for max doc * Mop up vestigial scdoc syntax * correct reference to "class" in description * [fix] typos and errors (#153) * various typos * remove hyphen * more typos * various typos/non-grammatical errors * typos in example code * remove bufNum * fix low/mid/ min/median confusion * [docs] Update see-also content (#155) * update seealso * realign table * [docs] Buffer clients link to buffer management tutorial (#157) * if client starts with buf link to buffer management tutorial * use full name of guide * use name of .maxvig rather than name attribute of <vignette> * also dataset objects * proposed layout improvement (#154) * add outward links to RST and templat
1 parent 0c86d59 commit dc45022

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+441
-255
lines changed

doc/AmpFeature.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: AmpGate, AmpSlice, OnsetFeature, NoveltyFeature
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
67
:description: Calculate the amplitude differential feature in realtime.
78
:discussion:
89
:fluid-obj:`AmpSlice` uses the differential between a fast and a slow envelope follower to determine changes in amplitude. This object calculates the amplitude differential and copies it to an output buffer.

doc/AmpGate.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: BufAmpGate, AmpSlice, OnsetSlice, NoveltySlice, TransientSlice
6-
:description: Absolute amplitude threshold gate detector on a real-time signal
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
7+
:description: Absolute amplitude threshold gate detector on a realtime signal
78

89
:discussion:
910
AmpGate outputs a audio-rate, single-channel signal that is either 0, indicating the gate is closed, or 1, indicating the gate is open. The gate detects an onset (opens) when the internal envelope follower (controlled by ``rampUp`` and ``rampDown``) goes above a specified ``onThreshold`` (in dB) for at least ``minLengthAbove`` samples. The gate will stay open until the envelope follower goes below ``offThreshold`` (in dB) for at least ``minLengthBelow`` samples, which triggers an offset.

doc/AmpSlice.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: BufAmpSlice, AmpGate, OnsetSlice, NoveltySlice, TransientSlice
6-
:description: This class implements an amplitude-based slicer, with various customisable options and conditions to detect relative amplitude changes as onsets.
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
7+
:description: Implements an amplitude-based slicer, with various customisable options and conditions to detect relative amplitude changes as onsets.
78
:discussion:
8-
FluidAmpSlice is based on two envelop followers on a highpassed version of the signal: one slow that gives the trend, and one fast. Each have features that will interact. The example code below is unfolding the various possibilites in order of complexity.
9+
FluidAmpSlice is based on two envelope followers on a high-passed version of the signal: one slow that gives the trend, and one fast. Each has features that will interact. The example code below is unfolding the various possibilities in order of complexity.
910

10-
The process will return an audio steam with single sample impulses at estimated starting points of the different slices.
11+
The process will return an audio stream with single sample impulses at estimated starting points of the different slices.
1112

1213
:output: An audio stream with square envelopes around the slices. The latency between the input and the output is **max(minLengthAbove + lookBack, max(minLengthBelow,lookAhead))**.
1314

@@ -34,7 +35,7 @@
3435

3536
:control offThreshold:
3637

37-
The threshold in dB of the relative envelope follower to reset, aka to allow the differential envelop to trigger again.
38+
The threshold in dB of the relative envelope follower to reset, aka to allow the differential envelope to trigger again.
3839

3940
:control floor:
4041

doc/AudioTransport.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
:discussion:
1010
Interpolates between the spectra of two sounds using the optimal transport algorithm. This enables morphing and hybridisation of the perceptual qualities of each source linearly.
11-
See Henderson and Solomonm (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx
11+
See Henderson and Solomon (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx
1212

1313
https://arxiv.org/abs/1906.06763
1414

doc/BufAmpFeature.rst

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: BufAmpSlice, BufNoveltyFeature, BufAmpFeature, BufOnsetFeature
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
67
:description: Calculate the amplitude differential feature used by :fluid-obj:`BufAmpSlice`.
78
:discussion:
89
:fluid-obj:`BufAmpSlice` uses the differential between a fast and a slow envelope follower to determine changes in amplitude. This object calculates the amplitude differential and copies it to an output buffer.
@@ -28,7 +29,7 @@
2829

2930
:control numChans:
3031

31-
For multichannel sources, how many channel should be summed.
32+
For multichannel sources, how many channels should be summed.
3233

3334
:control features:
3435

@@ -60,7 +61,18 @@
6061

6162
:control padding:
6263

63-
Controls the zero-padding added to either end of the source buffer or segment. Possible values are 0 (no padding), 1 (default, half the window size), or 2 (window size - hop size). Padding ensures that all input samples are completely analysed: with no padding, the first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function. Mode 1 has the effect of centering the first sample in the analysis window and ensuring that the very start and end of the segment are accounted for in the analysis. Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material.
64+
Controls the zero-padding added to either end of the source buffer or segment. Padding ensures all values are analysed. Possible values are:
65+
66+
:enum:
67+
68+
:0:
69+
No padding - The first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function.
70+
71+
:1:
72+
Half the window size - The first sample is centred in the analysis window ensuring that the start and end of the segment are accounted for in the analysis.
73+
74+
:2:
75+
Window size minus the hop size - Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material.
6476

6577
:control action:
6678

doc/BufAmpGate.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
:digest: Gate Detection on a Bfufer
1+
:digest: Gate Detection on a Buffer
22
:species: buffer-proc
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: AmpGate, BufAmpSlice, BufOnsetSlice, BufNoveltySlice, BufTransientSlice
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
67
:description: Absolute amplitude threshold gate detector on audio in a buffer
78

89
:discussion:
@@ -79,7 +80,7 @@
7980

8081
:control highPassFreq:
8182

82-
The frequency of the fourth-order Linkwitz-Riley high-pass filter (https://en.wikipedia.org/wiki/Linkwitz%E2%80%93Riley_filter) applied to the signal signal to minimise low frequency intermodulation with very short ramp lengths. A frequency of 0 bypasses the filter.
83+
The frequency of the fourth-order Linkwitz-Riley high-pass filter (https://en.wikipedia.org/wiki/Linkwitz%E2%80%93Riley_filter) applied to the signal to minimise low frequency intermodulation with very short ramp lengths. A frequency of 0 bypasses the filter.
8384

8485
:control maxSize:
8586

doc/BufAmpSlice.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
:sc-categories: Libraries>FluidDecomposition
44
:sc-related: Guides/FluidCorpusManipulation
55
:see-also: AmpSlice, BufAmpGate, BufOnsetSlice, BufNoveltySlice, BufTransientSlice
6-
:description: This class implements an amplitude-based slicer,with various customisable options and conditions to detect relative amplitude changes as onsets.
6+
:max-seealso: peakamp~, meter~, snapshot~, slide~
7+
:description: Implements an amplitude-based slicer, with various customisable options and conditions to detect relative amplitude changes as onsets.
78
:discussion:
8-
FluidBufAmpSlice is based on two envelop followers on a highpassed version of the signal: one slow that gives the trend, and one fast. Each have features that will interact. The example code below is unfolding the various possibilites in order of complexity.
9+
FluidBufAmpSlice is based on two envelope followers on a high-passed version of the signal: one slow that gives the trend, and one fast. Each has features that will interact. The example code below is unfolding the various possibilities in order of complexity.
910

1011
The process will return a buffer which contains indices (in sample) of estimated starting points of different slices.
1112

@@ -30,7 +31,7 @@
3031

3132
:control numChans:
3233

33-
For multichannel sources, how many channel should be summed.
34+
For multichannel sources, how many channels should be summed.
3435

3536
:control indices:
3637

@@ -58,7 +59,7 @@
5859

5960
:control offThreshold:
6061

61-
The threshold in dB of the relative envelope follower to reset, aka to allow the differential envelop to trigger again.
62+
The threshold in dB of the relative envelope follower to reset, aka to allow the differential envelope to trigger again.
6263

6364
:control floor:
6465

doc/BufAudioTransport.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
:discussion:
1010
Interpolates between the spectra of two sounds using the optimal transport algorithm. This enables morphing and hybridisation of the perceptual qualities of each source linearly.
1111

12-
See Henderson and Solomonm (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx
12+
See Henderson and Solomon (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx
1313

1414
https://arxiv.org/abs/1906.06763
1515

doc/BufChroma.rst

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
:control source:
1717

18-
The index of the buffer to use as the source material to be analysed. The different channels of multichannel buffers will be processing sequentially.
18+
The index of the buffer to use as the source material to be analysed. The different channels of multichannel buffers will be processed sequentially.
1919

2020
:control startFrame:
2121

@@ -31,7 +31,7 @@
3131

3232
:control numChans:
3333

34-
For multichannel srcBuf, how many channel should be processed.
34+
For multichannel srcBuf, how many channels should be processed.
3535

3636
:control features:
3737

@@ -71,7 +71,18 @@
7171

7272
:control padding:
7373

74-
Controls the zero-padding added to either end of the source buffer or segment. Possible values are 0 (no padding), 1 (default, half the window size), or 2 (window size - hop size). Padding ensures that all input samples are completely analysed: with no padding, the first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function. Mode 1 has the effect of centering the first sample in the analysis window and ensuring that the very start and end of the segment are accounted for in the analysis. Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material.
74+
Controls the zero-padding added to either end of the source buffer or segment. Padding ensures all values are analysed. Possible values are:
75+
76+
:enum:
77+
78+
:0:
79+
No padding - The first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function.
80+
81+
:1:
82+
Half the window size - The first sample is centred in the analysis window ensuring that the start and end of the segment are accounted for in the analysis.
83+
84+
:2:
85+
Window size minus the hop size - Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material.
7586

7687
:control maxFFTSize:
7788

doc/BufCompose.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33
:sc-categories: Libraries>FluidDecomposition, UGens>Buffer
44
:sc-related: Guides/FluidCorpusManipulation, Classes/Buffer
55
:see-also: BufSelect, BufSelectEvery
6+
:max-seealso: poke~, peek~, index~, buffer~
67
:description:
78
A utility for manipulating the contents of buffers.
89

910
:discussion:
10-
This object is the swiss army knife for manipulating buffers and their contents. By specifing ranges of samples and channels to copy, as well as destination and source gains it can provide a powerful interface for performing actions such as a Left/Right to Mid/Side conversion and mixing down multichannel audio
11+
This object is the swiss army knife for manipulating buffers and their contents. By specifying ranges of samples and channels to copy, as well as destination and source gains it can provide a powerful interface for performing actions such as a Left/Right to Mid/Side conversion and mixing down multichannel audio
1112

1213
:process: This method triggers the compositing.
1314

@@ -16,39 +17,39 @@
1617

1718
:control source:
1819

19-
The bufNum of the source buffer.
20+
The name of the source buffer.
2021

2122
:control startFrame:
2223

2324
The starting point (in samples) from which to copy in the source buffer.
2425

2526
:control numFrames:
2627

27-
The duration (in samples) to copy from the source buffer. The default (-1) copies the full lenght of the buffer.
28+
The duration (in samples) to copy from the source buffer. The default (-1) copies the full length of the buffer.
2829

2930
:control startChan:
3031

3132
The first channel from which to copy in the source buffer.
3233

3334
:control numChans:
3435

35-
The number of channels from which to copy in the source buffer. This parameter will wrap around the number of channels in the source buffer. The default (-1) copies all of the buffer's channel.
36+
The number of channels from which to copy in the source buffer. This parameter will wrap around the number of channels in the source buffer. The default (-1) copies all of the buffer's channels.
3637

3738
:control gain:
3839

3940
The gain applied to the samples to be copied from the source buffer.
4041

4142
:control destination:
4243

43-
The bufNum of the destination buffer.
44+
The name of the destination buffer.
4445

4546
:control destStartFrame:
4647

4748
The time offset (in samples) in the destination buffer to start writing the source at. The destination buffer will be resized if the portion to copy is overflowing.
4849

4950
:control destStartChan:
5051

51-
The channel offest in the destination buffer to start writing the source at. The destination buffer will be resized if the number of channels to copy is overflowing.
52+
The channel offset in the destination buffer to start writing the source at. The destination buffer will be resized if the number of channels to copy is overflowing.
5253

5354
:control destGain:
5455

0 commit comments

Comments
 (0)