From ftm
Jump to: navigation, search
Line 3: Line 3:
 
   | brief=additive synthesis: generate partials with a given envelope
 
   | brief=additive synthesis: generate partials with a given envelope
 
   | descr=Adds partials with a spectral envolope (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addenv or gbr.addpartials module.
 
   | descr=Adds partials with a spectral envolope (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addenv or gbr.addpartials module.
   | arguments=0 - maximum number of partials (default is 64)<br>
+
   | arguments=0 <num: max> - maximum number of partials [64]<br>
   | attributes=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
+
   | attributes=noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br>
   | messages=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
+
   | messages=noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br>
   | inlets=0 <fmat: complex vector> - spectrum (only positive frequencies) to which to add the generated partials<br>1 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num&#124;fmat&#124;fvec&#124;list: spectral envelope> - set spectral envelope (given values will be linearly interpolated)<br>3 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br>
+
   | inlets=0 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>1 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num&#124;fmat&#124;fvec&#124;list: spectral envelope> - spectral envelope (given values will be linearly interpolated)<br>3 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - phase (num: for all partials) or vector of phases for the given partials<br>
 
   | outlets=0 <fmat> - no description<br>
 
   | outlets=0 <fmat> - no description<br>
 
}}
 
}}
Line 14: Line 14:
 
   | brief=additive synthesis: generate partials with given frequencies and amplitudes
 
   | brief=additive synthesis: generate partials with given frequencies and amplitudes
 
   | descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
 
   | descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
   | arguments=0 - maximum number of partials (default is 64)<br>
+
   | arguments=0 - maximum number of partials [64]<br>
   | attributes=format <&#039;vec&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
+
   | attributes=format <&#039;vec&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: format> - set input matrix/vector format [&#039;vec&#039;]<br>noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br>
   | messages=format <&#039;vec&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
+
   | messages=format <&#039;vec&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: format> - set input matrix/vector format [&#039;vec&#039;]<br>noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br>
   | inlets=0 <fmat: complex vector> - spectrum (only positive frequencies) to which to add the generated partials<br>1 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num&#124;fmat&#124;fvec&#124;list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes<br>3 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br>
+
   | inlets=0 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>1 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num&#124;fmat&#124;fvec&#124;list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes<br>3 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br>
 
   | outlets=0 <fmat> - no description<br>
 
   | outlets=0 <fmat> - no description<br>
 
}}
 
}}
Line 25: Line 25:
 
   | brief=auto correlation and similar
 
   | brief=auto correlation and similar
 
   | descr=Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin).
 
   | descr=Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin).
   | arguments=0 <num: &#035; of points> - initalize calculation size<br>1 <num: &#035; of points> - initalize window width<br>
+
   | arguments=0 <num: size> - calculation size [256]<br>1 <num: width> - window width [256]<br>
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;corr&#039;&#124;&#039;dist&#039;&#124;&#039;dist2&#039;&#124;&#039;smdf&#039;&#124;&#039;yin&#039;: mode> - set calculation mode<br>scale <num: factor> - set scaling factor<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;corr&#039;&#124;&#039;dist&#039;&#124;&#039;dist2&#039;&#124;&#039;smdf&#039;&#124;&#039;yin&#039;: mode> - set calculation mode [&#039;corr&#039;]<br>scale <num: factor> - set scaling factor [1]<br>
   | messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor<br>
+
   | messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | outlets=0 <fmat: vector> - auto correlation vector<br>
 
   | outlets=0 <fmat: vector> - auto correlation vector<br>
Line 34: Line 34:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.bands
 
   | name=gbr.bands
   | brief=calulate frequency bands on an incoming spectrum (or similar domain)
+
   | brief=calulate frequency bands (or integrate bands of a similar domain)
 
   | descr=Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode).
 
   | descr=Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode).
   | arguments=<num: input size> <num: ouput size> &#124; [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries<br>
+
   | arguments=[<num: boundaries> ...] &#124; <num: input size> <num: output size> - input spectrum size and output bands number, or boundaries<br>
   | attributes=out <fmat: output> - set output vector<br>integ <&#039;abs&#039;&#124;&#039;sqrabs&#039;: type> - set the spectrum integration type<br>scale <num: factor> - set the bands filter scale<br>maxfreq <num: freq in Hz> - set the output maximum frequency<br>minfreq <num: freq in Hz> - set the output minimum frequency<br>mode <&#039;bounds&#039;&#124;&#039;mel&#039;&#124;&#039;htkmel&#039;&#124;&#039;fcmel&#039;> - set the bands mode<br>sr <num: freq in Hz> - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq<br>specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.<br>
+
   | attributes=out <fmat: output> - set output vector<br>integ <&#039;sqrabs&#039;&#124;&#039;abs&#039;: type> - set spectrum integration type (amplitude or power spectrum) [&#039;sqrabs&#039;]<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <&#039;bounds&#039;&#124;&#039;mel&#039;&#124;&#039;htkmel&#039;&#124;&#039;fcmel&#039;: mode> - set bands mode [&#039;bounds&#039;]<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br>
   | messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: &#035; of points> - set the number of output bands<br>insize <num: &#035; of points> - set the input spectrum size<br>out <fmat: output> - set output vector<br>integ <&#039;abs&#039;&#124;&#039;sqrabs&#039;: type> - set the spectrum integration type<br>scale <num: factor> - set the bands filter scale<br>maxfreq <num: freq in Hz> - set the output maximum frequency<br>minfreq <num: freq in Hz> - set the output minimum frequency<br>mode <&#039;bounds&#039;&#124;&#039;mel&#039;&#124;&#039;htkmel&#039;&#124;&#039;fcmel&#039;> - set the bands mode<br>sr <num: freq in Hz> - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq<br>specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.<br>
+
   | messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: output size> - set number of output bands<br>insize <num: input size> - set input spectrum size<br>out <fmat: output> - set output vector<br>integ <&#039;sqrabs&#039;&#124;&#039;abs&#039;: type> - set spectrum integration type (amplitude or power spectrum) [&#039;sqrabs&#039;]<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <&#039;bounds&#039;&#124;&#039;mel&#039;&#124;&#039;htkmel&#039;&#124;&#039;fcmel&#039;: mode> - set bands mode [&#039;bounds&#039;]<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br>
   | inlets=0 <fmat&#124;fvec>: - spectrum (positive frequencies)<br>
+
   | inlets=0 <fmat&#124;fvec: spectrum>: - vector of values (amplitude or power spectrum)<br>
   | outlets=0 <fmat: bands/ceofficients> - vector of coefficients/bands<br>1 <fmat: weights> - internal weights matrix<br>
+
   | outlets=0 <fmat: ceofficients> - vector of output coefficients<br>1 <fmat: weights> - internal weights matrix<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.bq
 
   | name=gbr.bq
   | brief=constant Q transform
+
   | brief=constant Q
   | descr=Calculates a constant Q transform of an incoming spectrum [J.Brown, M.Puckette 1992]. Its input is typically connected to gbr.fft (in real mode).
+
   | descr=Calculates a constant Q transform on an incoming spectrum [J.Brown, M.Puckette 1992].Its input is typically connected to gbr.fft (in real mode).
   | arguments=<num: FFT size> <num: min freq> <num: channels per octave> <num: threshold> <num: number of channels> - init filter kernels<br>
+
   | arguments=<num: FFT size> <num: min freq> <num: channels per octave> <num: threshold> <num: number of channels> - filter kernel parameters<br>
   | attributes=channels <num: &#035; of channels> - set number of channels to calculate<br>
