cleaning of arguments name and order in help files and class declaration

nix
Pierre Alexandre Tremblay 7 years ago
parent 563140fc0a
commit 06970d4b7b

@ -1,5 +1,5 @@
FluidBufHPSS{ FluidBufHPSS{
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, harmBufNum, percBufNum, resBufNum, pSize = 31, hSize = 17, modeFlag, thresholdExplanations, winSize = 4096, hopSize = 1024, fftSize = -1; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, harmBufNum, percBufNum, resBufNum, harmFilterSize = 17, percFilterSize = 17, modeFlag, thresholdExplanations, winSize = 4096, hopSize = 1024, fftSize = -1;
if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
@ -7,6 +7,6 @@ FluidBufHPSS{
harmBufNum = harmBufNum ? -1; harmBufNum = harmBufNum ? -1;
percBufNum = percBufNum ? -1; percBufNum = percBufNum ? -1;
server.sendMsg(\cmd, \BufHPSS, srcBufNum, startAt, nFrames, startChan, nChans, harmBufNum, percBufNum, pSize, hSize, winSize, hopSize, fftSize); server.sendMsg(\cmd, \BufHPSS, srcBufNum, startAt, nFrames, startChan, nChans, harmBufNum, percBufNum, percFilterSize, harmFilterSize, winSize, hopSize, fftSize);
} }
} }

@ -1,5 +1,5 @@
FluidBufNMF { FluidBufNMF {
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, dstBufNum, dictBufNum, dictFlag = 0, actBufNum, actFlag = 0, rank = 1, iterations = 100, sortFlag = 0, windowSize = 1024, hopSize = 256, fftSize = -1, windowType = 0, randomSeed = -1; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, dstBufNum, dictBufNum, dictFlag = 0, actBufNum, actFlag = 0, rank = 1, nIter = 100, sortFlag = 0, winSize = 1024, hopSize = 256, fftSize = -1, winType = 0, randSeed = -1;
if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
@ -8,6 +8,6 @@ FluidBufNMF {
dictBufNum = dictBufNum ? -1; dictBufNum = dictBufNum ? -1;
actBufNum = actBufNum ? -1; actBufNum = actBufNum ? -1;
server.sendMsg(\cmd, \BufNMF, srcBufNum, startAt, nFrames, startChan, nChans, dstBufNum, dictBufNum, dictFlag, actBufNum, actFlag, rank, iterations, windowSize, hopSize,fftSize); server.sendMsg(\cmd, \BufNMF, srcBufNum, startAt, nFrames, startChan, nChans, dstBufNum, dictBufNum, dictFlag, actBufNum, actFlag, rank, nIter, winSize, hopSize,fftSize);
} }
} }

@ -1,11 +1,11 @@
FluidBufNoveltySlice{ FluidBufNoveltySlice{
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, kernelSize = 3, threshold = 0.8, winSize = 1024, hopSize = 512, fftSize = 2048; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, kernelSize = 3, thresh = 0.8, winSize = 1024, hopSize = 512, fftSize = 2048;
if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
if(transBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(transBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
server = server ? Server.default; server = server ? Server.default;
server.sendMsg(\cmd, \BufNoveltySlice, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, kernelSize, threshold, winSize, hopSize, fftSize); server.sendMsg(\cmd, \BufNoveltySlice, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, kernelSize, thresh, winSize, hopSize, fftSize);
} }
} }

