From ftm
Jump to: navigation, search
(Reference under construction...)
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Module |
+
* gbr.addenv ... Additive synthesis: generate partials with a given envelope
  | name=ftm.print
+
* gbr.addpartials ... Additive synthesis: generate partials with given frequencies and amplitudes
  | brief=print to the console
+
* gbr.autox ... Auto correlation and similar
  | descr=Prints any input (single values, lists, messages) to the console.
+
* gbr.bands ... FFT filter bands
Evokes print method of FTM objects when incoming as single value.
+
* gbr.bq ... Constant Q
  | arguments=0 <sym: prompt> - prompt symbol<br>
+
* gbr.copy ... Copy vector (fmat) out of a delay line or an fmat or fvec
  | attributes=none
+
* gbr.crossx ... Cross correlation and similar
  | messages=anything - print message or FTM object<br>bang - print bang<br>
+
* gbr.dct ... Discrete cosine transform
  | inlets=0 [<any: values> ...] - print value or list<br>
+
* gbr.dline~ ... Classical delay line
  | outlets=none
+
* gbr.drain~ ... Forward delay line
}}
+
* gbr.fft ... Fast Fourier transform
 +
* gbr.fire~ ... Gabor timing impulse generator
 +
* gbr.gen= ... Generate waveform/function
 +
* gbr.harms ... Estimate harmonics from a given spectrum (or any other vector)
 +
* gbr.ifft ... Inverse fast Fourier transform
 +
* gbr.lifter ... Cepstral liftering
 +
* gbr.lpc ... Linear prediction coefficients
 +
* gbr.mask ... Partial masking using critical band width
 +
* gbr.morph ... Partials sets interpolation
 +
* gbr.ola~ ... Overlap-add
 +
* gbr.paste ... Paste a grain (fmat or fvec) into a drain
 +
* gbr.peaks ... Estimate peaks (partials) from a given spectrum (or any other vector)
 +
* gbr.preemphasis ... Simple first order difference filter
 +
* gbr.psy~ ... Pitch synchronous (YIN-based) signal slicing
 +
* gbr.resample ... Resampling
 +
* gbr.schedule~ ... Delay/scheduler respecting Gabor timing
 +
* gbr.slice~ ... Signal slicing
 +
* gbr.tapin~ ... Input tap for write delay line
 +
* gbr.tapout~ ... Output tap for read delay line
 +
* gbr.timer~ ... Gabor timer
 +
* gbr.trace ... Trace and index peaks
 +
* gbr.wind= ... Apply a window to an incoming frame, grain or wave
 +