+
   | attributes=channels <num: channels> - set number of channels to calculate [all]<br>
   | messages=channels <num: &#035; of channels> - set number of channels to calculate<br>
+
   | messages=channels <num: channels> - set number of channels to calculate [all]<br>
   | inlets=0 <fmat: complex vector> - input spectrum (positive frquencies)<br>
+
   | inlets=0 <fmat: spectrum> - complex vector of (positive frequencies)<br>
 
   | outlets=0 <fmat: coefficients> - filter bands<br>
 
   | outlets=0 <fmat: coefficients> - filter bands<br>
 
}}
 
}}
Line 58: Line 58:
 
   | brief=copy vector (fmat) out of a delay line or an fmat or fvec)
 
   | brief=copy vector (fmat) out of a delay line or an fmat or fvec)
 
   | descr=Copies a grain (fmat vector) of a given duration out of a delay line at a given delay time and outputs an fmat reference.If the given delay time is less than the the duration the vector will be shortened
 
   | descr=Copies a grain (fmat vector) of a given duration out of a delay line at a given delay time and outputs an fmat reference.If the given delay time is less than the the duration the vector will be shortened
   | arguments=0 <delayline&#124;fmat&#124;fvec: source> - init source<br>1 <num: duration> - init grain duration<br>
+
   | arguments=0 <delayline&#124;fmat&#124;fvec: source> - source reference<br>1 <num: duration> - grain duration [100]<br>
   | attributes=out <fmat: output> - set output vector<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>
+
   | attributes=out <fmat: output> - set output vector<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>
   | messages=bang - copy vector from the beginning of the delay line and output<br>set <delayline&#124;fmat&#124;fvec: source> - set source<br>out <fmat: output> - set output vector<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>
+
   | messages=bang - copy vector from the beginning of the delay line and output<br>set <delayline&#124;fmat&#124;fvec: source> - set source<br>out <fmat: output> - set output vector<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>
 
   | inlets=0 <num: delay> - copy and output grain at given delay position<br>1 <num: duration> - set duration<br>
 
   | inlets=0 <num: delay> - copy and output grain at given delay position<br>1 <num: duration> - set duration<br>
 
   | outlets=0 <fmat: vector> - copied grain<br>
 
   | outlets=0 <fmat: vector> - copied grain<br>
Line 69: Line 69:
 
   | brief=cross correlation and similar
 
   | brief=cross correlation and similar
 
   | descr=Calculates correlation, distance, quadratic distance and sum magnitude difference function.
 
   | descr=Calculates correlation, distance, quadratic distance and sum magnitude difference function.
   | arguments=0 <num: &#035; of points> - initalize calculation size<br>1 <num: &#035; of points> - initalize window width<br>2 <fmat&#124;fvec: vector> - initalize right operand<br>
+
   | arguments=0 <num: size> - calculation size [256]<br>1 <num: width> - window width [256]<br>2 <fmat&#124;fvec: vector> - right operand<br>
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;corr&#039;&#124;&#039;dist&#039;&#124;&#039;dist2&#039;&#124;&#039;smdf&#039;: mode> - set calculation mode<br>scale <num: factor> - set scaling factor<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;corr&#039;&#124;&#039;dist&#039;&#124;&#039;dist2&#039;&#124;&#039;smdf&#039;: mode> - set calculation mode<br>scale <num: factor> - set scaling factor [1]<br>
   | messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor<br>
+
   | messages=width <num: width> - set window width<br>size <num: size> - set calculation size (maximum output size)<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - left input vector<br>1 <fmat&#124;fvec: vector> - right input vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - left input vector<br>1 <fmat&#124;fvec: vector> - right input vector<br>
 
   | outlets=0 <fmat: vector> - cross correlation vector<br>
 
   | outlets=0 <fmat: vector> - cross correlation vector<br>
Line 80: Line 80:
 
   | brief=discrete cosine transform
 
   | brief=discrete cosine transform
 
   | descr=Calculates a DCT of the incoming vector.
 
   | descr=Calculates a DCT of the incoming vector.
   | arguments=0 <num: &#035; of points> - init the input size<br>1 <num: &#035; of points> - init the output size<br>
+
   | arguments=0 <num: input size> - size of input vector [40]<br>1 <num: output size> - number of DCT coefficients to be calculated [13]<br>
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;slaney&#039;&#124;&#039;htk&#039;&#124;fc&#039;> - set the discrete cosine transform mode<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;slaney&#039;&#124;&#039;htk&#039;&#124;fc&#039;> - set discrete cosine transform mode [&#039;slaney&#039;]<br>
   | messages=getstate - get the internal weights matrix<br>outsize <num: &#035; of points> - set the output size<br>insize <num: &#035; of points> - set the input size<br>out <fmat: output> - set output vector<br>mode <&#039;slaney&#039;&#124;&#039;htk&#039\ ;&#124;fc&#039;> - set the discrete cosine transform mode<br>
+
   | messages=getstate - get the internal weights matrix<br>outsize <num: output size> - set number of DCT coefficients to be calculated<br>insize <num: input size> - set size input vector<br>out <fmat: output> - set output vector<br>mode <&#039;slaney&#039;&#124;&#039;htk&#039;&#124;fc&#039;> - set discrete cosine transform mode [&#039;slaney&#039;]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br>
 
   | outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br>
Line 91: Line 91:
 
   | brief=classical delay line
 
   | brief=classical delay line
 
   | descr=Delay line to be used with gbr.copy and gbr.tapout~.
 
   | descr=Delay line to be used with gbr.copy and gbr.tapout~.
   | arguments=<sym: name> <num: size in given unit> - give name and size<br>
+
   | arguments=<sym: name> <num: size in given unit> - give name and size [none 100]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope [&#039;global&#039;]<br>
 
   | messages=freeze <&#039;0&#039;&#124;&#039;1&#039;: freeze>] - enable/disable delay line freeze<br>clear - zero delay line<br>
 
   | messages=freeze <&#039;0&#039;&#124;&#039;1&#039;: freeze>] - enable/disable delay line freeze<br>clear - zero delay line<br>
 
   | inlets=0 - write signal into delay line<br>
 
   | inlets=0 - write signal into delay line<br>
Line 102: Line 102:
 
   | brief=forward delay line
 
   | brief=forward delay line
 
   | descr=Delay line to write with different delays to be used with gbr.paste and gbr.tapin~.
 
   | descr=Delay line to write with different delays to be used with gbr.paste and gbr.tapin~.
   | arguments=<sym: name> <num: size in given unit> - give name and size<br>
+
   | arguments=<sym: name> <num: size in given unit> - give name and size [none 100]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope [&#039;global&#039;]<br>
 
   | messages=clear - clear delay line<br>
 
   | messages=clear - clear delay line<br>
 
   | inlets=0 - (order-forcing input)<br>
 
   | inlets=0 - (order-forcing input)<br>
Line 113: Line 113:
 
   | brief=fast Fourier transform
 
   | brief=fast Fourier transform
 
   | descr=Calculates FFT on incoming vector.
 
   | descr=Calculates FFT on incoming vector.
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2)<br>
+
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2) [512]<br>
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode [&#039;auto&#039;]<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - real or conplex input vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - real or conplex input vector<br>
 
   | outlets=0 <fmat: vector> - real or conplex output vector<br>
 
   | outlets=0 <fmat: vector> - real or conplex output vector<br>
Line 124: Line 124:
 
   | brief=Gabor timing impulse generator
 
   | brief=Gabor timing impulse generator
 
   | descr=Periodically outputs a given fmat or a bang within the Gabor scheduling scheme.
 
   | descr=Periodically outputs a given fmat or a bang within the Gabor scheduling scheme.
   | arguments=<num: period> [<fmat: vector>] - init period and fmat to fire (default is bang)<br>
+
   | arguments=<num: period> [<fmat: vector>] - frequency/period and fmat to fire [0]<br>
   | attributes=var <num: freq var> - set frequency variation (0 ... 1)<br>period <num: period> - set frequency or period (depending on unit)<br>out <fmat: out> - set output fmat<br>unit <&#039;hz&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;s\ amp&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
+
   | attributes=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <&#039;hz&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039\ ;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples [&#039;hz&#039;]<br>
   | messages=var <num: freq var> - set frequency variation (0 ... 1)<br>period <num: period> - set frequency or period (depending on unit)<br>out <fmat: out> - set output fmat<br>unit <&#039;hz&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;sam\ p&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
+
   | messages=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <&#039;hz&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;m\ idi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples [&#039;hz&#039;]<br>
   | inlets=0 <num: freq/period> - fire frequency or period (depending on unit), O is off<br>1 <fmat: vector> - set fmat to fire<br>
+
   | inlets=0 <num: freq/period> - fire frequency/period (O is off)<br>1 <fmat: vector> - set fmat to fire<br>
 
   | outlets=0 - output fmat or bang<br>
 
   | outlets=0 - output fmat or bang<br>
 
}}
 
}}
Line 135: Line 135:
 
   | brief=generate waveform/function
 
   | brief=generate waveform/function
 
   | descr=Adds a given (and parametrised) waveform/function to an incomming vector.The user can chose among various waveforms/functions
 
   | descr=Adds a given (and parametrised) waveform/function to an incomming vector.The user can chose among various waveforms/functions
   | arguments=<&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - init generator function and parameters<br>
