|
|
|
|
@ -1,18 +1,21 @@
|
|
|
|
|
FluidMFCC : FluidRTMultiOutUGen {
|
|
|
|
|
|
|
|
|
|
*kr { arg in = 0, numCoeffs = 13, numBands = 40, startCoeff = 0, minFreq = 20, maxFreq = 20000, windowSize = 1024, hopSize = -1, fftSize = -1, maxNumCoeffs = 13, maxFFTSize = 16384;
|
|
|
|
|
^this.multiNew('control', in.asAudioRateInput(this), numCoeffs, numBands, startCoeff, minFreq, maxFreq, maxNumCoeffs, windowSize, hopSize, fftSize, maxFFTSize);
|
|
|
|
|
*kr { arg in = 0, numCoeffs = 13, numBands = 40, startCoeff = 0, minFreq = 20, maxFreq = 20000, windowSize = 1024, hopSize = -1, fftSize = -1, maxNumCoeffs = nil, maxFFTSize = 16384;
|
|
|
|
|
|
|
|
|
|
maxNumCoeffs = maxNumCoeffs ? numCoeffs;
|
|
|
|
|
|
|
|
|
|
^this.multiNew('control', in.asAudioRateInput(this), numCoeffs, maxNumCoeffs, numBands, startCoeff, minFreq, maxFreq, windowSize, hopSize, fftSize, maxFFTSize);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
init {arg ...theInputs;
|
|
|
|
|
inputs = theInputs;
|
|
|
|
|
^this.initOutputs(inputs.at(6),rate);//this instantiate the number of output from the maxNumCoeffs in the multiNew order
|
|
|
|
|
^this.initOutputs(inputs.at(2),rate);//this instantiate the number of output from the maxNumCoeffs in the multiNew order
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
checkInputs {
|
|
|
|
|
// the checks of rates here are in the order of the kr method definition
|
|
|
|
|
if(inputs.at(6).rate != 'scalar') {
|
|
|
|
|
if(inputs.at(2).rate != 'scalar') {
|
|
|
|
|
^(": maxNumCoeffs cannot be modulated.");
|
|
|
|
|
};
|
|
|
|
|
if(inputs.at(10).rate != 'scalar') {
|
|
|
|
|
|