* gbr.yin ... Fundamental frequency estimation after de Cheveigne and Kawahara
 +
 
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.addenv
 
   | name=gbr.addenv
   | 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=1 <num: max> - maximum number of partials [64]<br>2 <num: size> - spectrum size (0: input size) [0]<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=coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br>noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>zero <bool: switch> - zero spectrum before adding partials [&#039;off&#039;]<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=postdoc - post external doc to console<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
+
   | inlets=1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>2 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - fundamental frequency (num: for harmonics) or vector of partials frequencies<br>3 <num&#124;fmat&#124;fvec&#124;list: spectral envelope> - spectral envelope (given values will be linearly interpolated)<br>4 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - phase (num: for all partials) or vector of phases for the given partials<br>
... 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
+
   | outlets=1 <fmat: spectrum> - output spectrum with added partials<br>
... vector of phases for the given partials<br>
 
   | outlets=0 <fmat> - no description<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.addpartials
 
   | name=gbr.addpartials
   | 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
+
   | 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.
... 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'
+
   | arguments=1 <num: max> - maximum number of partials [64]<br>2 <num: size> - spectrum size (0: input size) [0]<br>
... requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes.
+
   | attributes=coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br>noisy <bool: switch> - enable/disbale noisiness [&#039;off&#039;]<br>zero <bool: switch> - zero spectrum before adding partials [&#039;off&#039;]<br>format <&#039;vec&#039;&#124;&#039;fa&#039;&#124;&#039;ifa&#039;: format> - set input matrix/vector format [&#039;vec&#039;]<br>
   | arguments=0 - maximum number of partials (default is 64)<br>
+
  | messages=postdoc - post external doc to console<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
+
   | inlets=1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>2 <num&#124;fmat&#124;fvec&#124;list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>3 <num&#124;fmat&#124;fvec&#124;list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes<br>4 <num&#124;fmat&#124;fvec&#124;list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br>
... spectral bin coefficients<br>
+
   | outlets=1 <fmat: spectrum> - output spectrum with added partials<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>
 
   | 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>
 
   | outlets=0 <fmat> - no description<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.autox
 
   | name=gbr.autox
   | 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=1 <num: size> - calculation size [256]<br>2 <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
+
   | attributes=scale <num: factor> - set scaling factor [1]<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>out <fmat: output> - set output vector<br>
... factor<br>
+
   | messages=postdoc - post external doc to console<br>width <num: width> - set window width<br>size <num: size> - set calculation size (maximum output size)<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>
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector<br>
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
+
   | outlets=1 <fmat: vector> - auto correlation vector<br>
   | outlets=0 <fmat: vector> - auto correlation vector<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.bands
 
   | name=gbr.bands
   | brief=calulate frequency bands on an incoming spectrum (or similar domain)
+
   | brief=FFT filter bands
   | 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=Calculate filter bands from FFT spectrum.
   | arguments=<num: input size> <num: ouput size> &#124; [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries<br>
+
   | arguments=<num: min> <num: max> &#124; <num: insize> <num: outsize> - init bands boundaries or input spectrum size and number of output bands<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
+
   | attributes=bands <&#039;bounds&#039;&#124;&#039;mel&#039;&#124;&#039;htkmel&#039;&#124;&#039;fcmel&#039;: mode> - set the bands mode [bounds]<br>minfreq <num: min> - set the output minimum frequency in hz<br>maxfreq <num: max> - set the output maximum frequency in hz<br>scale <num: scale> - set the bands filter scale<br>integ <&#039;sqrabs&#039;&#124;&#039;abs&#039;: spec> - set the spectrum integration type [sqrabs]<br>domain <num: domain> - set domain of output bands (<= 0 sets to sr/2)<br>domscale <num: factor> - set scaling factor of output bands (overwrites domain and down) [1]<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and domscale)<br>out <fmat: out> - set output matrix<br>
... 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
+
  | messages=postdoc - post external doc to console<br>insize <num: insize> - set the input spectrum size<br>outsize <num: outsize> - set the number of output bands<br>bounds <list: boundaries> - set band boundaries<br>getstate - get the internal weights matrix<br>
... 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>
+
   | inlets=1 <fmat&#124;fvec: input> - input spectrum<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
+
   | outlets=1 <fmat: output> - output bands<br>2 <fmat: weights> - internal weights matrix<br>
... 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>
 
   | inlets=0 <fmat&#124;fvec>: - spectrum (positive frequencies)<br>
 
   | outlets=0 <fmat: bands/ceofficients> - vector of coefficients/bands<br>1 <fmat: weights> - internal weights matrix<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.bq
 
   | name=gbr.bq
   | brief=constant Q
+
   | brief=Constant Q
   | 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).
+
   | 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=postdoc - post external doc to console<br>
   | inlets=0 <fmat: complex vector> - input spectrum (positive frquencies)<br>
+
   | inlets=1 <fmat: spectrum> - complex vector of (positive frequencies)<br>
   | outlets=0 <fmat: coefficients> - filter bands<br>
+
   | outlets=1 <fmat: coefficients> - filter bands<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.copy
 
   | name=gbr.copy
   | 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=1 <delayline&#124;fmat&#124;fvec: source> - source reference<br>2 <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=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>out <fmat: output> - set output vector<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;:
+
   | messages=postdoc - post external doc to console<br>set <delayline&#124;fmat&#124;fvec: source> - set source<br>bang - copy vector from the beginning of the delay line and output<br>
... unit> - set time unit to msecs, secs or samples<br>
+
   | inlets=1 <num: delay> - copy and output grain at given delay position<br>2 <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=1 <fmat: vector> - copied grain<br>
   | outlets=0 <fmat: vector> - copied grain<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.crossx
 
   | name=gbr.crossx
   | 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=1 <num: size> - calculation size [256]<br>2 <num: width> - window width [256]<br>3 <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=scale <num: factor> - set scaling factor [1]<br>mode <&#039;corr&#039;&#124;&#039;dist&#039;&#124;&#039;dist2&#039;&#124;&#039;smdf&#039;: mode> - set calculation mode<br>out <fmat: output> - set output vector<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=postdoc - post external doc to console<br>size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>
   | inlets=0 <fmat&#124;fvec: vector> - left input vector<br>1 <fmat&#124;fvec: vector> - right input vector<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - left input vector<br>2 <fmat&#124;fvec: vector> - right input vector<br>
   | outlets=0 <fmat: vector> - cross correlation vector<br>
+
   | outlets=1 <fmat: vector> - cross correlation vector<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.dct
 
   | name=gbr.dct
   | 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=1 <num: input size> - size of input vector [40]<br>2 <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=mode <&#039;slaney&#039;&#124;&#039;htk&#039;&#124;fc&#039;> - set discrete cosine transform mode [&#039;slaney&#039;]<br>out <fmat: output> - set output vector<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\
+
   | messages=postdoc - post external doc to console<br>insize <num: input size> - set size input vector<br>outsize <num: output size> - set number of DCT coefficients to be calculated<br>getstate - get the internal weights matrix<br>
... ;&#124;fc&#039;> - set the discrete cosine transform mode<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector<br>
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
+
   | outlets=1 <fmat: vector> - DCT coefficients<br>2 <fmat: vector> - internal weights matrix<br>
   | outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.dline~
 
   | name=gbr.dline~
   | 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=scope <&#039;local&#039;&#124;&#039;global&#039;: scope> - set delayline name scope [&#039;global&#039;]<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=freeze <&#039;0&#039;&#124;&#039;1&#039;: freeze>] - enable/disable delay line freeze<br>clear - zero delay line<br>
+
   | messages=postdoc - post external doc to console<br>clear - zero delay line<br>freeze <&#039;0&#039;&#124;&#039;1&#039;: freeze>] - enable/disable delay line freeze<br>
   | inlets=0 - write signal into delay line<br>
+
   | inlets=1 - write signal into delay line<br>
   | outlets=0 - thru output (for order-forcing)<br>
+
   | outlets=1 - thru output (for order-forcing)<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.drain~
 
   | name=gbr.drain~
   | 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=scope <&#039;local&#039;&#124;&#039;global&#039;: scope> - set delayline name scope [&#039;global&#039;]<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=clear - clear delay line<br>
+
   | messages=postdoc - post external doc to console<br>clear - clear delay line<br>
   | inlets=0 - (order-forcing input)<br>
+
   | inlets=1 - messages only<br>
   | outlets=0 - sum delay line output<br>
+
   | outlets=1 - sum delay line output<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.fft
 
   | name=gbr.fft
   | 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=1 <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=scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode [&#039;auto&#039;]<br>out <fmat: output> - set output vector<br>
  | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
  | messages=postdoc - post external doc to console<br>
   | inlets=0 <fmat&#124;fvec: vector> - real or conplex input vector<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - real or conplex input vector<br>
   | outlets=0 <fmat: vector> - real or conplex output vector<br>
+
   | outlets=1 <fmat: vector> - real or conplex output vector<br>
 
}}
 
}}
  