+
   | arguments=<&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - generator function and parameters [&#039;cosine&#039;]<br>
 
   | attributes=none
 
   | attributes=none
 
   | messages=set <&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - set generator function and parameters<br>
 
   | messages=set <&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - set generator function and parameters<br>
Line 146: Line 146:
 
   | brief=estimate harmonics from a given spectrum (or any other vector)
 
   | brief=estimate harmonics from a given spectrum (or any other vector)
 
   | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input.
 
   | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input.
   | arguments=0 <num: max harms> - init maximum number of harmonics to be estimated<br>1 <num: freq in Hz> - init fundamental frequency in Hz<br>2 <num: factor> - init allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>
+
   | arguments=0 <num: max harms> - maximum number of harmonics to be estimated [16]<br>1 <num: freq> - fundamental frequency in Hz [10]<br>2 <num: factor> - allowed deviation factor from theoretic harmonic frequency (linear factor of f0) [1.0]<br>
   | attributes=scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized)<br>
+
   | attributes=down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br>
   | messages=width <num: freq> - set maximum width for harmonic peaks<br>height <num: amp> - set minimum height for harmonic peaks<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq <num: freq in Hz> - set fundamental frequency<br>max <num: max harms> - set maximum number of harmonics to be estimated<br>
+
   | messages=width <num: freq> - set maximum width for harmonic peaks<br>height <num: amp> - set minimum height for harmonic peaks<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq <num: freq> - set fundamental frequency in Hz<br>max <num: max harms> - set maximum number of harmonics to be estimated<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector><br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector><br>
 
   | outlets=0 <fmat: vector> - vector of harmonics<br>
 
   | outlets=0 <fmat: vector> - vector of harmonics<br>
Line 157: Line 157:
 
   | brief=inverse fast Fourier transform
 
   | brief=inverse fast Fourier transform
 
   | descr=Calculates inverse FFT on incoming vector.
 
   | descr=Calculates inverse FFT on incoming vector.
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2)<br>
+
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2) [512]<br>
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode [&#039;auto&#039;]<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>
 
   | inlets=0 - messages only<br>
 
   | inlets=0 - messages only<br>
 
   | outlets=0 <fmat> - no description<br>
 
   | outlets=0 <fmat> - no description<br>
Line 168: Line 168:
 
   | brief=(to be documented)
 
   | brief=(to be documented)
 
   | descr=(to be documented)
 
   | descr=(to be documented)
   | arguments=0 <num: &#035; of points> - init the input size<br>1 <num: factor> - init the filtering factor<br>
+
   | arguments=0 <num: size> - size of input vector [13]<br>1 <num: factor> - filtering factor [0]<br>
   | attributes=out <fmat: output> - set ouput vector<br>mode <&#039;exp&#039;&#124;&#039;sin&#039;: mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable the inverse liftering mode<br>
+
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;exp&#039;&#124;&#039;sin&#039;: mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) [&#039;exp&#039;]<br>inv <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable the inverse liftering mode [0]<br>
   | messages=getstate - get the internal weights matrix<br>factor <num: factor> - set the filtering factor<br>insize <num: &#035; of points> - set the input size<br>out <fmat: output> - set ouput vector<br>mode <&#039;exp&#039;&#124;&#039;sin&#039;: mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable the inverse liftering mode<br>
+
   | messages=getstate - get internal weights matrix<br>factor <num: factor> - set filtering factor<br>insize <num: size> - size of input vector<br>out <fmat: output> - set output vector<br>mode <&#039;exp&#039;&#124;&#039;sin&#039;: mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) [&#039;exp&#039;]<br>inv <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable the inverse liftering mode [0]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - cepstrum vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - cepstrum vector<br>
 
   | outlets=0 <fmat: vector> - liftered cepstrum<br>1 <fmat: weights> - internal weights matrix<br>
 
   | outlets=0 <fmat: vector> - liftered cepstrum<br>1 <fmat: weights> - internal weights matrix<br>
Line 179: Line 179:
 
   | brief=linear prediction coefficients
 
   | brief=linear prediction coefficients
 
   | descr=Calculates LPC coefficients from incoming sinal frame.
 
   | descr=Calculates LPC coefficients from incoming sinal frame.
   | arguments=0 <num: order> - init LPC order<br>
+
   | arguments=0 <num: order> - LPC order [12]<br>
   | attributes=out <fmat: output> - set output vector<br>errasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float number output<br>
+
   | attributes=out <fmat: output> - set output vector<br>errasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float number output [0]<br>
   | messages=order <num: order> - set LPC order<br>out <fmat: output> - set output vector<br>errasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float number output<br>
+
   | messages=order <num: order> - set LPC order<br>out <fmat: output> - set output vector<br>errasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float number output [0]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 
   | outlets=0 <fmat: vector> - LPC coefficients<br>1 <num&#124;fmat: error> - prediciton error<br>2 <fmat: vector> - autocorrelation<br>3 <fmat: vector> - internal values<br>
 
   | outlets=0 <fmat: vector> - LPC coefficients<br>1 <num&#124;fmat: error> - prediciton error<br>2 <fmat: vector> - autocorrelation<br>3 <fmat: vector> - internal values<br>
Line 191: Line 191:
 
   | descr=Calculates and applies masking to incoming vector of partials.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
 
   | descr=Calculates and applies masking to incoming vector of partials.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
 
   | arguments=none
 
   | arguments=none
   | attributes=format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
+
   | attributes=out <fmat: output> - set output vector<br>format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format [&#039;fa&#039;]<br>
   | messages=calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
+
   | messages=calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>out <fmat: output> - set output vector<br>format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format [&#039;fa&#039;]<br>
 
   | inlets=0 <fmat: partials> - vector of partials (in given format)<br>
 
   | inlets=0 <fmat: partials> - vector of partials (in given format)<br>
 
   | outlets=0 <fmat: partials> - vector of partials (in given format)<br>
 
   | outlets=0 <fmat: partials> - vector of partials (in given format)<br>
Line 202: Line 202:
 
   | descr=(to be documented)
 
   | descr=(to be documented)
 
   | arguments=0 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0<br>1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1<br>
 
   | arguments=0 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0<br>1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1<br>
   | attributes=format - &#039;plain&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
+
   | attributes=out <fmat: output> - set output vector<br>format - &#039;fa&#039;&#124;&#039;ifa&#039;&#124;&#039;plain&#039;: input format> - set input matrix format [&#039;fa&#039;]<br>
  | messages=format - &#039;plain&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
+
  | messages=out <fmat: output> - set output vector<br>format - &#039;fa&#039;&#124;&#039;ifa&#039;&#124;&#039;plain&#039;: input format> - set input matrix format [&#039;fa&#039;]<br>
 
   | inlets=0 <num: factor> - morphing factor (0...1)<br>1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0<br>2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1<br>
 
   | inlets=0 <num: factor> - morphing factor (0...1)<br>1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0<br>2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1<br>
 
   | outlets=0 <fmat: partials> - vector of morphed paritals<br>
 
   | outlets=0 <fmat: partials> - vector of morphed paritals<br>
Line 212: Line 212:
 
   | brief=overlap-add
 
   | brief=overlap-add
 
   | descr=Performs the overlap-add of incoming vectors into a forward delayline.The vector will be shortened at the end of the delayline.
 
   | descr=Performs the overlap-add of incoming vectors into a forward delayline.The vector will be shortened at the end of the delayline.
   | arguments=1 <num: size> - init buffer size<br>2 <num: delay> - init delay position<br>3 <num: channel> - init output channel (0: off)<br>
+
   | arguments=1 <num: size> - buffer size [100]<br>2 <num: delay> - delay position [0]<br>3 <num: channel> - output channel (0 switches off) [1]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>interp <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable interpolation<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>interp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<br>
   | messages=interp <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable interpolation<br>clear - clear delay line<br>
+
   | messages=interp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<br>clear - clear delay line<br>
   | inlets=0 <fmat&#124;fvec: vector> - overlap-add vector at given delay position<br>1 <num: delay> - set delay<br>2 <num: channel> - set output channel (0: off)<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - overlap-add vector at given delay position<br>1 <num: delay> - set delay<br>2 <num: channel> - set output channel (0 switches off)<br>
 
   | outlets=0 - sum delay line output<br>
 
   | outlets=0 - sum delay line output<br>
 
}}
 
}}
Line 223: Line 223:
 
   | brief=paste a grain (fmat or fvec) into a drain
 
   | brief=paste a grain (fmat or fvec) into a drain
 
   | descr=Copies a vector into a drain with a given delay.The vector will be shortened at the end of the drain.
 
   | descr=Copies a vector into a drain with a given delay.The vector will be shortened at the end of the drain.
   | arguments=0 <delayline&#124;fmat&#124;fvec: destination> - init destination (write delay line or fmat)<br>1 <num: delay> - init delay position<br>
