diff --git a/doc/BufNNDSVD.rst b/doc/BufNMFSeed.rst similarity index 89% rename from doc/BufNNDSVD.rst rename to doc/BufNMFSeed.rst index 46a451c..1c4398d 100644 --- a/doc/BufNNDSVD.rst +++ b/doc/BufNMFSeed.rst @@ -6,7 +6,7 @@ :description: Find Initial Bases and Activations for BufNMF :discussion: - BufNNDSVD uses Nonnegative Double Singular Value Decomposition which can help decide how to initialise BufNMF, by suggesting how many components to request (and what bases and activations to seed) in order to account for a certain percentage of the variance in a buffer. In general, using this process to seed a BufNMF decomposition should substantially increase the speed with which BufNMF converges and avoid especially poor local minima. + BufNMFSeed uses Nonnegative Double Singular Value Decomposition which can help decide how to initialise BufNMF, by suggesting how many components to request (and what bases and activations to seed) in order to account for a certain percentage of the variance in a buffer. In general, using this process to seed a BufNMF decomposition should substantially increase the speed with which BufNMF converges and avoid especially poor local minima. See http://nimfa.biolab.si/nimfa.methods.seeding.nndsvd.html and https://www.sciencedirect.com/science/article/abs/pii/S0031320307004359 for more info. diff --git a/example-code/sc/BufNNDSVD.scd b/example-code/sc/BufNMFSeed.scd similarity index 84% rename from example-code/sc/BufNNDSVD.scd rename to example-code/sc/BufNMFSeed.scd index 0dab4b0..948d8ca 100644 --- a/example-code/sc/BufNNDSVD.scd +++ b/example-code/sc/BufNMFSeed.scd @@ -11,7 +11,7 @@ code:: //how many bases do I need to decompose the buffer while accounting for 90% of the variance? ( Routine{ - FluidBufNNDSVD.process(s, ~src, ~bases, ~activations, coverage: 0.9, method: 1).wait; + FluidBufNMFSeed.process(s, ~src, ~bases, ~activations, coverage: 0.9, method: 1).wait; "% bases".format(~bases.numChannels).postln; }.play; ) @@ -19,7 +19,7 @@ Routine{ //try the same process with less of the variance preserved ( Routine{ - FluidBufNNDSVD.process(s, ~src, ~bases, ~activations, coverage: 0.5).wait; + FluidBufNMFSeed.process(s, ~src, ~bases, ~activations, coverage: 0.5).wait; "% bases".format(~bases.numChannels).postln; }.play )