Line 151: Line 158:
 
   | name=gbr.fire~
 
   | name=gbr.fire~
 
   | 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\
+
   | attributes=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>period <num: period> - set frequency/period [0]<br>var <num: freq var> - set period variation (0...1) [0]<br>out <fmat: out> - set output fmat<br>
... amp&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
+
  | messages=postdoc - post external doc to console<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\
+
   | inlets=1 <num: freq/period> - fire frequency/period (O is off)<br>2 <fmat: vector> - set fmat to fire<br>
... p&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
+
   | outlets=1 - output fmat or bang<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>
 
   | outlets=0 - output fmat or bang<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.gen=
 
   | name=gbr.gen=
   | 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> <list: 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=postdoc - post external doc to console<br>set <&#039;cosine&#039;&#124;&#039;sine&#039;: function> <list: parameters> - set generator function and parameters<br>
   | inlets=0 <fmat&#124;fvec: vector> - input vector to which the waveform/function will be added<br>1 [<any: parameters> ...] - set generator parameters<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector to which the waveform/function will be added<br>2 <list: parameters> - set generator parameters<br>
   | outlets=0 <fmat&#124;fvec: vector> - output incoming vector with added waveform/function<br>
+
   | outlets=1 <fmat&#124;fvec: vector> - output incoming vector with added waveform/function<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.harms
 
   | name=gbr.harms
   | 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
+
   | 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.
... estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input.
+
   | arguments=1 <num: max harms> - maximum number of harmonics to be estimated [16]<br>2 <num: freq> - fundamental frequency in Hz [10]<br>3 <num: factor> - allowed deviation factor from theoretic harmonic frequency (linear factor of f0) [1.0]<br>
   | 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
+
   | attributes=none
... factor of f0)<br>
+
  | messages=postdoc - post external doc to console<br>max <num: max harms> - set maximum number of harmonics to be estimated<br>freq <num: freq> - set fundamental frequency in Hz<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>height <num: amp> - set minimum height for harmonic peaks<br>width <num: freq> - set maximum width for harmonic peaks<br>
   | attributes=scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized)<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector><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
+
   | outlets=1 <fmat: vector> - vector of harmonics<br>
... <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>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector><br>
 
   | outlets=0 <fmat: vector> - vector of harmonics<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.ifft
 
   | name=gbr.ifft
   | 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=1 <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=scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br>mode <&#039;auto&#039;&#124;&#039;complex&#039;&#124;&#039;real&#039;: mode> - FFT mode [&#039;auto&#039;]<br>out <fmat: output> - set output vector<br>
  | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
+
  | messages=postdoc - post external doc to console<br>
   | inlets=0 - messages only<br>
+
   | inlets=1 - messages only<br>
   | outlets=0 <fmat> - no description<br>
+
   | outlets=1 <fmat> - no description<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.lifter
 
   | name=gbr.lifter
   | brief=(to be documented)
+
   | brief=Cepstral liftering
   | descr=(to be documented)
+
   | descr=Cepstral liftering (HTK and Auditory Toolbox styles)
   | arguments=0 <num: &#035; of points> - init the input size<br>1 <num: factor> - init the filtering factor<br>
+
   | arguments=1 <num: size> - size of input vector [13]<br>2 <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;:
+
   | attributes=inv <bool: switch> - enable/disable the inverse liftering mode [0]<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>out <fmat: output> - set output vector<br>
... switch> - enable/disable the inverse liftering mode<br>
+
   | messages=postdoc - post external doc to console<br>insize <num: size> - size of input vector<br>factor <num: factor> - set filtering factor<br>getstate - get internal weights matrix<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;:
+
   | inlets=1 <fmat&#124;fvec: vector> - cepstrum vector<br>
... 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>
+
   | outlets=1 <fmat: vector> - liftered cepstrum<br>2 <fmat: weights> - internal weights matrix<br>
   | inlets=0 <fmat&#124;fvec: vector> - cepstrum vector<br>
 
   | outlets=0 <fmat: vector> - liftered cepstrum<br>1 <fmat: weights> - internal weights matrix<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.lpc
 
   | name=gbr.lpc
   | 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=1 <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=errasfloat <bool: switch> - enable/disable float number output [off]<br>out <fmat: output> - set output vector<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=postdoc - post external doc to console<br>order <num: order> - set LPC order<br>
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
+
   | inlets=1 <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=1 <fmat: vector> - LPC coefficients<br>2 <num&#124;fmat: error> - prediciton error<br>3 <fmat: vector> - autocorrelation<br>4 <fmat: vector> - internal values<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.mask
 
   | name=gbr.mask
   | brief=partial masking using critical band width