+
   | arguments=0 <delayline&#124;fmat&#124;fvec: destination> - destination (write delay line or fmat)<br>1 <num: delay> - delay position [0]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>interp <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable interpolation<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>interp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<br>
   | messages=set <delayline&#124;fmat&#124;fvec: destination> - set destination (write delay line, fmat or fvec)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>interp <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable interpolation<br>
+
   | messages=set <delayline&#124;fmat&#124;fvec: destination> - set destination (write delay line, fmat or fvec)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples [&#039;msec&#039;]<br>inte\ rp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - paste vector at given delay position<br>1 - set delay position<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - paste vector at given delay position<br>1 - set delay position<br>
 
   | outlets=none
 
   | outlets=none
Line 233: Line 233:
 
   | name=gbr.peaks
 
   | name=gbr.peaks
 
   | brief=estimate peaks (partials) from a given spectrum (or any other vector)
 
   | brief=estimate peaks (partials) from a given spectrum (or any other vector)
   | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of peaks in an incoming vector.The estimation of partials in a spectrum works best when a logarthimic amplitude spectrum is provided as input.
+
   | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of peaks in an incoming vector.The estimation of partials in a spectrum works best when a logarthimic amplitude spectrum (positive frequencies) is provided as input.
   | arguments=0 <num: max peaks> - init maximum number of peaks to be estimated<br>
+
   | arguments=0 <num: max peaks> - maximum number of peaks to be estimated [16]<br>
   | attributes=range <min: boundary> <max: boundary> - band where to search for peaks<br>scale - num&#124;&#039;ny&#039;&#124;&#039;sr&#039;: factor> - set frequency scaling factor (negative factors are applied to a normalized domain)<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks<br>
+
   | attributes=range <min: boundary> <max: boundary> - band where to search for peaks<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks [&#039;lowest&#039;]<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br>
   | messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>scale - num&#124;&#039;ny&#039;&#124;&#039;sr&#039;: factor> - set frequency scaling factor (negative factors are applied to a normalized domain)<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks<br>
+
   | messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks [&#039;lowest&#039;]<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector (spectrum)><br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector (spectrum)><br>
 
   | outlets=0 <fmat: vector> - vector of peaks<br>
 
   | outlets=0 <fmat: vector> - vector of peaks<br>
Line 245: Line 245:
 
   | brief=(to be documented)
 
   | brief=(to be documented)
 
   | descr=(to be documented)
 
   | descr=(to be documented)
   | arguments=0 <num: factor> - init filtering factor<br>
+
   | arguments=0 <num: factor> - filtering factor [0]<br>
   | attributes=out - set the ouput object<br>
+
   | attributes=out - set output object<br>
   | messages=clear - clear any previous sample<br>getstate - get the previous sample<br>factor <num: factor> - set filtering factor<br>out - set the ouput object<br>
+
   | messages=clear - clear any previous sample<br>getstate - get the previous sample<br>factor <num: factor> - set filtering factor<br>out - set output object<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input signal<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input signal<br>
   | outlets=0 <fmat: vector> - ouput preemphasised signal<br>1 <fmat: vector> - previous frame<br>
+
   | outlets=0 <fmat: vector> - output preemphasised frame<br>1 <fmat: vector> - previous frame<br>
 
}}
 
}}
  
Line 257: Line 257:
 
   | descr=Cuts incoming signal into elementary waveforms.Outputs vectors corresponding to two periods of the estimated frequency or fixed duration (256 points) when unvoiced.
 
   | descr=Cuts incoming signal into elementary waveforms.Outputs vectors corresponding to two periods of the estimated frequency or fixed duration (256 points) when unvoiced.
 
   | arguments=none
 
   | arguments=none
   | attributes=enable - enable/disable calculation and output<br>
+
   | attributes=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output [&#039;on&#039;]<br>
   | messages=threshold <num: pitch> [<num: noise>] - set pitch and noise tresholds<br>enable - enable/disable calculation and output<br>
+
   | messages=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output [&#039;on&#039;]<br>
 
   | inlets=0 - input signal to be analysed and cut into elemetary waveforms<br>
 
   | inlets=0 - input signal to be analysed and cut into elemetary waveforms<br>
   | outlets=0 <fmat: vector> - elementary waveforms (2 periods)<br>1 <num: freq in Hz> - estimated frequency (0, when unvoiced)<br>2 <num: freq in H> - normaised YIN periodicity factor<br>3 <num: factor> (linear) energy<br>
+
   | outlets=0 <fmat: vector> - elementary waveforms (2 periods)<br>1 <num: freq> - estimated frequency in Hz (0, when unvoiced)<br>2 <num: periodicity> - yin periodicity/quality factor<br>3 <num: factor> (linear) energy<br>
 
}}
 
}}
  
