add PCA whitening parameter (#65)

* add PCA whitening parameter

* FluidPCA: Ensure whiten parameter is sent to kr query UGen

Co-authored-by: Gerard <gerard@bumblebee.lan>
Co-authored-by: weefuzzy <gungwho@gmail.com>
nix
Gerard Roma 4 years ago committed by GitHub
parent e450aef220
commit 333a121524
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,13 +1,13 @@
FluidPCA : FluidModelObject{ FluidPCA : FluidModelObject{
var <>numDimensions; var <>numDimensions, <>whiten;
*new {|server, numDimensions = 2| *new {|server, numDimensions = 2, whiten = 0|
^super.new(server,[numDimensions]).numDimensions_(numDimensions); ^super.new(server,[numDimensions, whiten]).numDimensions_(numDimensions).whiten_(whiten);
} }
prGetParams{ prGetParams{
^[this.id, numDimensions]; ^[this.id, numDimensions, whiten];
} }
fitMsg{|dataSet| fitMsg{|dataSet|
@ -55,7 +55,7 @@ FluidPCA : FluidModelObject{
numDimensions = numDimensions ? this.numDimensions; numDimensions = numDimensions ? this.numDimensions;
this.numDimensions_(numDimensions); this.numDimensions_(numDimensions);
^FluidPCAQuery.kr(trig ,this, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer), this.numDimensions); ^FluidPCAQuery.kr(trig ,this, this.prEncodeBuffer(inputBuffer), this.prEncodeBuffer(outputBuffer), this.numDimensions, this.whiten);
} }
inverseTransformPointMsg{|sourceBuffer, destBuffer| inverseTransformPointMsg{|sourceBuffer, destBuffer|
@ -74,9 +74,9 @@ FluidPCA : FluidModelObject{
} }
FluidPCAQuery : FluidRTMultiOutUGen { FluidPCAQuery : FluidRTMultiOutUGen {
*kr{ |trig, model, inputBuffer,outputBuffer,numDimensions| *kr{ |trig, model, inputBuffer,outputBuffer,numDimensions, whiten|
^this.multiNew('control',trig, model.asUGenInput, ^this.multiNew('control',trig, model.asUGenInput,
numDimensions, numDimensions, whiten,
inputBuffer.asUGenInput, outputBuffer.asUGenInput) inputBuffer.asUGenInput, outputBuffer.asUGenInput)
} }
@ -84,4 +84,4 @@ FluidPCAQuery : FluidRTMultiOutUGen {
inputs = theInputs; inputs = theInputs;
^this.initOutputs(1, rate); ^this.initOutputs(1, rate);
} }
} }

Loading…
Cancel
Save