+
   | brief=Partial masking using critical band width
   | 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,
+
   | 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.
... '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=format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format [&#039;fa&#039;]<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>format -
+
   | messages=postdoc - post external doc to console<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>
... &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
+
   | inlets=1 <fmat: partials> - vector of partials (in given format)<br>
   | inlets=0 <fmat: partials> - vector of partials (in given format)<br>
+
   | outlets=1 <fmat: partials> - vector of partials (in given format)<br>
   | outlets=0 <fmat: partials> - vector of partials (in given format)<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.morph
 
   | name=gbr.morph
   | brief=(to be documented)
+
   | brief=Partials sets interpolation
   | descr=(to be documented)
+
   | descr=Partials sets interpolation using indexes, frequencies and amplitudes
   | 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=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>
   | 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=format - &#039;fa&#039;&#124;&#039;ifa&#039;&#124;&#039;plain&#039;: input format> - set input matrix format [&#039;fa&#039;]<br>out <fmat: output> - set output vector<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=postdoc - post external doc to console<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=1 <num: factor> - morphing factor (0...1)<br>2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0<br>3 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1<br>
   | outlets=0 <fmat: partials> - vector of morphed paritals<br>
+
   | outlets=1 <fmat: partials> - vector of morphed paritals<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.ola~
 
   | name=gbr.ola~
   | 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: channels> - number of output channels [1]<br>2 <num: size> - buffer size [100]<br>3 <num: delay> - delay position [0]<br>4 <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:
+
   | attributes=interp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<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>
... switch> - enable/disable interpolation<br>
+
   | messages=postdoc - post external doc to console<br>clear - clear delay line<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>
+
   | inlets=1 <fmat&#124;fvec: vector> - overlap-add vector at given delay position<br>2 <num: delay> - set delay<br>3 <num: channel> - set output channel (0 switches 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: off)<br>
+
   | outlets=1 - sum delay line output<br>
   | outlets=0 - sum delay line output<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.paste
 
   | name=gbr.paste
   | 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=1 <delayline&#124;fmat&#124;fvec: destination> - destination (write delay line or fmat)<br>2 <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:
+
   | attributes=interp <bool: switch> - enable/disable interpolation [&#039;off&#039;]<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>
... switch> - enable/disable interpolation<br>
+
   | messages=postdoc - post external doc to console<br>set <delayline&#124;fmat&#124;fvec: destination> - set destination (write delay line, fmat or fvec)<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
+
   | inlets=1 <fmat&#124;fvec: vector> - paste vector at given delay position<br>2 <num: delay> - set delay position<br>
... <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0: switch> - enable/disable interpolation<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - paste vector at given delay position<br>1 - set delay position<br>
 
 
   | outlets=none
 
   | outlets=none
 
}}
 
}}
Line 272: Line 267:
 