Line 267: Line 267:
 
   | brief=resampling
 
   | brief=resampling
 
   | descr=Resamples incoming vector in different modes:'cubic' (cubic interpolation), 'downmean' (downsampling by calculating the mean of a given number of values), 'downremove' (picks nearest value)
 
   | descr=Resamples incoming vector in different modes:'cubic' (cubic interpolation), 'downmean' (downsampling by calculating the mean of a given number of values), 'downremove' (picks nearest value)
   | arguments=0 <num: order> - init resampling order/increment (1.)<br>
+
   | arguments=0 <num: order> - resampling order/increment [1]<br>
 
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;cubic&#039;&#124;&#039;downmean&#039;&#124;&#039;downremove&#039;: mode> - set resampling mode<br>
 
   | attributes=out <fmat: output> - set output vector<br>mode <&#039;cubic&#039;&#124;&#039;downmean&#039;&#124;&#039;downremove&#039;: mode> - set resampling mode<br>
 
   | messages=out <fmat: output> - set output vector<br>mode <&#039;cubic&#039;&#124;&#039;downmean&#039;&#124;&#039;downremove&#039;: mode> - set resampling mode<br>
 
   | messages=out <fmat: output> - set output vector<br>mode <&#039;cubic&#039;&#124;&#039;downmean&#039;&#124;&#039;downremove&#039;: mode> - set resampling mode<br>
   | inlets=0 <fmat: vector> - input vector<br>1 <num: order> - set resampling order/increment (1.)<br>
+
   | inlets=0 <fmat: vector> - input vector<br>1 <num: order> - set resampling order/increment<br>
 
   | outlets=0 <fmat: vector> - output vector<br>
 
   | outlets=0 <fmat: vector> - output vector<br>
 
}}
 
}}
Line 278: Line 278:
 
   | brief=signal slicing
 
   | brief=signal slicing
 
   | descr=Cuts incoming signal into frames of given size with given period (hop size).
 
   | descr=Cuts incoming signal into frames of given size with given period (hop size).
   | arguments=0 <num: size> - init frame size<br>1 <num: size> - init hop size<br>
+
   | arguments=0 <num: size> - frame size [512]<br>1 <num: size> - hop size [256]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples (default)<br>enable <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
+
   | attributes=unit <&#039;samp&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;: unit> - set time unit to msecs, secs or samples [&#039;samp&#039;]<br>enable <bool: switch> - enable/disable calculation and output [&#039;on&#039;]<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
   | messages=set <num: frame> <num: hop> - set frame and hop size<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples (default)<br>enable <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#\ 039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
+
   | messages=unit <&#039;samp&#039;&#124;&#039;msec&#039;&#124;&#039;sec&#039;: unit> - set time unit to msecs, secs or samples [&#039;samp&#039;]<br>enable <bool: switch> - enable/disable calculation and output [&#039;on&#039;]<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
 
   | inlets=0 - input signal to be sliced into frames<br>
 
   | inlets=0 - input signal to be sliced into frames<br>
 
   | outlets=0 <fmat: vector> - signal frames<br>1 <undefined> - no description<br>
 
   | outlets=0 <fmat: vector> - signal frames<br>1 <undefined> - no description<br>
Line 289: Line 289:
 
   | brief=input tap for write delay line
 
   | brief=input tap for write delay line
 
   | descr=Simple input tap for write delay line defined by gbr.dline~.
 
   | descr=Simple input tap for write delay line defined by gbr.dline~.
   | arguments=0 <delayline: write> - init delay line (defined by gbr.drain~)<br>1 <num: delay> - delay time (in given unit)<br>
+
   | arguments=0 <delayline: write> - delay line (defined by gbr.drain~)<br>1 <num: delay> - delay time (in given unit) [0]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples [&#039;msec&#039;]<br>
   | messages=set <delayline: write> - set delay line (defined by gbr.drain~)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples<br>
+
   | messages=set <delayline: write> - set delay line (defined by gbr.drain~)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples [&#039;msec&#039;]<br>
 
   | inlets=0 - input signal written to delay line<br>1 - set delay time<br>
 
   | inlets=0 - input signal written to delay line<br>1 - set delay time<br>
 
   | outlets=0 - zero output (for order-forcing)<br>
 
   | outlets=0 - zero output (for order-forcing)<br>
Line 300: Line 300:
 
   | brief=output tap for read delay line
 
   | brief=output tap for read delay line
 
   | descr=Simple output tap for read delay line defined by gbr.drain~.
 
   | descr=Simple output tap for read delay line defined by gbr.drain~.
   | arguments=0 <delayline: read> - init delay line (defined by gbr.dline~)<br>1 - delay time (in msec)<br>
+
   | arguments=0 <delayline: read> - delay line (defined by gbr.dline~)<br>1 - delay time (in given unit) [0]<br>
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples<br>interp - 0&#124;1&#124;&#039;off&#039;&#124;&#039;on&#124;&#039;cubic&#039;&#124;&#039;linear&#039;: mode> - interpolation mode<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples [&#039;msec&#039;]<br>interp - 0&#124;1&#124;&#039;off&#039;&#124;&#039;on&#124;&#039;cubic&#039;&#124;&#039;linear&#039;: mode> - interpolation mode [&#039;off&#039;]<br>
   | messages=set <delayline: read> - set delay line (defined by gbr.dline~)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples<br>interp - 0&#124;1&#124;&#039;off&#039;&#124;&#039;on&#124;&\ #039;cubic&#039;&#124;&#039;linear&#039;: mode> - interpolation mode<br>
+
   | messages=set <delayline: read> - set delay line (defined by gbr.dline~)<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set delay unit to msecs, secs or samples [&#039;msec&#039;]<br>interp - 0&#124;1&#124;&#039;off&#039;&#\ 124;&#039;on&#124;&#039;cubic&#039;&#124;&#039;linear&#039;: mode> - interpolation mode [&#039;off&#039;]<br>
 
   | inlets=0 - (order-forcing input)<br>1 <sig&#124;num: delay> - delay time<br>
 
   | inlets=0 - (order-forcing input)<br>1 <sig&#124;num: delay> - delay time<br>
 
   | outlets=0 - delayed signal<br>
 
   | outlets=0 - delayed signal<br>
Line 312: Line 312:
 
   | descr=stop watch in Gabor scheduling scheme
 
   | descr=stop watch in Gabor scheduling scheme
 
   | arguments=none
 
   | arguments=none
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;hz&#039;&#124;: unit> - set timer unit to msecs, secs, samples or Hz<br>
+
   | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;hz&#039;&#124;: unit> - set timer unit to msecs, secs, samples or Hz [&#039;msec&#039;]<br>
   | messages=bang - report time since last bang<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;hz&#039;&#124;: unit> - set timer unit to msecs, secs, samples or Hz<br>
+
   | messages=bang - report time since last bang<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;hz&#039;&#124;: unit> - set timer unit to msecs, secs, samples or Hz [&#039;msec&#039;]<br>
 
   | inlets=0 - messages only<br>
 
   | inlets=0 - messages only<br>
 
   | outlets=0 <num: time> - time in given unit<br>
 
   | outlets=0 <num: time> - time in given unit<br>
Line 322: Line 322:
 
   | brief=(to be documented)
 
   | brief=(to be documented)
 
   | descr=(to be documented)
 
   | descr=(to be documented)
   | arguments=0 <num: max> - init maximum number of peaks<br>
+
   | arguments=0 <num: max> - maximum number of peaks [200]<br>
   | attributes=maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max - (to be documented)<br>
+
   | attributes=maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max <num: maximum number of partials [200]><br>
   | messages=clear - (to be documented)<br>maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max - (to be documented)<br>
+
   | messages=clear - (to be documented)<br>maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max <num: maximum number of partials [200]><br>
 
   | inlets=0 <fmat: partials> - vector of partials<br>
 
   | inlets=0 <fmat: partials> - vector of partials<br>
 
   | outlets=0 <fmat: partials> - vector of traced partials (with index)<br>
 
   | outlets=0 <fmat: partials> - vector of traced partials (with index)<br>
}}
 
 
{{Module |
 
  | name=gbr.unwrap
 
  | brief=
 
  | descr=
 
  | arguments=0 - init range<br>
 
  | attributes=none
 
  | messages=range - set unwrap range<br>
 
  | inlets=0 - messages only<br>
 
  | outlets=0 - undefined<br>
 
 
}}
 
}}
  