@ -1,5 +1,5 @@
FluidBufSines{ FluidBufSines{
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, sineBufNum, resBufNum, bandwidth = 76, threshold = 0.3, minTrackLen = 15, magWeight = 0.1, freqWeight = 1, winSize = 4096, hopSize = 1024, fftSize = 8192; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, sineBufNum, resBufNum, bandwidth = 76, thresh = 0.3, minTrackLen = 15, magWeight = 0.1, freqWeight = 1, winSize = 4096, hopSize = 1024, fftSize = 8192;
if(srcBufNum.isNil) {Error("Invalid Buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) {Error("Invalid Buffer").format(thisMethod.name, this.class.name).throw};
@ -7,6 +7,6 @@ FluidBufSines{
sineBufNum = sineBufNum ? -1; sineBufNum = sineBufNum ? -1;
resBufNum = resBufNum ? -1; resBufNum = resBufNum ? -1;
server.sendMsg(\cmd, \BufSines, srcBufNum, startAt, nFrames, startChan, nChans, sineBufNum, resBufNum, bandwidth, threshold, minTrackLen, magWeight, freqWeight, winSize, hopSize, fftSize); server.sendMsg(\cmd, \BufSines, srcBufNum, startAt, nFrames, startChan, nChans, sineBufNum, resBufNum, bandwidth, thresh, minTrackLen, magWeight, freqWeight, winSize, hopSize, fftSize);
} }
} }

@ -1,11 +1,11 @@
FluidBufTransientSlice{ FluidBufTransientSlice{
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, order = 200, blockSize = 2048, padding = 1024, skew = 0, threshFwd = 3, threshBack = 1.1, windowSize = 14, debounce = 25; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, order = 200, blockSize = 2048, padSize = 1024, skew = 0, threshFwd = 3, threshBack = 1.1, winSize = 14, debounce = 25;
if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
if(transBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(transBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
server = server ? Server.default; server = server ? Server.default;
server.sendMsg(\cmd, \BufTransientSlice, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, order, blockSize, padding, skew, threshFwd, threshBack, windowSize, debounce); server.sendMsg(\cmd, \BufTransientSlice, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, order, blockSize, padSize, skew, threshFwd, threshBack, winSize, debounce);
} }
} }

@ -1,5 +1,5 @@
FluidBufTransients { FluidBufTransients {
*process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, resBufNum, order = 200, blockSize = 2048, padding = 1024, skew = 0, threshFwd = 3, threshBack = 1.1, windowSize = 14, debounce = 25; *process { arg server, srcBufNum, startAt = 0, nFrames = -1, startChan = 0, nChans = -1, transBufNum, resBufNum, order = 200, blockSize = 2048, padSize = 1024, skew = 0, threshFwd = 3, threshBack = 1.1, winSize = 14, debounce = 25;
if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw}; if(srcBufNum.isNil) { Error("Invalid buffer").format(thisMethod.name, this.class.name).throw};
@ -7,6 +7,6 @@ FluidBufTransients {
transBufNum = transBufNum ? -1; transBufNum = transBufNum ? -1;
resBufNum = resBufNum ? -1; resBufNum = resBufNum ? -1;
server.sendMsg(\cmd, \BufTransients, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, resBufNum, order, blockSize, padding, skew, threshFwd, threshBack, windowSize, debounce); server.sendMsg(\cmd, \BufTransients, srcBufNum, startAt, nFrames, startChan, nChans, transBufNum, resBufNum, order, blockSize, padSize, skew, threshFwd, threshBack, winSize, debounce);
} }
} }