{{Module |  
 
{{Module |  
 
   | 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=1 <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
+
   | attributes=domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br>domscale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and domscale) [1]<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks [&#039;lowest&#039;]<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>
... <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks<br>
+
  | messages=postdoc - post external doc to console<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>height <num: amp> - set minimum height for peaks<br>width <num: freq> - set maximum width for peaks (indicates sinuso�dality)<br>dev <num: value> - set maximum deviation from mean value<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
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector (spectrum)><br>
... 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
+
   | outlets=1 <fmat: vector> - vector of peaks<br>
... to a normalized domain)<br>keep <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks<br>
 
   | inlets=0 <fmat&#124;fvec: vector> - input vector (spectrum)><br>
 
   | outlets=0 <fmat: vector> - vector of peaks<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.preemphasis
 
   | name=gbr.preemphasis
   | brief=(to be documented)
+
   | brief=Simple first order difference filter
   | descr=(to be documented)
+
   | descr=Simple first order difference filter
   | arguments=0 <num: factor> - init filtering factor<br>
+
   | arguments=1 <num: factor> - filtering factor [0]<br>
   | attributes=out - set the ouput object<br>
+
   | attributes=out <fmat: out> - set output vector<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=postdoc - post external doc to console<br>factor <num: factor> - set filtering factor<br>getstate - get the previous sample<br>clear - clear any previous sample<br>
   | inlets=0 <fmat&#124;fvec: vector> - input signal<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - input signal<br>
   | outlets=0 <fmat: vector> - ouput preemphasised signal<br>1 <fmat: vector> - previous frame<br>
+
   | outlets=1 <fmat: vector> - output preemphasised frame<br>2 <fmat: vector> - previous frame<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.psy~
 
   | name=gbr.psy~
   | brief=pysch synchronous (YIN-based) signal slicing
+
   | brief=Pysch synchronous (YIN-based) signal slicing
   | 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=active <bool: switch> - activate/deactivate calculation and output [&#039;on&#039;]<br>threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>
  | messages=threshold <num: pitch> [<num: noise>] - set pitch and noise tresholds<br>enable - enable/disable calculation and output<br>
+
  | messages=postdoc - post external doc to console<br>
   | inlets=0 - input signal to be analysed and cut into elemetary waveforms<br>
+
   | inlets=1 - 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=1 <fmat: vector> - elementary waveforms (2 periods)<br>2 <num: freq> - estimated frequency in Hz (0, when unvoiced)<br>3 <num: periodicity> - yin periodicity/quality factor<br>4 <num: factor> (linear) energy<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.resample
 
   | name=gbr.resample
   | 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=1 <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=mode <&#039;cubic&#039;&#124;&#039;downmean&#039;&#124;&#039;downremove&#039;: mode> - set resampling mode<br>out <fmat: output> - set output vector<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=postdoc - post external doc to console<br>
   | inlets=0 <fmat: vector> - input vector<br>1 <num: order> - set resampling order/increment (1.)<br>
+
  | inlets=1 <fmat: vector> - input vector<br>2 <num: order> - set resampling order/increment<br>
   | outlets=0 <fmat: vector> - output vector<br>
+
  | outlets=1 <fmat: vector> - output vector<br>
 +
}}
 +
 
 +
{{Module |
 +
  | name=gbr.schedule~
 +
  | brief=Delay/scheduler respecting Gabor timing
 +
  | descr=Schedules matrices or bangs with given delay time.
 +
  | arguments=<num: delay> - delay time [0]<br>
 +
  | attributes=unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;&#124;&#039;hz&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set delay unit to msec, samples, etc [&#039;msec&#039;]<br>delay <num: delay> - set delay [0]<br>out <fmat: out> - set output fmat<br>
 +
  | messages=postdoc - post external doc to console<br>bang - input bang<br>stop - stop scheduled events<br>
 +
   | inlets=1 <fmat: vector> - delay fmat<br>2 <num: delay> - set delay<br>
 +
   | outlets=1 - output fmat or bang<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.slice~
 
   | name=gbr.slice~
   | 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=1 <num: size> - frame size [512]<br>2 <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:
+
   | attributes=size <num: size> - set frame size<br>period <num: size> - set hop size<br>active <bool: switch> - activate/deactivate calculation and output [&#039;on&#039;]<br>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>
... switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
+
  | messages=postdoc - post external doc to console<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&#\
+
   | inlets=1 - input signal to be sliced into frames<br>
... 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>
+
   | outlets=1 <fmat: vector> - signal frames<br>2 <undefined> - no description<br>
   | inlets=0 - input signal to be sliced into frames<br>
 
   | outlets=0 <fmat: vector> - signal frames<br>1 <undefined> - no description<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.tapin~
 
   | name=gbr.tapin~
   | 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=1 <delayline: write> - delay line (defined by gbr.drain~)<br>2 <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=postdoc - post external doc to console<br>set <delayline: write> - set delay line (defined by gbr.drain~)<br>
   | inlets=0 - input signal written to delay line<br>1 - set delay time<br>
+
   | inlets=1 - input signal written to delay line<br>2 - set delay time<br>
   | outlets=0 - zero output (for order-forcing)<br>
+
   | outlets=1 - signal outputundefined
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.tapout~
 
   | name=gbr.tapout~
   | 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=1 <delayline: read> - delay line (defined by gbr.dline~)<br>2 - 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;:
+
   | attributes=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>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>
... mode> - interpolation mode<br>
+
  | messages=postdoc - post external doc to console<br>set <delayline: read> - set delay line (defined by gbr.dline~)<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;&\
+
   | inlets=1 - messages only<br>2 <sig&#124;num: delay> - delay time<br>
... #039;cubic&#039;&#124;&#039;linear&#039;: mode> - interpolation mode<br>
+
   | outlets=1 - delayed signal<br>
   | inlets=0 - (order-forcing input)<br>1 <sig&#124;num: delay> - delay time<br>
 
   | outlets=0 - delayed signal<br>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.timer~
 
   | name=gbr.timer~
   | brief=gabor timer
+
   | brief=Gabor timer
 
   | 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=postdoc - post external doc to console<br>bang - report time since last bang<br>
   | inlets=0 - messages only<br>
+
   | inlets=1 - messages only<br>
   | outlets=0 <num: time> - time in given unit<br>
+
   | outlets=1 <num: time> - time in given unit<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.trace
 
   | name=gbr.trace
   | brief=(to be documented)
+
   | brief=Trace and index peaks
   | descr=(to be documented)
+
   | descr=Trace peaks from frame to frame to associate indexes to the peaks
   | arguments=0 <num: max> - init maximum number of peaks<br>
+
   | arguments=1 <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=max <num: max> - maximum number of partials [200]<br>relfreq <num: var> - allowed relative frequency variation for a peak to keep its index in cent > 0. (default: 20.)<br>absfreq <num: var> - allowed frequency variation for a peak to keep its index in Hz > 0. (default: 50.)<br>absamp <num: var> - allowed linear amplitude variation for a peak to keep its index > 0. (default: 0.5)<br>maxpasses <num: max> - maximum number of connection passes for the algorithm (default 4)<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=postdoc - post external doc to console<br>clear - reset (indexes start from 0, drops previous peaks set)<br>
   | inlets=0 <fmat: partials> - vector of partials<br>
+
   | inlets=1 <fmat: partials> - vector of partials<br>
   | outlets=0 <fmat: partials> - vector of traced partials (with index)<br>
+
   | outlets=1 <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>
 
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.wind=
 
   | name=gbr.wind=
   | 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> <list: 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=postdoc - post external doc to console<br>set <sym: function> <list: parameters> - set window function and parameters<br>
   | inlets=0 <fmat&#124;fvec: vector> - input vector to be windowed<br>1 [<any: parameters> ...] - set window parameters<br>
+
   | inlets=1 <fmat&#124;fvec: vector> - input vector to be windowed<br>2 <list: parameters> - set window parameters<br>
   | outlets=0 <fmat&#124;fvec: vector> - output incoming vector with applied window<br>
+
   | outlets=1 <fmat&#124;fvec: vector> - output incoming vector with applied window<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.yin
 
   | name=gbr.yin
   | brief=
+
   | brief=Fundamental frequency estimation after de Cheveigne and Kawahara
   | descr=
+
   | 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=1 <num: min freq> - lowest estimated frequency in Hz [50.]<br>2 - 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: threshold> - YIN threshold (0.68)<br>minfreq <num: min freq in Hz> - minimum
+
   | attributes=minfreq <num: min freq> - lowest estimated frequency in Hz<br>threshold <num: threshold> - quality/periodicity threshold<br>down <num: factor> - down sampling factor of incoming frames [1]<br>
... frequency in Hz (lowest analysed frequency) (50.)<br>
+
   | messages=postdoc - post external doc to console<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: threshold> - YIN threshold (0.68)<br>minfreq <num: min freq in Hz> - minimum
+
   | inlets=1 - signal frame (fmat or fvec<br>
... frequency in Hz (lowest analysed frequency) (50.)<br>
+
   | outlets=1 <num: freq> - estimated frequency in Hz<br>2 <num: energy> - energy factor<br>3 <num: perodicity> - quality/periodicity factor<br>4 <num: ac1> - 2nd autocorrelation coefficient (ac1)<br>5 <fmat: acf> - vector of autocorrelation coefficients<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>
 
 
}}
 
}}

Latest revision as of 00:21, 4 May 2009

  • gbr.addenv ... Additive synthesis: generate partials with a given envelope
  • gbr.addpartials ... Additive synthesis: generate partials with given frequencies and amplitudes
  • gbr.autox ... Auto correlation and similar
  • gbr.bands ... FFT filter bands
  • gbr.bq ... Constant Q
  • gbr.copy ... Copy vector (fmat) out of a delay line or an fmat or fvec
  • gbr.crossx ... Cross correlation and similar
  • gbr.dct ... Discrete cosine transform
  • gbr.dline~ ... Classical delay line
  • gbr.drain~ ... Forward delay line
  • gbr.fft ... Fast Fourier transform
  • gbr.fire~ ... Gabor timing impulse generator
  • gbr.gen= ... Generate waveform/function
  • gbr.harms ... Estimate harmonics from a given spectrum (or any other vector)
  • gbr.ifft ... Inverse fast Fourier transform
  • gbr.lifter ... Cepstral liftering
  • gbr.lpc ... Linear prediction coefficients
  • gbr.mask ... Partial masking using critical band width
  • gbr.morph ... Partials sets interpolation
  • gbr.ola~ ... Overlap-add
  • gbr.paste ... Paste a grain (fmat or fvec) into a drain
  • gbr.peaks ... Estimate peaks (partials) from a given spectrum (or any other vector)
  • gbr.preemphasis ... Simple first order difference filter
  • gbr.psy~ ... Pitch synchronous (YIN-based) signal slicing
  • gbr.resample ... Resampling
  • gbr.schedule~ ... Delay/scheduler respecting Gabor timing
  • gbr.slice~ ... Signal slicing
  • gbr.tapin~ ... Input tap for write delay line
  • gbr.tapout~ ... Output tap for read delay line
  • gbr.timer~ ... Gabor timer
  • gbr.trace ... Trace and index peaks
  • gbr.wind= ... Apply a window to an incoming frame, grain or wave
  • gbr.yin ... Fundamental frequency estimation after de Cheveigne and Kawahara



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: 1 <num: max> - maximum number of partials [64]
2 <num: size> - spectrum size (0: input size) [0]
attributes: coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]
noisy <bool: switch> - enable/disbale noisiness ['off']
zero <bool: switch> - zero spectrum before adding partials ['off']
messages: postdoc - post external doc to console
inlets: 1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials
2 <num|fmat|fvec|list: freq(s)> - fundamental frequency (num: for harmonics) or vector of partials frequencies
3 <num|fmat|fvec|list: spectral envelope> - spectral envelope (given values will be linearly interpolated)
4 <num|fmat|fvec|list: phase(s)> - phase (num: for all partials) or vector of phases for the given partials
outlets: 1 <fmat: spectrum> - output spectrum with added partials

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: 1 <num: max> - maximum number of partials [64]
2 <num: size> - spectrum size (0: input size) [0]
attributes: coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]
noisy <bool: switch> - enable/disbale noisiness ['off']
zero <bool: switch> - zero spectrum before adding partials ['off']
format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']
messages: postdoc - post external doc to console
inlets: 1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials
2 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies
3 <num|fmat|fvec|list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes
4 <num|fmat|fvec|list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials
outlets: 1 <fmat: spectrum> - output spectrum with added partials

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