Line 344: Line 333:
 
   | brief=apply a window to an incoming frame, grain or wave
 
   | brief=apply a window to an incoming frame, grain or wave
 
   | descr=Applies a chosen (and parametrized) window to the incomming fmat (column by column).The user can chose among various window types (see help patch).
 
   | descr=Applies a chosen (and parametrized) window to the incomming fmat (column by column).The user can chose among various window types (see help patch).
   | arguments=<sym: function> [<any: parameters> ...] - init window function and parameters<br>
+
   | arguments=<sym: function> [<any: parameters> ...] - window function and parameters [&#039;hann&#039;]<br>
 
   | attributes=none
 
   | attributes=none
 
   | messages=set <sym: function> [<any: parameters> ...] - set window function and parameters<br>
 
   | messages=set <sym: function> [<any: parameters> ...] - set window function and parameters<br>
Line 355: Line 344:
 
   | brief=fundamentatal frequency estimation after de Cheveigné and Kawahara
 
   | brief=fundamentatal frequency estimation after de Cheveigné and Kawahara
 
   | descr=Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients.
 
   | descr=Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients.
   | arguments=0 - minimum frequency (lowest analysed frequency) (default 50.)<br>1 - YIN threshold (default 0.68)<br>
+
   | arguments=0 <num: min freq> - lowest estimated frequency in Hz [50.]<br>1 - quality/periodicity threshold [0.68]<br>
   | attributes=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br>
+
   | attributes=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br>
   | messages=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br>
+
   | messages=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br>
 
   | inlets=0 - signal frame (fmat or fvec<br>
 
   | inlets=0 - signal frame (fmat or fvec<br>
   | outlets=0 <num: freq in Hz> - estimated frequency<br>1 <num: energy> - energy factor<br>2 <num: perodicity> - periodicity factor<br>3 <num: ac1> - 2nd autocorrelation coefficient (ac1)<br>4 <fmat: acf> - vector of autocorrelation coefficients<br>
+
   | outlets=0 <num: freq> - estimated frequency in Hz<br>1 <num: energy> - energy factor<br>2 <num: perodicity> - quality/periodicity factor<br>3 <num: ac1> - 2nd autocorrelation coefficient (ac1)<br>4 <fmat: acf> - vector of autocorrelation coefficients<br>
 
}}
 
}}

Revision as of 22:15, 2 March 2008


gbr.addenv additive synthesis: generate partials with a given envelope
Adds partials with a spectral envolope (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addenv or gbr.addpartials module.
arguments: 0 <num: max> - maximum number of partials [64]
attributes: noisy <bool: switch> - enable/disbale noisiness ['off']
coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]
messages: noisy <bool: switch> - enable/disbale noisiness ['off']
coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]
inlets: 0 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials
1 <num|fmat|fvec|list: freq(s)> - fundamental frequency (num: for harmonics) or vector of partials frequencies
2 <num|fmat|fvec|list: spectral envelope> - spectral envelope (given values will be linearly interpolated)
3 <num|fmat|fvec|list: phase(s)> - phase (num: for all partials) or vector of phases for the given partials
outlets: 0 <fmat> - no description

gbr.addpartials additive synthesis: generate partials with given frequencies and amplitudes
Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.
Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
arguments: 0 - maximum number of partials [64]
attributes: format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']
noisy <bool: switch> - enable/disbale noisiness ['off']
coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]
messages: format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']
noisy <bool: switch> - enable/disbale noisiness ['off']
coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]
inlets: 0 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials
1 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies
2 <num|fmat|fvec|list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes
3 <num|fmat|fvec|list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials
outlets: 0 <fmat> - no description

gbr.autox auto correlation and similar
Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin).
arguments: 0 <num: size> - calculation size [256]
1 <num: width> - window width [256]
attributes: out <fmat: output> - set output vector
mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode ['corr']
scale <num: factor> - set scaling factor [1]
messages: size <num: size> - set calculation size (maximum output size)
width <num: width> - set window width
out <fmat: output> - set output vector
scale <num: factor> - set scaling factor [1]
inlets: 0 <fmat|fvec: vector> - input vector
outlets: 0 <fmat: vector> - auto correlation vector

gbr.bands calulate frequency bands (or integrate bands of a similar domain)
Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode).
arguments: [<num: boundaries> ...] | <num: input size> <num: output size> - input spectrum size and output bands number, or boundaries
attributes: out <fmat: output> - set output vector
integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']
scale <num: factor> - set bands filter scale [1]
maxfreq <num: max freq> - set output maximum frequency [sr /2]
minfreq <num: min freq> - set output minimum frequency [0]
mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']
down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]
domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]
messages: getstate - get the internal weights matrix
bounds [<num: bounaries> ...] - set band boundaries
outsize <num: output size> - set number of output bands
insize <num: input size> - set input spectrum size
out <fmat: output> - set output vector
integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']
scale <num: factor> - set bands filter scale [1]
maxfreq <num: max freq> - set output maximum frequency [sr /2]
minfreq <num: min freq> - set output minimum frequency [0]
mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']
down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]
domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]
inlets: 0 <fmat|fvec: spectrum>: - vector of values (amplitude or power spectrum)
outlets: 0 <fmat: ceofficients> - vector of output coefficients
1 <fmat: weights> - internal weights matrix

gbr.bq constant Q
Calculates a constant Q transform on an incoming spectrum [J.Brown, M.Puckette 1992].Its input is typically connected to gbr.fft (in real mode).
arguments: <num: FFT size> <num: min freq> <num: channels per octave> <num: threshold> <num: number of channels> - filter kernel parameters
attributes: channels <num: channels> - set number of channels to calculate [all]
messages: channels <num: channels> - set number of channels to calculate [all]
inlets: 0 <fmat: spectrum> - complex vector of (positive frequencies)
outlets: 0 <fmat: coefficients> - filter bands

gbr.copy copy vector (fmat) out of a delay line or an fmat or fvec)
Copies a grain (fmat vector) of a given duration out of a delay line at a given delay time and outputs an fmat reference.If the given delay time is less than the the duration the vector will be shortened
arguments: 0 <delayline|fmat|fvec: source> - source reference
1 <num: duration> - grain duration [100]
attributes: out <fmat: output> - set output vector
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
messages: bang - copy vector from the beginning of the delay line and output
set <delayline|fmat|fvec: source> - set source
out <fmat: output> - set output vector
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
inlets: 0 <num: delay> - copy and output grain at given delay position
1 <num: duration> - set duration
outlets: 0 <fmat: vector> - copied grain