@ -1,13 +1,6 @@
FluidHPSS : MultiOutUGen { FluidHPSS : MultiOutUGen {
*ar { arg in = 0, percussiveFilterSize = 17, harmonicFilterSize=17, harmonicBinaryMask=0, percussiveBinaryMask=0, *ar { arg in = 0, harmFilterSize=17, percFilterSize = 17, modeFlag=0, thresholdExplanations, winSize= 1024, hopSize= 256, fftSize= -1;
percussiveThreshFreq1=0, percussiveThreshAmp1=0,percussiveThreshFreq2=1.0, percussiveThreshAmp2=0, ^this.multiNew('audio', in.asAudioRateInput(this), percFilterSize, harmFilterSize, modeFlag, thresholdExplanations, winSize, hopSize, fftSize)
harmonicThreshFreq1=0, harmonicThreshAmp1=0, harmonicThreshFreq2=1.0, harmonicThreshAmp2=0,
windowSize= 1024, hopSize= 256, fftSize= -1;
^this.multiNew('audio', in.asAudioRateInput(this), percussiveFilterSize, harmonicFilterSize,
harmonicBinaryMask,percussiveBinaryMask,
percussiveThreshFreq1, percussiveThreshAmp1,percussiveThreshFreq2, percussiveThreshAmp2,
harmonicThreshFreq1, harmonicThreshAmp1, harmonicThreshFreq2, harmonicThreshAmp2,
windowSize, hopSize, fftSize)
} }
init { arg ... theInputs; init { arg ... theInputs;
inputs = theInputs; inputs = theInputs;

@ -1,6 +1,6 @@
FluidSines : MultiOutUGen { FluidSines : MultiOutUGen {
*ar { arg in = 0, bandwidth = 76, threshold = 0.7, minTrackLen = 15, magnitudeWeight = 0.1, frequencyWeight = 1.0, windowSize= 2048, hopSize= 512, fftSize= 8192; *ar { arg in = 0, bandwidth = 76, thresh = 0.7, minTrackLen = 15, magWeight = 0.1, freqWeight = 1.0, winSize= 2048, hopSize= 512, fftSize= 8192;
^this.multiNew('audio', in.asAudioRateInput(this), bandwidth, threshold, minTrackLen, magnitudeWeight,frequencyWeight ,windowSize, hopSize, fftSize) ^this.multiNew('audio', in.asAudioRateInput(this), bandwidth, thresh, minTrackLen, magWeight,freqWeight ,winSize, hopSize, fftSize)
} }
init { arg ... theInputs; init { arg ... theInputs;
inputs = theInputs; inputs = theInputs;

@ -1,5 +1,5 @@
FluidTransientSlice : UGen { FluidTransientSlice : UGen {
*ar { arg in = 0, order = 20, blocksize = 256, padding = 128, skew = 0.0, threshFwd = 3.0, threshBack = 1.1, winSize=14, debounce=25; *ar { arg in = 0, order = 20, blockSize = 256, padSize = 128, skew = 0.0, threshFwd = 3.0, threshBack = 1.1, winSize=14, debounce=25;
^this.multiNew('audio', in.asAudioRateInput(this), order, blocksize, padding, skew,threshFwd ,threshBack, winSize, debounce) ^this.multiNew('audio', in.asAudioRateInput(this), order, blockSize, padSize, skew, threshFwd ,threshBack, winSize, debounce)
} }
} }

@ -1,6 +1,6 @@
FluidTransients : MultiOutUGen { FluidTransients : MultiOutUGen {
*ar { arg in = 0, order = 20, blockSize = 256, padding = 128, skew = 0.0, threshFwd = 3.0, threshBack = 1.1, winSize=14, debounce=25; *ar { arg in = 0, order = 20, blockSize = 256, padSize = 128, skew = 0.0, threshFwd = 3.0, threshBack = 1.1, winSize=14, debounce=25;
^this.multiNew('audio', in.asAudioRateInput(this), order, blockSize, padding, skew,threshFwd ,threshBack, winSize,debounce) ^this.multiNew('audio', in.asAudioRateInput(this), order, blockSize, padSize, skew,threshFwd ,threshBack, winSize,debounce)
} }
init { arg ... theInputs; init { arg ... theInputs;
inputs = theInputs; inputs = theInputs;

@ -48,12 +48,12 @@ ARGUMENT:: percBufNum
ARGUMENT:: resBufNum ARGUMENT:: resBufNum
The index of the buffer where the residual component will be reconstructed in mode 2. The index of the buffer where the residual component will be reconstructed in mode 2.
ARGUMENT:: pSize ARGUMENT:: harmFilterSize
The size in spectral bins of the median filter for the percussive component.
ARGUMENT:: hSize
The size in consecutive spectral frames of the median filter for the harmonic component. The size in consecutive spectral frames of the median filter for the harmonic component.
ARGUMENT:: percFilterSize
The size in spectral bins of the median filter for the percussive component.
ARGUMENT:: modeFlag ARGUMENT:: modeFlag
The way the masking is happening on the spectrogram. The way the masking is happening on the spectrogram.
table:: table::

@ -67,13 +67,13 @@ ARGUMENT:: actFlag
ARGUMENT:: rank ARGUMENT:: rank
The number of elements the NMF algorythim will try to divide the spectrogram of the source in. The number of elements the NMF algorythim will try to divide the spectrogram of the source in.
ARGUMENT:: iterations ARGUMENT:: nIter
The NMF process is iterative, trying to converge to the smallest error in its factorisation. The number of iterations will decide how many times it tries to adjust its guestimates. Higher numbers here will be more CPU expensive, lower numbers will be more unpredictable in quality. The NMF process is iterative, trying to converge to the smallest error in its factorisation. The number of iterations will decide how many times it tries to adjust its guestimates. Higher numbers here will be more CPU expensive, lower numbers will be more unpredictable in quality.
ARGUMENT:: sortFlag ARGUMENT:: sortFlag
This allows to choose between the different methods of sorting the ranks in order to get similar sonic qualities on a given rank (not implemented yet) This allows to choose between the different methods of sorting the ranks in order to get similar sonic qualities on a given rank (not implemented yet)
ARGUMENT:: windowSize ARGUMENT:: winSize
The window size. As NMF relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty The window size. As NMF relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty
ARGUMENT:: hopSize ARGUMENT:: hopSize
@ -82,10 +82,10 @@ ARGUMENT:: hopSize
ARGUMENT:: fftSize ARGUMENT:: fftSize
The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision.
ARGUMENT:: windowType ARGUMENT:: winType
The inner FFT/IFFT windowing type (not implemented yet) The inner FFT/IFFT windowing type (not implemented yet)
ARGUMENT:: randomSeed ARGUMENT:: randSeed
The NMF process needs to seed its starting point. If specified, the same values will be used. The default of -1 will randomly assign them. (not implemented yet) The NMF process needs to seed its starting point. If specified, the same values will be used. The default of -1 will randomly assign them. (not implemented yet)
RETURNS:: RETURNS::

@ -39,7 +39,7 @@ ARGUMENT:: transBufNum
ARGUMENT:: kernelSize ARGUMENT:: kernelSize
The granularity of the window in which the algorithm looks for change, in samples. A small number will be sensitive to short term changes, and a large number should look for long term changes. The granularity of the window in which the algorithm looks for change, in samples. A small number will be sensitive to short term changes, and a large number should look for long term changes.
ARGUMENT:: threshold ARGUMENT:: thresh
The threshold in the novelty curve, the latter being derived from running the kernel across the diagonal of the similarity matrix, and looking for peak of changes (NOT CLEAR) The threshold in the novelty curve, the latter being derived from running the kernel across the diagonal of the similarity matrix, and looking for peak of changes (NOT CLEAR)
ARGUMENT:: winSize ARGUMENT:: winSize

@ -45,7 +45,7 @@ ARGUMENT:: resBufNum
ARGUMENT:: bandwidth ARGUMENT:: bandwidth
The width in bins (OR IN PERCENT IN NEW INTERFACE) of the fragment of the fft window that is considered a normal deviation for a potential continuous sinusoidal track. It has an effect on CPU cost: the widest is more accurate but more computationally expensive. The width in bins (OR IN PERCENT IN NEW INTERFACE) of the fragment of the fft window that is considered a normal deviation for a potential continuous sinusoidal track. It has an effect on CPU cost: the widest is more accurate but more computationally expensive.
ARGUMENT:: threshold ARGUMENT:: thresh
The normalised threshold, between 0 an 1, to consider a peak as a sinusoidal component from the normalized cross-correlation. The normalised threshold, between 0 an 1, to consider a peak as a sinusoidal component from the normalized cross-correlation.
ARGUMENT:: minTrackLen ARGUMENT:: minTrackLen

@ -42,7 +42,7 @@ ARGUMENT:: order
ARGUMENT:: blockSize ARGUMENT:: blockSize
The size in samples of frame on which it the algorithm is operating. High values are more cpu intensive, and also determines the maximum transient size, which will not be allowed to be more than half that lenght in size. The size in samples of frame on which it the algorithm is operating. High values are more cpu intensive, and also determines the maximum transient size, which will not be allowed to be more than half that lenght in size.
ARGUMENT:: padding ARGUMENT:: padSize
The size of the handles on each sides of the block simply used for analysis purpose and avoid boundary issues. The size of the handles on each sides of the block simply used for analysis purpose and avoid boundary issues.
ARGUMENT:: skew ARGUMENT:: skew
@ -54,7 +54,7 @@ ARGUMENT:: threshFwd
ARGUMENT:: threshBack ARGUMENT:: threshBack
The threshold of the offset of the smoothed error function. As it proceeds backwards in time, it allows tight ending of the identification of the anomaly. The threshold of the offset of the smoothed error function. As it proceeds backwards in time, it allows tight ending of the identification of the anomaly.
ARGUMENT:: windowSize ARGUMENT:: winSize
The averaging window of the error detection function. It needs smoothing as it is very jittery. The longer the window, the less precise, but the less false positive. The averaging window of the error detection function. It needs smoothing as it is very jittery. The longer the window, the less precise, but the less false positive.
ARGUMENT:: debounce ARGUMENT:: debounce

@ -50,7 +50,7 @@ ARGUMENT:: order
ARGUMENT:: blockSize ARGUMENT:: blockSize
The size in samples of frame on which it the algorithm is operating. High values are more cpu intensive, and also determines the maximum transient size, which will not be allowed to be more than half that lenght in size. The size in samples of frame on which it the algorithm is operating. High values are more cpu intensive, and also determines the maximum transient size, which will not be allowed to be more than half that lenght in size.
ARGUMENT:: padding ARGUMENT:: padSize
The size of the handles on each sides of the block simply used for analysis purpose and avoid boundary issues. The size of the handles on each sides of the block simply used for analysis purpose and avoid boundary issues.
ARGUMENT:: skew ARGUMENT:: skew
@ -62,7 +62,7 @@ ARGUMENT:: threshFwd
ARGUMENT:: threshBack ARGUMENT:: threshBack
The threshold of the offset of the smoothed error function. As it proceeds backwards in time, it allows tight ending of the identification of the anomaly. The threshold of the offset of the smoothed error function. As it proceeds backwards in time, it allows tight ending of the identification of the anomaly.
ARGUMENT:: windowSize ARGUMENT:: winSize
The averaging window of the error detection function. It needs smoothing as it is very jittery. The longer the window, the less precise, but the less false positive. The averaging window of the error detection function. It needs smoothing as it is very jittery. The longer the window, the less precise, but the less false positive.
ARGUMENT:: debounce ARGUMENT:: debounce

@ -28,14 +28,14 @@ RETURNS::
EXAMPLES:: EXAMPLES::
Summing with the inverse (gain of -1) with a delay of the latency gives us CPU-expensive silence. Summing with the inverse (gain of -1) with a delay of the latency gives us CPU-expensive silence.
code:: CODE::
{ var source = PinkNoise.ar(0.1); DelayN.ar(source,delaytime:1000/s.sampleRate) + FluidGain.ar(source,1000,-1); }.play { var source = PinkNoise.ar(0.1); DelayN.ar(source,delaytime:1000/s.sampleRate) + FluidGain.ar(source,1000,-1); }.play
:: ::
Varying the gain at audio rate. Varying the gain at audio rate.
code:: CODE::
{ FluidGain.ar(PinkNoise.ar(0.1), gain:LFTri.ar(1)) }.play { FluidGain.ar(PinkNoise.ar(0.1), gain:LFTri.ar(1)) }.play
:: ::
Varying the gain at comtrol rate, in beautiful stereo. Varying the gain at comtrol rate, in beautiful stereo.
code:: CODE::
{ FluidGain.ar(SinOsc.ar([222,333],mul:0.1), gain:LFTri.kr([0.5,0.7])) }.play { FluidGain.ar(SinOsc.ar([222,333],mul:0.1), gain:LFTri.kr([0.5,0.7])) }.play
:: ::

@ -1,11 +1,11 @@
TITLE:: FluidHPSS TITLE:: FluidHPSS
summary:: (put short description here) SUMMARY:: (put short description here)
categories:: Libraries>FluidDecomposition CATEGORIES:: Libraries>FluidDecomposition
related:: Guides/FluCoMa, Guides/FluidDecomposition RELATED:: Guides/FluCoMa, Guides/FluidDecomposition
DESCRIPTION:: DESCRIPTION::
It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote:: It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote::
This was made possible thanks to the FluCoMa project (http://www.flucoma.org/) funded by the European Research Council (https://erc.europa.eu/) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).:: This was made possible thanks to the FluCoMa project ( http://www.flucoma.org/ ) funded by the European Research Council ( https://erc.europa.eu/ ) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).::
CLASSMETHODS:: CLASSMETHODS::
@ -16,48 +16,37 @@ METHOD:: ar
ARGUMENT:: in ARGUMENT:: in
(describe argument here) (describe argument here)
ARGUMENT:: percussiveFilterSize ARGUMENT:: harmFilterSize
(describe argument here) (describe argument here)
ARGUMENT:: harmonicFilterSize ARGUMENT:: percFilterSize
(describe argument here) (describe argument here)
ARGUMENT:: percussiveThreshold ARGUMENT:: modeFlag
(describe argument here) The way the masking is happening on the spectrogram.
table::
## 0 || Original paper - the loudest winds.
## 1 || Relative mode - the thresholds set next on the harmonic counterpart will decide of a binary masking, and the percussive mask is its complement.
## 2 || Inter-dependant mode - the thresholds are independant on the harmonic and percussive component, but are then normalised to make a null sum and their difference is sent to the residual buffer.
::
ARGUMENT:: harmonicThreshold ARGUMENT:: thresholdExplanations
(describe argument here) soon here
ARGUMENT:: windowSize ARGUMENT:: winSize
(describe argument here) The window size. As HPSS relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty
ARGUMENT:: hopSize ARGUMENT:: hopSize
(describe argument here) The window hope size. As HPSS relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts.
ARGUMENT:: fftSize ARGUMENT:: fftSize
(describe argument here) The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision.
returns:: (describe returnvalue here)
INSTANCEMETHODS::
METHOD:: checkInputs
(describe method here)
returns:: (describe returnvalue here)
METHOD:: init
(describe method here)
ARGUMENT:: ... theInputs
(describe argument here)
returns:: (describe returnvalue here)
RETURNS::
(describe returnvalue here)
EXAMPLES:: EXAMPLES::
code:: CODE::
safdsad
:: ::

@ -32,18 +32,18 @@ RETURNS::
EXAMPLES:: EXAMPLES::
Summing with the inverse (gain of -1) with a delay of the latency gives us CPU-expensive silence. Summing with the inverse (gain of -1) with a delay of the latency gives us CPU-expensive silence.
code:: CODE::
{ var source = PinkNoise.ar(0.1); DelayN.ar(source, delaytime:1024/s.sampleRate, mul: -1) + FluidSTFTPass.ar(source, 1024, 256, 1024); }.play { var source = PinkNoise.ar(0.1); DelayN.ar(source, delaytime:1024/s.sampleRate, mul: -1) + FluidSTFTPass.ar(source, 1024, 256, 1024); }.play
:: ::
Larger, oversampled, FFT Larger, oversampled, FFT
code:: CODE::
{ FluidSTFTPass.ar(PinkNoise.ar(0.1), 2048, 128, 8192) }.play { FluidSTFTPass.ar(PinkNoise.ar(0.1), 2048, 128, 8192) }.play
:: ::
Stereo Input Tests. Stereo Input Tests.
code:: CODE::
{ FluidSTFTPass.ar([SinOsc.ar(222,mul: 0.1), PinkNoise.ar(Decay.ar(Impulse.ar(0.666,mul: 0.2), 0.5))], fftSize:1024)}.play { FluidSTFTPass.ar([SinOsc.ar(222,mul: 0.1), PinkNoise.ar(Decay.ar(Impulse.ar(0.666,mul: 0.2), 0.5))], fftSize:1024)}.play
:: ::
Stereo Parameter Tests. Stereo Parameter Tests.
code:: CODE::
{ FluidSTFTPass.ar(SinOsc.ar(222,mul: 0.1), [1024,8192],256,8192)}.play { FluidSTFTPass.ar(SinOsc.ar(222,mul: 0.1), [1024,8192],256,8192)}.play
:: ::

@ -1,11 +1,11 @@
TITLE:: FluidSines TITLE:: FluidSines
summary:: (put short description here) SUMMARY:: (put short description here)
categories:: Libraries>FluidDecomposition CATEGORIES:: Libraries>FluidDecomposition
related:: Guides/FluCoMa, Guides/FluidDecomposition RELATED:: Guides/FluCoMa, Guides/FluidDecomposition
DESCRIPTION:: DESCRIPTION::
It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote:: It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote::
This was made possible thanks to the FluCoMa project (http://www.flucoma.org/) funded by the European Research Council (https://erc.europa.eu/) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).:: This was made possible thanks to the FluCoMa project ( http://www.flucoma.org/ ) funded by the European Research Council ( https://erc.europa.eu/ ) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).::
CLASSMETHODS:: CLASSMETHODS::
@ -19,19 +19,19 @@ ARGUMENT:: in
ARGUMENT:: bandwidth ARGUMENT:: bandwidth
(describe argument here) (describe argument here)
ARGUMENT:: threshold ARGUMENT:: thresh
(describe argument here) (describe argument here)
ARGUMENT:: minTrackLen ARGUMENT:: minTrackLen
(describe argument here) (describe argument here)
ARGUMENT:: magnitudeWeight ARGUMENT:: magWeight
(describe argument here) (describe argument here)
ARGUMENT:: frequencyWeight ARGUMENT:: freqWeight
(describe argument here) (describe argument here)
ARGUMENT:: windowSize ARGUMENT:: winSize
(describe argument here) (describe argument here)
ARGUMENT:: hopSize ARGUMENT:: hopSize
@ -40,27 +40,11 @@ ARGUMENT:: hopSize
ARGUMENT:: fftSize ARGUMENT:: fftSize
(describe argument here) (describe argument here)
returns:: (describe returnvalue here) RETURNS:: (describe returnvalue here)
INSTANCEMETHODS::
METHOD:: checkInputs
(describe method here)
returns:: (describe returnvalue here)
METHOD:: init
(describe method here)
ARGUMENT:: ... theInputs
(describe argument here)
returns:: (describe returnvalue here)
EXAMPLES:: EXAMPLES::
code:: CODE::
(some example code) (some example code)
:: ::

@ -1,11 +1,11 @@
TITLE:: FluidTransientSlice TITLE:: FluidTransientSlice
summary:: (put short description here) SUMMARY:: (put short description here)
categories:: Libraries>FluidDecomposition CATEGORIES:: Libraries>FluidDecomposition
related:: Guides/FluCoMa, Guides/FluidDecomposition RELATED:: Guides/FluCoMa, Guides/FluidDecomposition
DESCRIPTION:: DESCRIPTION::
It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote:: It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote::
This was made possible thanks to the FluCoMa project (http://www.flucoma.org/) funded by the European Research Council (https://erc.europa.eu/) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).:: This was made possible thanks to the FluCoMa project ( http://www.flucoma.org/ ) funded by the European Research Council ( https://erc.europa.eu/ ) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).::
CLASSMETHODS:: CLASSMETHODS::
@ -18,10 +18,10 @@ ARGUMENT:: in
ARGUMENT:: order ARGUMENT:: order
(describe argument here) (describe argument here)
ARGUMENT:: blocksize ARGUMENT:: blockSize
(describe argument here) (describe argument here)
ARGUMENT:: padding ARGUMENT:: padSize
(describe argument here) (describe argument here)
ARGUMENT:: skew ARGUMENT:: skew
@ -39,7 +39,7 @@ ARGUMENT:: winSize
ARGUMENT:: debounce ARGUMENT:: debounce
(describe argument here) (describe argument here)
returns:: (describe returnvalue here) RETURNS:: (describe returnvalue here)
INSTANCEMETHODS:: INSTANCEMETHODS::
@ -47,6 +47,6 @@ INSTANCEMETHODS::
EXAMPLES:: EXAMPLES::
code:: CODE::
(some example code) (some example code)
:: ::

@ -1,11 +1,11 @@
TITLE:: FluidTransients TITLE:: FluidTransients
summary:: (put short description here) SUMMARY:: (put short description here)
categories:: Libraries>FluidDecomposition CATEGORIES:: Libraries>FluidDecomposition
related:: Guides/FluCoMa, Guides/FluidDecomposition RELATED:: Guides/FluCoMa, Guides/FluidDecomposition
DESCRIPTION:: DESCRIPTION::
It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote:: It is part of the Fluid Decomposition Toolkit of the FluCoMa project. footnote::
This was made possible thanks to the FluCoMa project (http://www.flucoma.org/) funded by the European Research Council (https://erc.europa.eu/) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).:: This was made possible thanks to the FluCoMa project ( http://www.flucoma.org/ ) funded by the European Research Council ( https://erc.europa.eu/ ) under the European Unions Horizon 2020 research and innovation programme (grant agreement No 725899).::
CLASSMETHODS:: CLASSMETHODS::
@ -22,7 +22,7 @@ ARGUMENT:: order
ARGUMENT:: blockSize ARGUMENT:: blockSize
(describe argument here) (describe argument here)
ARGUMENT:: padding ARGUMENT:: padSize
(describe argument here) (describe argument here)
ARGUMENT:: skew ARGUMENT:: skew
@ -40,27 +40,11 @@ ARGUMENT:: winSize
ARGUMENT:: debounce ARGUMENT:: debounce
(describe argument here) (describe argument here)
returns:: (describe returnvalue here) RETURNS::
(describe returnvalue here)
INSTANCEMETHODS::
METHOD:: checkInputs
(describe method here)
returns:: (describe returnvalue here)
METHOD:: init
(describe method here)
ARGUMENT:: ... theInputs
(describe argument here)
returns:: (describe returnvalue here)
EXAMPLES:: EXAMPLES::
code:: CODE::
(some example code) (some example code)
:: ::
Loading…
Cancel
Save