gbr.bands FFT filter bands
Calculate filter bands from FFT spectrum.
arguments: <num: min> <num: max> | <num: insize> <num: outsize> - init bands boundaries or input spectrum size and number of output bands
attributes: bands <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set the bands mode [bounds]
minfreq <num: min> - set the output minimum frequency in hz
maxfreq <num: max> - set the output maximum frequency in hz
scale <num: scale> - set the bands filter scale
integ <'sqrabs'|'abs': spec> - set the spectrum integration type [sqrabs]
domain <num: domain> - set domain of output bands (<= 0 sets to sr/2)
domscale <num: factor> - set scaling factor of output bands (overwrites domain and down) [1]
down <num: down> - set down sampling factor of incoming frames (overwrites domain and domscale)
out <fmat: out> - set output matrix
messages: postdoc - post external doc to console
insize <num: insize> - set the input spectrum size
outsize <num: outsize> - set the number of output bands
bounds <list: boundaries> - set band boundaries
getstate - get the internal weights matrix
inlets: 1 <fmat|fvec: input> - input spectrum
outlets: 1 <fmat: output> - output bands
2 <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: postdoc - post external doc to console
inlets: 1 <fmat: spectrum> - complex vector of (positive frequencies)
outlets: 1 <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: 1 <delayline|fmat|fvec: source> - source reference
2 <num: duration> - grain duration [100]
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
set <delayline|fmat|fvec: source> - set source
bang - copy vector from the beginning of the delay line and output
inlets: 1 <num: delay> - copy and output grain at given delay position
2 <num: duration> - set duration
outlets: 1 <fmat: vector> - copied grain

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