gbr.crossx cross correlation and similar
Calculates correlation, distance, quadratic distance and sum magnitude difference function.
arguments: 0 <num: size> - calculation size [256]
1 <num: width> - window width [256]
2 <fmat|fvec: vector> - right operand
attributes: out <fmat: output> - set output vector
mode <'corr'|'dist'|'dist2'|'smdf': mode> - set calculation mode
scale <num: factor> - set scaling factor [1]
messages: width <num: width> - set window width
size <num: size> - set calculation size (maximum output size)
out <fmat: output> - set output vector
scale <num: factor> - set scaling factor [1]
inlets: 0 <fmat|fvec: vector> - left input vector
1 <fmat|fvec: vector> - right input vector
outlets: 0 <fmat: vector> - cross correlation vector

gbr.dct discrete cosine transform
Calculates a DCT of the incoming vector.
arguments: 0 <num: input size> - size of input vector [40]
1 <num: output size> - number of DCT coefficients to be calculated [13]
attributes: out <fmat: output> - set output vector
mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']
messages: getstate - get the internal weights matrix
outsize <num: output size> - set number of DCT coefficients to be calculated
insize <num: input size> - set size input vector
out <fmat: output> - set output vector
mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']
inlets: 0 <fmat|fvec: vector> - input vector
outlets: 0 <fmat: vector> - DCT coefficients
1 <fmat: vector> - internal weights matrix

gbr.dline~ classical delay line
Delay line to be used with gbr.copy and gbr.tapout~.
arguments: <sym: name> <num: size in given unit> - give name and size [none 100]
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
scope <'local'|'global'> - set delayline name scope ['global']
messages: freeze <'0'|'1': freeze>] - enable/disable delay line freeze
clear - zero delay line
inlets: 0 - write signal into delay line
outlets: 0 - thru output (for order-forcing)

gbr.drain~ forward delay line
Delay line to write with different delays to be used with gbr.paste and gbr.tapin~.
arguments: <sym: name> <num: size in given unit> - give name and size [none 100]
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
scope <'local'|'global'> - set delayline name scope ['global']
messages: clear - clear delay line
inlets: 0 - (order-forcing input)
outlets: 0 - sum delay line output

gbr.fft fast Fourier transform
Calculates FFT on incoming vector.
arguments: 0 <num: size> - FFT size (rounded to the next power of 2) [512]
attributes: out <fmat: output> - set output vector
mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']
scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]
messages: out <fmat: output> - set output vector
scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]
inlets: 0 <fmat|fvec: vector> - real or conplex input vector
outlets: 0 <fmat: vector> - real or conplex output vector

gbr.fire~ Gabor timing impulse generator
Periodically outputs a given fmat or a bang within the Gabor scheduling scheme.
arguments: <num: period> [<fmat: vector>] - frequency/period and fmat to fire [0]
attributes: out <fmat: out> - set output fmat
var <num: freq var> - set period variation (0...1) [0]
period <num: period> - set frequency/period [0]
unit <'hz'|'msec'|'sec'|'samp'|&#039\ ;midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples ['hz']
messages: out <fmat: out> - set output fmat
var <num: freq var> - set period variation (0...1) [0]
period <num: period> - set frequency/period [0]
unit <'hz'|'msec'|'sec'|'samp'|'m\ idi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples ['hz']
inlets: 0 <num: freq/period> - fire frequency/period (O is off)
1 <fmat: vector> - set fmat to fire
outlets: 0 - output fmat or bang

gbr.gen= generate waveform/function
Adds a given (and parametrised) waveform/function to an incomming vector.The user can chose among various waveforms/functions
arguments: <'cosine'|'sine': function> [<any: parameters> ...] - generator function and parameters ['cosine']
attributes: none
messages: set <'cosine'|'sine': function> [<any: parameters> ...] - set generator function and parameters
inlets: 0 <fmat|fvec: vector> - input vector to which the waveform/function will be added
1 [<any: parameters> ...] - set generator parameters
outlets: 0 <fmat|fvec: vector> - output incoming vector with added waveform/function

gbr.harms estimate harmonics from a given spectrum (or any other vector)
Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input.
arguments: 0 <num: max harms> - maximum number of harmonics to be estimated [16]
1 <num: freq> - fundamental frequency in Hz [10]
2 <num: factor> - allowed deviation factor from theoretic harmonic frequency (linear factor of f0) [1.0]
attributes: down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]
scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)
domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]
messages: width <num: freq> - set maximum width for harmonic peaks
height <num: amp> - set minimum height for harmonic peaks
interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)
delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)
freq <num: freq> - set fundamental frequency in Hz
max <num: max harms> - set maximum number of harmonics to be estimated
down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]
scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)
domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]
inlets: 0 <fmat|fvec: vector> - input vector>
outlets: 0 <fmat: vector> - vector of harmonics

gbr.ifft inverse fast Fourier transform
Calculates inverse FFT on incoming vector.
arguments: 0 <num: size> - FFT size (rounded to the next power of 2) [512]
attributes: out <fmat: output> - set output vector
mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']
scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]
messages: out <fmat: output> - set output vector
scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]
inlets: 0 - messages only
outlets: 0 <fmat> - no description

gbr.lifter (to be documented)
(to be documented)
arguments: 0 <num: size> - size of input vector [13]
1 <num: factor> - filtering factor [0]
attributes: out <fmat: output> - set output vector
mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']
inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]
messages: getstate - get internal weights matrix
factor <num: factor> - set filtering factor
insize <num: size> - size of input vector
out <fmat: output> - set output vector
mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']
inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]
inlets: 0 <fmat|fvec: vector> - cepstrum vector
outlets: 0 <fmat: vector> - liftered cepstrum
1 <fmat: weights> - internal weights matrix

gbr.lpc linear prediction coefficients
Calculates LPC coefficients from incoming sinal frame.
arguments: 0 <num: order> - LPC order [12]
attributes: out <fmat: output> - set output vector
errasfloat <'0'|'1': switch> - enable/disable float number output [0]
messages: order <num: order> - set LPC order
out <fmat: output> - set output vector
errasfloat <'0'|'1': switch> - enable/disable float number output [0]
inlets: 0 <fmat|fvec: vector> - input vector
outlets: 0 <fmat: vector> - LPC coefficients
1 <num|fmat: error> - prediciton error
2 <fmat: vector> - autocorrelation
3 <fmat: vector> - internal values

gbr.mask partial masking using critical band width
Calculates and applies masking to incoming vector of partials.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
arguments: none
attributes: out <fmat: output> - set output vector
format - 'fa'|'ifa': input format> - set input matrix format ['fa']
messages: calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation
slope <num: slope> [<num: slope>] - set (left and right) masking slope
out <fmat: output> - set output vector
format - 'fa'|'ifa': input format> - set input matrix format ['fa']
inlets: 0 <fmat: partials> - vector of partials (in given format)
outlets: 0 <fmat: partials> - vector of partials (in given format)

gbr.morph (to be documented)
(to be documented)
arguments: 0 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0
1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1
attributes: out <fmat: output> - set output vector
format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']
messages: out <fmat: output> - set output vector
format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']
inlets: 0 <num: factor> - morphing factor (0...1)
1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0
2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1
outlets: 0 <fmat: partials> - vector of morphed paritals