gbr.dct Discrete cosine transform
Calculates a DCT of the incoming vector.
arguments: 1 <num: input size> - size of input vector [40]
2 <num: output size> - number of DCT coefficients to be calculated [13]
attributes: mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
insize <num: input size> - set size input vector
outsize <num: output size> - set number of DCT coefficients to be calculated
getstate - get the internal weights matrix
inlets: 1 <fmat|fvec: vector> - input vector
outlets: 1 <fmat: vector> - DCT coefficients
2 <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: scope <'local'|'global': scope> - set delayline name scope ['global']
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
messages: postdoc - post external doc to console
clear - zero delay line
freeze <'0'|'1': freeze>] - enable/disable delay line freeze
inlets: 1 - write signal into delay line
outlets: 1 - 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: scope <'local'|'global': scope> - set delayline name scope ['global']
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
messages: postdoc - post external doc to console
clear - clear delay line
inlets: 1 - messages only
outlets: 1 - sum delay line output

gbr.fft Fast Fourier transform
Calculates FFT on incoming vector.
arguments: 1 <num: size> - FFT size (rounded to the next power of 2) [512]
attributes: scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]
mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
inlets: 1 <fmat|fvec: vector> - real or conplex input vector
outlets: 1 <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: unit <'hz'|'msec'|'sec'|'samp'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples ['hz']
period <num: period> - set frequency/period [0]
var <num: freq var> - set period variation (0...1) [0]
out <fmat: out> - set output fmat
messages: postdoc - post external doc to console
inlets: 1 <num: freq/period> - fire frequency/period (O is off)
2 <fmat: vector> - set fmat to fire
outlets: 1 - 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> <list: parameters> - generator function and parameters ['cosine']
attributes: none
messages: postdoc - post external doc to console
set <'cosine'|'sine': function> <list: parameters> - set generator function and parameters
inlets: 1 <fmat|fvec: vector> - input vector to which the waveform/function will be added
2 <list: parameters> - set generator parameters
outlets: 1 <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: 1 <num: max harms> - maximum number of harmonics to be estimated [16]
2 <num: freq> - fundamental frequency in Hz [10]
3 <num: factor> - allowed deviation factor from theoretic harmonic frequency (linear factor of f0) [1.0]
attributes: none
messages: postdoc - post external doc to console
max <num: max harms> - set maximum number of harmonics to be estimated
freq <num: freq> - set fundamental frequency in Hz
delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)
interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)
height <num: amp> - set minimum height for harmonic peaks
width <num: freq> - set maximum width for harmonic peaks
inlets: 1 <fmat|fvec: vector> - input vector>
outlets: 1 <fmat: vector> - vector of harmonics

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

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

gbr.lpc Linear prediction coefficients
Calculates LPC coefficients from incoming sinal frame.
arguments: 1 <num: order> - LPC order [12]
attributes: errasfloat <bool: switch> - enable/disable float number output [off]
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
order <num: order> - set LPC order
inlets: 1 <fmat|fvec: vector> - input vector
outlets: 1 <fmat: vector> - LPC coefficients
2 <num|fmat: error> - prediciton error
3 <fmat: vector> - autocorrelation
4 <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: format - 'fa'|'ifa': input format> - set input matrix format ['fa']
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
slope <num: slope> [<num: slope>] - set (left and right) masking slope
calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation
inlets: 1 <fmat: partials> - vector of partials (in given format)
outlets: 1 <fmat: partials> - vector of partials (in given format)