gbr.ola~ overlap-add
Performs the overlap-add of incoming vectors into a forward delayline.The vector will be shortened at the end of the delayline.
arguments: 1 <num: size> - buffer size [100]
2 <num: delay> - delay position [0]
3 <num: channel> - output channel (0 switches off) [1]
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
interp <bool: switch> - enable/disable interpolation ['off']
messages: interp <bool: switch> - enable/disable interpolation ['off']
clear - clear delay line
inlets: 0 <fmat|fvec: vector> - overlap-add vector at given delay position
1 <num: delay> - set delay
2 <num: channel> - set output channel (0 switches off)
outlets: 0 - sum delay line output

gbr.paste paste a grain (fmat or fvec) into a drain
Copies a vector into a drain with a given delay.The vector will be shortened at the end of the drain.
arguments: 0 <delayline|fmat|fvec: destination> - destination (write delay line or fmat)
1 <num: delay> - delay position [0]
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
interp <bool: switch> - enable/disable interpolation ['off']
messages: set <delayline|fmat|fvec: destination> - set destination (write delay line, fmat or fvec)
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
inte\ rp <bool: switch> - enable/disable interpolation ['off']
inlets: 0 <fmat|fvec: vector> - paste vector at given delay position
1 - set delay position
outlets: none

gbr.peaks estimate peaks (partials) from a given spectrum (or any other vector)
Estimates frequencies (interpolated and scaled indices) and amplitudes of peaks in an incoming vector.The estimation of partials in a spectrum works best when a logarthimic amplitude spectrum (positive frequencies) is provided as input.
arguments: 0 <num: max peaks> - maximum number of peaks to be estimated [16]
attributes: range <min: boundary> <max: boundary> - band where to search for peaks
keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']
down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]
scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)
domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]
messages: dev <num: value> - set maximum deviation from mean value
width <num: freq> - set maximum width for peaks (indicates sinusoïdality)
height <num: amp> - set minimum height for peaks
max <num: max peaks> - set maximum number of peaks to be estimated
range <min: boundary> <max: boundary> - band where to search for peaks
keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']
down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]
scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)
domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]
inlets: 0 <fmat|fvec: vector> - input vector (spectrum)>
outlets: 0 <fmat: vector> - vector of peaks

gbr.preemphasis (to be documented)
(to be documented)
arguments: 0 <num: factor> - filtering factor [0]
attributes: out - set output object
messages: clear - clear any previous sample
getstate - get the previous sample
factor <num: factor> - set filtering factor
out - set output object
inlets: 0 <fmat|fvec: vector> - input signal
outlets: 0 <fmat: vector> - output preemphasised frame
1 <fmat: vector> - previous frame

gbr.psy~ pysch synchronous (YIN-based) signal slicing
Cuts incoming signal into elementary waveforms.Outputs vectors corresponding to two periods of the estimated frequency or fixed duration (256 points) when unvoiced.
arguments: none
attributes: threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]
enable <bool: switch> - enable/disable calculation and output ['on']
messages: threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]
enable <bool: switch> - enable/disable calculation and output ['on']
inlets: 0 - input signal to be analysed and cut into elemetary waveforms
outlets: 0 <fmat: vector> - elementary waveforms (2 periods)
1 <num: freq> - estimated frequency in Hz (0, when unvoiced)
2 <num: periodicity> - yin periodicity/quality factor
3 <num: factor> (linear) energy

gbr.resample resampling
Resamples incoming vector in different modes:'cubic' (cubic interpolation), 'downmean' (downsampling by calculating the mean of a given number of values), 'downremove' (picks nearest value)
arguments: 0 <num: order> - resampling order/increment [1]
attributes: out <fmat: output> - set output vector
mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode
messages: out <fmat: output> - set output vector
mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode
inlets: 0 <fmat: vector> - input vector
1 <num: order> - set resampling order/increment
outlets: 0 <fmat: vector> - output vector

gbr.slice~ signal slicing
Cuts incoming signal into frames of given size with given period (hop size).
arguments: 0 <num: size> - frame size [512]
1 <num: size> - hop size [256]
attributes: unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']
enable <bool: switch> - enable/disable calculation and output ['on']
period <num: size> - set hop size
size <num: size> - set frame size
messages: unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']
enable <bool: switch> - enable/disable calculation and output ['on']
period <num: size> - set hop size
size <num: size> - set frame size
inlets: 0 - input signal to be sliced into frames
outlets: 0 <fmat: vector> - signal frames
1 <undefined> - no description

gbr.tapin~ input tap for write delay line
Simple input tap for write delay line defined by gbr.dline~.
arguments: 0 <delayline: write> - delay line (defined by gbr.drain~)
1 <num: delay> - delay time (in given unit) [0]
attributes: unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']
messages: set <delayline: write> - set delay line (defined by gbr.drain~)
unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']
inlets: 0 - input signal written to delay line
1 - set delay time
outlets: 0 - zero output (for order-forcing)

gbr.tapout~ output tap for read delay line
Simple output tap for read delay line defined by gbr.drain~.
arguments: 0 <delayline: read> - delay line (defined by gbr.dline~)
1 - delay time (in given unit) [0]
attributes: unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']
interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode ['off']
messages: set <delayline: read> - set delay line (defined by gbr.dline~)
unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']
interp - 0|1|'off'&#\ 124;'on|'cubic'|'linear': mode> - interpolation mode ['off']
inlets: 0 - (order-forcing input)
1 <sig|num: delay> - delay time
outlets: 0 - delayed signal

gbr.timer~ gabor timer
stop watch in Gabor scheduling scheme
arguments: none
attributes: unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']
messages: bang - report time since last bang
unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']
inlets: 0 - messages only
outlets: 0 <num: time> - time in given unit

gbr.trace (to be documented)
(to be documented)
arguments: 0 <num: max> - maximum number of peaks [200]
attributes: maxpasses - (to be documented)
absamp - (to be documented)
absfreq - (to be documented)
relfreq - (to be documented)
max <num: maximum number of partials [200]>
messages: clear - (to be documented)
maxpasses - (to be documented)
absamp - (to be documented)
absfreq - (to be documented)
relfreq - (to be documented)
max <num: maximum number of partials [200]>
inlets: 0 <fmat: partials> - vector of partials
outlets: 0 <fmat: partials> - vector of traced partials (with index)

gbr.wind= apply a window to an incoming frame, grain or wave
Applies a chosen (and parametrized) window to the incomming fmat (column by column).The user can chose among various window types (see help patch).
arguments: <sym: function> [<any: parameters> ...] - window function and parameters ['hann']
attributes: none
messages: set <sym: function> [<any: parameters> ...] - set window function and parameters
inlets: 0 <fmat|fvec: vector> - input vector to be windowed
1 [<any: parameters> ...] - set window parameters
outlets: 0 <fmat|fvec: vector> - output incoming vector with applied window

gbr.yin fundamentatal frequency estimation after de Cheveigné and Kawahara
Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients.
arguments: 0 <num: min freq> - lowest estimated frequency in Hz [50.]
1 - quality/periodicity threshold [0.68]
attributes: down <num: factor> - down sampling factor of incoming frames [1]
threshold <num: threshold> - quality/periodicity threshold
minfreq <num: min freq> - lowest estimated frequency in Hz
messages: down <num: factor> - down sampling factor of incoming frames [1]
threshold <num: threshold> - quality/periodicity threshold
minfreq <num: min freq> - lowest estimated frequency in Hz
inlets: 0 - signal frame (fmat or fvec
outlets: 0 <num: freq> - estimated frequency in Hz
1 <num: energy> - energy factor
2 <num: perodicity> - quality/periodicity factor
3 <num: ac1> - 2nd autocorrelation coefficient (ac1)
4 <fmat: acf> - vector of autocorrelation coefficients