gbr.morph Partials sets interpolation
Partials sets interpolation using indexes, frequencies and amplitudes
arguments: 1 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0
2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1
attributes: format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
inlets: 1 <num: factor> - morphing factor (0...1)
2 <fmat: partials> - vector of paritals corresponding to the interpolation factor 0
3 <fmat: partials> - vector of paritals corresponding to the interpolation factor 1
outlets: 1 <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: channels> - number of output channels [1]
2 <num: size> - buffer size [100]
3 <num: delay> - delay position [0]
4 <num: channel> - output channel (0 switches off) [1]
attributes: interp <bool: switch> - enable/disable interpolation ['off']
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
messages: postdoc - post external doc to console
clear - clear delay line
inlets: 1 <fmat|fvec: vector> - overlap-add vector at given delay position
2 <num: delay> - set delay
3 <num: channel> - set output channel (0 switches off)
outlets: 1 - 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: 1 <delayline|fmat|fvec: destination> - destination (write delay line or fmat)
2 <num: delay> - delay position [0]
attributes: interp <bool: switch> - enable/disable interpolation ['off']
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']
messages: postdoc - post external doc to console
set <delayline|fmat|fvec: destination> - set destination (write delay line, fmat or fvec)
inlets: 1 <fmat|fvec: vector> - paste vector at given delay position
2 <num: delay> - 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: 1 <num: max peaks> - maximum number of peaks to be estimated [16]
attributes: domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]
domscale <num: factor> - set scaling factor of output peaks (overwrites domain and down)
down <num: down> - set down sampling factor of incoming frames (overwrites domain and domscale) [1]
keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']
range <min: boundary> <max: boundary> - band where to search for peaks
messages: postdoc - post external doc to console
max <num: max peaks> - set maximum number of peaks to be estimated
height <num: amp> - set minimum height for peaks
width <num: freq> - set maximum width for peaks (indicates sinuso�dality)
dev <num: value> - set maximum deviation from mean value
inlets: 1 <fmat|fvec: vector> - input vector (spectrum)>
outlets: 1 <fmat: vector> - vector of peaks

gbr.preemphasis Simple first order difference filter
Simple first order difference filter
arguments: 1 <num: factor> - filtering factor [0]
attributes: out <fmat: out> - set output vector
messages: postdoc - post external doc to console
factor <num: factor> - set filtering factor
getstate - get the previous sample
clear - clear any previous sample
inlets: 1 <fmat|fvec: vector> - input signal
outlets: 1 <fmat: vector> - output preemphasised frame
2 <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: active <bool: switch> - activate/deactivate calculation and output ['on']
threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]
messages: postdoc - post external doc to console
inlets: 1 - input signal to be analysed and cut into elemetary waveforms
outlets: 1 <fmat: vector> - elementary waveforms (2 periods)
2 <num: freq> - estimated frequency in Hz (0, when unvoiced)
3 <num: periodicity> - yin periodicity/quality factor
4 <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: 1 <num: order> - resampling order/increment [1]
attributes: mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode
out <fmat: output> - set output vector
messages: postdoc - post external doc to console
inlets: 1 <fmat: vector> - input vector
2 <num: order> - set resampling order/increment
outlets: 1 <fmat: vector> - output vector

gbr.schedule~ Delay/scheduler respecting Gabor timing
Schedules matrices or bangs with given delay time.
arguments: <num: delay> - delay time [0]
attributes: unit <'msec'|'sec'|'samp'|'hz'|'midi'|'midicent': unit> - set delay unit to msec, samples, etc ['msec']
delay <num: delay> - set delay [0]
out <fmat: out> - set output fmat
messages: postdoc - post external doc to console
bang - input bang
stop - stop scheduled events
inlets: 1 <fmat: vector> - delay fmat
2 <num: delay> - set delay
outlets: 1 - output fmat or bang

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

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

gbr.tapout~ Output tap for read delay line
Simple output tap for read delay line defined by gbr.drain~.
arguments: 1 <delayline: read> - delay line (defined by gbr.dline~)
2 - delay time (in given unit) [0]
attributes: interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode ['off']
unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']
messages: postdoc - post external doc to console
set <delayline: read> - set delay line (defined by gbr.dline~)
inlets: 1 - messages only
2 <sig|num: delay> - delay time
outlets: 1 - 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: postdoc - post external doc to console
bang - report time since last bang
inlets: 1 - messages only
outlets: 1 <num: time> - time in given unit

gbr.trace Trace and index peaks
Trace peaks from frame to frame to associate indexes to the peaks
arguments: 1 <num: max> - maximum number of peaks [200]
attributes: max <num: max> - maximum number of partials [200]
relfreq <num: var> - allowed relative frequency variation for a peak to keep its index in cent > 0. (default: 20.)
absfreq <num: var> - allowed frequency variation for a peak to keep its index in Hz > 0. (default: 50.)
absamp <num: var> - allowed linear amplitude variation for a peak to keep its index > 0. (default: 0.5)
maxpasses <num: max> - maximum number of connection passes for the algorithm (default 4)
messages: postdoc - post external doc to console
clear - reset (indexes start from 0, drops previous peaks set)
inlets: 1 <fmat: partials> - vector of partials
outlets: 1 <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> <list: parameters> - window function and parameters ['hann']
attributes: none
messages: postdoc - post external doc to console
set <sym: function> <list: parameters> - set window function and parameters
inlets: 1 <fmat|fvec: vector> - input vector to be windowed
2 <list: parameters> - set window parameters
outlets: 1 <fmat|fvec: vector> - output incoming vector with applied window

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