From ftm
Jump to: navigation, search
(Reference under construction...)
Line 2: Line 2:
  
 
{{Module |  
 
{{Module |  
   | name=gbr.addenv
+
   | name=ftm.copy
 +
  | brief=
 +
  | descr=
 +
  | arguments=init class by name (optionally) and copy destination<br>
 +
  | attributes=none
 +
  | messages=set - set copy destination<br>
 +
  | inlets=0 - FTM object to copy<br>1 - set copy destination<br>
 +
  | outlets=0 - output (reference to) copy destination<br>
 +
}}
 +
 
 +
{{Module |
 +
  | name=ftm.iter
 +
  | brief=
 +
  | descr=
 +
  | arguments=none
 +
  | attributes=mode - set iterator mode<br>
 +
  | messages=none
 +
  | inlets=0 - Input FTM object reference<br>1 - Input start time for track iteration (default: 0)<br>2 - Input end time for track iteration (default: end of track)<br>
 +
  | outlets=0 - Output element<br>1 - Output index, time tag, key ...<br>
 +
}}
 +
 
 +
{{Module |
 +
  | name=ftm.mess
 +
  | brief=
 +
  | descr=
 +
  | arguments=none
 +
  | attributes=none
 +
  | messages=none
 +
  | inlets=0 - input list<br>
 +
  | outlets=0 - message outlet<br>
 +
}}
 +
 
 +
{{Module |
 +
  | name=ftm.object
 
   | brief=
 
   | brief=
 
   | descr=
 
   | descr=
 +
  | arguments=none
 +
  | attributes=none
 +
  | messages=bang - output reference<br>anything - message to object<br>
 +
  | inlets=none
 +
  | outlets=0 - object reference (when bang)<br>1 - method return values<br>
 +
}}
 +
 +
{{Module |
 +
  | name=ftm.print
 +
  | brief=print to the console
 +
  | descr=Prints any input (single values, lists, messages) to the console.
 +
Evokes print method of FTM objects when incoming as single value.
 +
  | arguments=0 <sym: prompt> - prompt symbol<br>
 +
  | attributes=none
 +
  | messages=anything - print message or FTM object<br>bang - print bang<br>
 +
  | inlets=0 [<any: values> ...] - print value or list<br>
 +
  | outlets=none
 +
}}
 +
 +
{{Module |
 +
  | name=gbr.addenv
 +
  | 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.
 
   | arguments=0 - maximum number of partials (default is 64)<br>
 
   | arguments=0 - maximum number of partials (default is 64)<br>
   | attributes=
+
   | attributes=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
   | messages=
+
   | messages=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: &#035; of coefs> - set number of FFT-1 spectral bin coefficients<br>
   | inlets=0 - messages only<br>1 <list> - no description<br>2 <list> - no description<br>3 <list> - no description<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>
 
   | outlets=0 <fmat> - no description<br>
 
   | outlets=0 <fmat> - no description<br>
 
}}
 
}}
Line 14: Line 72:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.addpartials
 
   | name=gbr.addpartials
   | brief=
+
   | brief=additive synthesis: generate partials with given frequencies and amplitudes
   | descr=
+
   | 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 (default is 64)<br>
   | attributes=
+
   | 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
   | messages=
+
... spectral bin coefficients<br>
   | inlets=0 - messages only<br>1 <list> - no description<br>2 <list> - no description<br>3 <list> - no description<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>
 
   | outlets=0 <fmat> - no description<br>
 
}}
 
}}
Line 25: Line 89:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.autox
 
   | name=gbr.autox
   | brief=
+
   | brief=auto correlation and similar
   | descr=
+
   | descr=Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin).
   | arguments=0 - initalize size<br>1 - initalize width<br>
+
   | arguments=0 <num: &#035; of points> - initalize calculation size<br>1 <num: &#035; of points> - initalize window width<br>
   | attributes=
+
   | 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
   | messages=
+
... factor<br>
   | inlets=0 - messages only<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>
   | outlets=0 <fmat> - no description<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 +
   | outlets=0 <fmat: vector> - auto correlation vector<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.bands
 
   | name=gbr.bands
   | brief=
+
   | brief=calulate frequency bands on an incoming spectrum (or similar domain)
   | descr=
+
   | 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=init input spectrum size and output bands number, or boundaries<br>
+
   | arguments=<num: input size> <num: ouput size> &#124; [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries<br>
   | attributes=integ - set the spectrum integration type<br>scale - set the bands filter scale<br>maxfreq - set the output maximum frequency in Herz<br>minfreq - set the output minimum frequency in Herz<br>mode - set the bands mode<br>specnyq - set the spectrum Nyquist frequency in Herz<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
   | messages=integ - set the spectrum integration type<br>scale - set the bands filter scale<br>maxfreq - set the output maximum frequency in Herz<br>minfreq - set the output minimum frequency in Herz<br>mode - set the bands mode<br>specnyq - set the spectrum Nyquist frequency in Herz<br>getstate - get the internal weights matrix<br>set - set band boundaries<br>bounds - set band boundaries<br>outsize - set the number of output bands<br>insize - set the input spectrum size<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
   | inlets=0 - input spectrum<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>
   | outlets=0 - output bands<br>1 - internal weights matrix<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>
 +
   | 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=
+
   | brief=constant Q
   | descr=
+
   | 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=initialize FFT size, min freq, channels per octave, threshold and channels<br>
+
   | arguments=<num: FFT size> <num: min freq> <num: channels per octave> <num: threshold> <num: number of channels> - init filter kernels<br>
   | attributes=
+
   | attributes=channels <num: &#035; of channels> - set number of channels to calculate<br>
   | messages=
+
   | messages=channels <num: &#035; of channels> - set number of channels to calculate<br>
   | inlets=0 - messages only<br>
+
   | inlets=0 <fmat: complex vector> - input spectrum (positive frquencies)<br>
   | outlets=0 <fmat> - no description<br>
+
   | outlets=0 <fmat: coefficients> - filter bands<br>
 
}}
 
}}
  
Line 59: Line 129:
 
   | 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=The module 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> - init source<br>1 <num: duration> - init grain duration<br>
   | attributes=out <fmat: output> - set output fmat<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<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 fmat<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<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> - output grain<br>
+
   | outlets=0 <fmat: vector> - copied grain<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.crossx
 
   | name=gbr.crossx
   | brief=
+
   | brief=cross correlation and similar
   | descr=
+
   | descr=Calculates correlation, distance, quadratic distance and sum magnitude difference function.
   | arguments=0 - initalize size<br>1 - initalize width<br>2 - initalize right operand<br>
+
   | 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>
   | attributes=
+
   | 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>
   | messages=
+
   | 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=0 - messages only<br>1 <obj> - no description<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - left input vector<br>1 <fmat&#124;fvec: vector> - right input vector<br>
   | outlets=0 <fmat> - no description<br>
+
   | outlets=0 <fmat: vector> - cross correlation vector<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.dct
 
   | name=gbr.dct
   | brief=
+
   | brief=discrete cosine transform
   | descr=
+
   | descr=Calculates a DCT of the incoming vector.
   | arguments=0 - initialize the input size<br>1 - initialize the output size<br>
+
   | arguments=0 <num: &#035; of points> - init the input size<br>1 <num: &#035; of points> - init the output size<br>
   | attributes=mode - 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 the discrete cosine transform mode<br>
   | messages=mode - set the discrete cosine transform mode<br>getstate - get the internal weights matrix<br>outsize - set the output size<br>insize - set the input size<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\
   | inlets=0 - input vector<br>
+
... ;&#124;fc&#039;> - set the discrete cosine transform mode<br>
   | outlets=0 - output transform<br>1 - internal weights matrix<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
 +
   | outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.dline~
 
   | name=gbr.dline~
   | brief=
+
   | brief=classical delay line
   | descr=
+
   | descr=Delay line to be used with gbr.copy and gbr.tapout~.
   | arguments=set delayline<br>
+
   | arguments=<sym: name> <num: size in given unit> - give name and size<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<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope<br>
   | messages=freeze [<num: on>] - freeze delay line<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>
 
   | outlets=0 - thru output (for order-forcing)<br>
 
   | outlets=0 - thru output (for order-forcing)<br>
Line 102: Line 174:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.drain~
 
   | name=gbr.drain~
   | brief=
+
   | brief=forward delay line
   | descr=
+
   | descr=Delay line to write with different delays to be used with gbr.paste and gbr.tapin~.
   | arguments=set delayline<br>
+
   | arguments=<sym: name> <num: size in given unit> - give name and size<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<br>scope <&#039;local&#039;&#124;&#039;global&#039;> - set delayline name scope<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>
 
   | outlets=0 - sum delay line output<br>
 
   | outlets=0 - sum delay line output<br>
 
}}
 
}}
Line 113: Line 185:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.fft
 
   | name=gbr.fft
   | brief=
+
   | brief=fast Fourier transform
   | descr=
+
   | descr=Calculates FFT on incoming vector.
   | arguments=0 - initialize FFT size<br>
+
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2)<br>
   | attributes=mode - set mode: &#039;complex&#039; &#124; &#039;real&#039; (default is &#039;auto&#039;)<br>out - set output fmat<br>scale - scaling factor (default is 1.)<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>
   | messages=out - set output fmat<br>scale - scaling factor (default is 1.)<br>
+
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<br>
   | inlets=0 - messages only<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - real or conplex input vector<br>
   | outlets=0 <fmat> - no description<br>
+
   | outlets=0 <fmat: vector> - real or conplex output vector<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.fire~
 
   | name=gbr.fire~
   | brief=
+
   | brief=Gabor timing impulse generator
   | descr=
+
   | descr=Periodically outputs a given fmat or a bang within the Gabor scheduling scheme.
   | arguments=initialize period (optional) and object to fire (default is bang)<br>
+
   | arguments=<num: period> [<fmat: vector>] - init period and fmat to fire (default is bang)<br>
   | attributes=var <num: freq var> - set frequency variation<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;samp&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<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\
   | messages=var <num: freq var> - set frequency variation<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;samp&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
+
... amp&#039;&#124;&#039;midi&#039;&#124;&#039;midicent&#039;: unit> - set frequency/period unit to Hz, msec or samples<br>
   | inlets=0 - fire frequency or period (depending on unit)<br>1 - set fmat to fire<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>
 +
   | 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>
 
   | outlets=0 - output fmat or bang<br>
 
}}
 
}}
Line 135: Line 209:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.gen=
 
   | name=gbr.gen=
   | brief=add a generated waveform/function to an incoming frame, grain or wave
+
   | brief=generate waveform/function
   | descr=Adds a chosen (and parametrized) waveform/function to the incomming fmat (column by column).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=init generator type (and parameters)<br>
+
   | arguments=<&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - init generator function and parameters<br>
 
   | attributes=none
 
   | attributes=none
   | messages=set - set generator type (and parameters)<br>
+
   | messages=set <&#039;cosine&#039;&#124;&#039;sine&#039;: function> [<any: parameters> ...] - set generator function and parameters<br>
   | inlets=0 - vector (fmat of fvec) to which the waveform/function will be added<br>1 - set generator type (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>
   | outlets=0 - vector (fmat of fvec) with added waveform/function<br>
+
   | outlets=0 <fmat&#124;fvec: vector> - output incoming vector with added waveform/function<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.harms
 
   | name=gbr.harms
   | brief=
+
   | brief=estimate harmonics from a given spectrum (or any other vector)
   | descr=
+
   | 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
   | arguments=0 - init number of harms<br>1 - init fundamental frequency (in Hz - default 0.0)<br>2 - init allowed deviation (linear factor - defaul 1.0)<br>
+
... 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>
 
   | attributes=scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized)<br>
 
   | attributes=scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized)<br>
   | messages=harmonicity - ???<br>width - set maximum width for harmonic harms<br>height - set minimum height for harmonic harms<br>interval - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq - set fundamental frequency (in Hz)<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
   | inlets=0 - messages only<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>
   | outlets=0 <fmat> - no description<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=
+
   | brief=inverse fast Fourier transform
   | descr=
+
   | descr=Calculates inverse FFT on incoming vector.
   | arguments=0 - initialize IFFT size<br>
+
   | arguments=0 <num: size> - FFT size (rounded to the next power of 2)<br>
   | attributes=mode - set mode: &#039;complex&#039; &#124; &#039;real&#039; (default is &#039;auto&#039;)<br>out - set output fmat<br>scale - scaling factor (default is 1.)<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>
   | messages=out - set output fmat<br>scale - scaling factor (default is 1.)<br>
+
   | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size<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 245:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.lifter
 
   | name=gbr.lifter
   | brief=
+
   | brief=(to be documented)
   | descr=
+
   | descr=(to be documented)
   | arguments=0 - initialize the input size<br>1 - initialize the filtering factor<br>
+
   | arguments=0 <num: &#035; of points> - init the input size<br>1 <num: factor> - init the filtering factor<br>
   | attributes=out - set the ouput object<br>mode - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv - set the inverse liftering mode: on (1) or off (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;:
   | messages=out - set the ouput object<br>mode - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv - set the inverse liftering mode: on (1) or off (0)<br>getstate - get the internal weights matrix<br>factor - set the filtering factor<br>insize - set the input size<br>
+
... switch> - enable/disable the inverse liftering mode<br>
   | inlets=0 - input cepstrum<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;:
   | outlets=0 - ouput liftered cepstrum<br>1 - internal weights matrix<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>
 +
   | 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=
+
   | brief=linear prediction coefficients
   | descr=
+
   | descr=Calculates LPC coefficients from incoming sinal frame.
   | arguments=0 - initialize the lpc order<br>
+
   | arguments=0 <num: order> - init LPC order<br>
   | attributes=errasfloat - autocorrelation mode<br>
+
   | attributes=out <fmat: output> - set output vector<br>errasfloat <&#039;0&#039;&#124;&#039;1&#039;: switch> - enable/disable float number output<br>
   | messages=errasfloat - autocorrelation mode<br>order - set the lpc order<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>
   | inlets=0 - input vector<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - input vector<br>
   | outlets=0 - output coefficients<br>1 - error on prediciton<br>2 - autocorrelation<br>3 - 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>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.mask
 
   | name=gbr.mask
   | brief=
+
   | brief=partial masking using critical band width
   | descr=
+
   | 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=
+
   | attributes=format - &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
   | messages=
+
   | 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 -
   | inlets=0 - messages only<br>
+
... &#039;fa&#039;&#124;&#039;ifa&#039;: input format> - set input matrix format<br>out <fmat: output> - set output vector<br>
   | outlets=0 <fmat> - no description<br>
+
   | inlets=0 <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=
+
   | brief=(to be documented)
   | descr=
+
   | descr=(to be documented)
   | arguments=0 - fmat of paritals corresponding to the interpolation factor 0<br>1 - fmat 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 - <br>out - set output fmat<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>
   | messages=format - <br>out - set output fmat<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>
   | inlets=0 - messages only<br>1 <fmat> - no description<br>2 <fmat> - no description<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 - undefined<br>
+
   | outlets=0 <fmat: partials> - vector of morphed paritals<br>
 
}}
 
}}
  
Line 213: Line 294:
 
   | name=gbr.ola~
 
   | name=gbr.ola~
 
   | brief=overlap-add
 
   | brief=overlap-add
   | descr=The module 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> - init buffer size<br>2 <num: delay> - init delay position<br>3 <num: channel> - init output channel (0: off)<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<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=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 <&#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=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: off)<br>
Line 224: Line 306:
 
   | 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=The module 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> - init destination (write delay line or fmat)<br>1 <num: delay> - init delay position<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<br>interp <&#039;on&#039;&#124;&#039;off&#039;&#124;&#039;yes&#039;&#124;&#039;no&#039;&#124;1&#124;0:
   | 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>
+
... 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<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>
 
   | 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 234: Line 318:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.peaks
 
   | name=gbr.peaks
   | brief=
+
   | brief=estimate peaks (partials) from a given spectrum (or any other vector)
   | descr=
+
   | 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.
   | arguments=0 - init number of peaks<br>
+
   | arguments=0 <num: max peaks> - init maximum number of peaks to be estimated<br>
   | attributes=range - range to search peaks<br>scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized domain)<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
   | messages=range - range to search peaks<br>scale - choose scale factor (&#039;ny&#039; &#124; &#039;sr&#039; &#124; <numeric factor>, negative factors are applied to a normalized domain)<br>
+
... <&#039;lowest&#039;&#124;&#039;strongest&#039;: mode> - keep first or strongest peaks<br>
   | inlets=0 - messages only<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
   | outlets=0 <fmat> - no description<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
 +
... 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=
+
   | brief=(to be documented)
   | descr=
+
   | descr=(to be documented)
   | arguments=0 - initialize the filtering factor<br>
+
   | arguments=0 <num: factor> - init filtering factor<br>
 
   | attributes=out - set the ouput object<br>
 
   | attributes=out - set the ouput object<br>
   | messages=out - set the ouput object<br>clear - clear any previous sample<br>getstate - get the previous sample<br>factor - set the filtering factor<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>
   | inlets=0 - input signal<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - input signal<br>
   | outlets=0 - ouput preemphasised signal<br>1 - previous sample<br>
+
   | outlets=0 <fmat: vector> - ouput preemphasised signal<br>1 <fmat: vector> - previous frame<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.psy~
 
   | name=gbr.psy~
   | brief=
+
   | brief=pysch synchronous (YIN-based) signal slicing
   | descr=
+
   | 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>sync <&#039;master&#039;&#124;&#039;slave&#039;: mode> - set sync mode><br>
+
   | attributes=enable - enable/disable calculation and output<br>
   | messages=threshold <num: pitch treshold> [<num: noise treshold>] - set tresholds<br>enable - enable/disable calculation and output<br>
+
   | messages=threshold <num: pitch> [<num: noise>] - set pitch and noise tresholds<br>enable - enable/disable calculation and output<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 - elementary waveforms (2 periods)<br>1 - pitch<br>2 - periodicity factor<br>3 - (linear) energy<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>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.resample
 
   | name=gbr.resample
   | brief=
+
   | brief=resampling
   | descr=
+
   | 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 - initialize resample increment (default is 1.)<br>
+
   | arguments=0 <num: order> - init resampling order/increment (1.)<br>
   | attributes=
+
   | 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=
+
   | 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 - messages only<br>1 <num> - no description<br>
+
   | inlets=0 <fmat: vector> - input vector<br>1 <num: order> - set resampling order/increment (1.)<br>
   | outlets=0 <fmat> - no description<br>
+
   | outlets=0 <fmat: vector> - output vector<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.slice~
 
   | name=gbr.slice~
   | brief=
+
   | brief=signal slicing
   | descr=
+
   | descr=Cuts incoming signal into frames of given size with given period (hop size).
   | arguments=0 <num: size> - window size<br>1 <num: size> - hop size<br>
+
   | arguments=0 <num: size> - init frame size<br>1 <num: size> - init hop size<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>sync <&#039;master&#039;&#124;&#039;slave&#039;: mode> - set sync mode><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:
   | messages=set - set window size 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>
+
... switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br>
   | inlets=0 - input signal to be sliced into frames (fmat vectors)<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&#\
   | outlets=0 - output frames<br>1 - output bang for synchronization<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>
 +
   | 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=write delay line (drain) input tap
+
   | brief=input tap for write delay line
   | descr=Simple input tap for write delay line driven by gbr.drain~.
+
   | descr=Simple input tap for write delay line defined by gbr.dline~.
   | arguments=0 - delay line (write type)<br>1 - delay time (in msec)<br>
+
   | arguments=0 <delayline: write> - init delay line (defined by gbr.drain~)<br>1 <num: delay> - delay time (in given unit)<br>
   | attributes=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 delay unit to msecs, secs or samples<br>
   | messages=set - set delay line<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time 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<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 389:
 
{{Module |  
 
{{Module |  
 
   | name=gbr.tapout~
 
   | name=gbr.tapout~
   | brief=write delay line (drain) input tap
+
   | brief=output tap for read delay line
   | descr=Simple input tap for write delay line driven by gbr.drain~.
+
   | descr=Simple output tap for read delay line defined by gbr.drain~.
   | arguments=0 - delay line (write type)<br>1 - delay time (in msec)<br>
+
   | arguments=0 <delayline: read> - init delay line (defined by gbr.dline~)<br>1 - delay time (in msec)<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 - interpolation mode (&#039;off&#039;&#124;0, &#039;on&#039;&#124;1&#124;&#039;cubic&#039; or &#039;linear&#039;<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;:
   | messages=set - set delay line<br>unit <&#039;msec&#039;&#124;&#039;sec&#039;&#124;&#039;samp&#039;: unit> - set time unit to msecs, secs or samples<br>interp - interpolation mode (&#039;off&#039;&#124;0, &#039;on&#039;&#124;1&#124;&#039;cubic&#039; or &#039;linear&#039;<br>
+
... mode> - interpolation mode<br>
   | inlets=0 - unused input (for order-forcing)<br>1 - delay time (signal or number)<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>
 +
   | 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 403:
 
   | name=gbr.timer~
 
   | name=gbr.timer~
 
   | brief=gabor timer
 
   | brief=gabor timer
   | descr=stop watch respecting gabor timing
+
   | descr=stop watch in Gabor scheduling scheme
 
   | arguments=none
 
   | arguments=none
   | attributes=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>
   | messages=bang - get time<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>
 
   | inlets=0 - messages only<br>
 
   | inlets=0 - messages only<br>
   | outlets=0 - output time<br>
+
   | outlets=0 <num: time> - time in given unit<br>
 
}}
 
}}
  
 
{{Module |  
 
{{Module |  
 
   | name=gbr.trace
 
   | name=gbr.trace
 +
  | brief=(to be documented)
 +
  | descr=(to be documented)
 +
  | arguments=0 <num: max> - init maximum number of peaks<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>
 +
  | 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>
 +
  | inlets=0 <fmat: partials> - vector of partials<br>
 +
  | outlets=0 <fmat: partials> - vector of traced partials (with index)<br>
 +
}}
 +
 +
{{Module |
 +
  | name=gbr.unwrap
 
   | brief=
 
   | brief=
 
   | descr=
 
   | descr=
   | arguments=0 - initialize number of peaks<br>
+
   | arguments=0 - init range<br>
   | attributes=
+
   | attributes=none
   | messages=
+
   | messages=range - set unwrap range<br>
 
   | inlets=0 - messages only<br>
 
   | inlets=0 - messages only<br>
 
   | outlets=0 - undefined<br>
 
   | outlets=0 - undefined<br>
Line 334: Line 436:
 
   | 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
+
   | 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=init window type (and parameters)<br>
+
   | arguments=<sym: function> [<any: parameters> ...] - init window function and parameters<br>
 
   | attributes=none
 
   | attributes=none
   | messages=set - set window type (and parameters)<br>
+
   | messages=set <sym: function> [<any: parameters> ...] - set window function and parameters<br>
   | inlets=0 - vector (fmat of fvec) to be windowed<br>1 - set window parameters<br>
+
   | inlets=0 <fmat&#124;fvec: vector> - input vector to be windowed<br>1 [<any: parameters> ...] - set window parameters<br>
   | outlets=0 - windowed vector (fmat of fvec)<br>
+
   | outlets=0 <fmat&#124;fvec: vector> - output incoming vector with applied window<br>
 
}}
 
}}
  
Line 346: Line 448:
 
   | brief=
 
   | brief=
 
   | descr=
 
   | descr=
   | arguments=0 - minimum frequency (lowest analysed frequency)<br>1 - YIN threshold (default 0.1)<br>
+
   | arguments=0 - minimum frequency (lowest analysed frequency) (default 50.)<br>1 - YIN threshold (default 0.68)<br>
   | attributes=threshold - YIN threshold (default 0.1)<br>minfreq - minimum frequency (lowest analysed frequency)<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
   | messages=threshold - YIN threshold (default 0.1)<br>minfreq - minimum frequency (lowest analysed frequency)<br>
+
... frequency in Hz (lowest analysed frequency) (50.)<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
 +
... frequency in Hz (lowest analysed frequency) (50.)<br>
 
   | inlets=0 - signal frame (fmat or fvec<br>
 
   | inlets=0 - signal frame (fmat or fvec<br>
   | outlets=0 - frequency in Hz<br>1 - energy factor<br>2 - periodicity factor<br>3 - 2nd autocorrelation coefficient (ac1)<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>
 
}}
 
}}

Revision as of 14:32, 2 March 2008

Reference under construction...


ftm.copy '
arguments: init class by name (optionally) and copy destination
attributes: none
messages: set - set copy destination
inlets: 0 - FTM object to copy
1 - set copy destination
outlets: 0 - output (reference to) copy destination

ftm.iter '
arguments: none
attributes: mode - set iterator mode
messages: none
inlets: 0 - Input FTM object reference
1 - Input start time for track iteration (default: 0)
2 - Input end time for track iteration (default: end of track)
outlets: 0 - Output element
1 - Output index, time tag, key ...

ftm.mess '
arguments: none
attributes: none
messages: none
inlets: 0 - input list
outlets: 0 - message outlet

ftm.object '
arguments: none
attributes: none
messages: bang - output reference
anything - message to object
inlets: none
outlets: 0 - object reference (when bang)
1 - method return values

ftm.print print to the console
Prints any input (single values, lists, messages) to the console.

Evokes print method of FTM objects when incoming as single value.

arguments: 0 <sym: prompt> - prompt symbol
attributes: none
messages: anything - print message or FTM object
bang - print bang
inlets: 0 [<any: values> ...] - print value or list
outlets: none

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 - maximum number of partials (default is 64)
attributes: noisy <bool: noisy flag> - enable/disbale noisiness
coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients
messages: noisy <bool: noisy flag> - enable/disbale noisiness
coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients
inlets: 0 <fmat: complex vector> - spectrum (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: spectral envelope> - set spectral envelope (given values will be linearly interpolated)
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.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 (default is 64)
attributes: format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format
noisy <bool: noisy flag> - enable/disbale noisiness
coefs <num: # of coefs> - set number of FFT-1

... spectral bin coefficients

messages: format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format
noisy <bool: noisy flag> - enable/disbale noisiness
coefs <num: # of coefs> - set number of FFT-1

... spectral bin coefficients

inlets: 0 <fmat: complex vector> - spectrum (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: # of points> - initalize calculation size
1 <num: # of points> - initalize window width
attributes: out <fmat: output> - set output vector
mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode
scale <num: factor> - set scaling

... factor

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
inlets: 0 <fmat|fvec: vector> - input vector
outlets: 0 <fmat: vector> - auto correlation vector

gbr.bands calulate frequency bands on an incoming spectrum (or 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: input size> <num: ouput size> | [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries
attributes: out <fmat: output> - set output vector
integ <'abs'|'sqrabs': type> - set the spectrum integration type
scale <num: factor> - set the bands filter scale
maxfreq <num: freq in Hz> - set

... the output maximum frequency
minfreq <num: freq in Hz> - set the output minimum frequency
mode <'bounds'|'mel'|'htkmel'|'fcmel'> - set the bands mode
sr <num: freq in ... Hz> - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq
specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.

messages: getstate - get the internal weights matrix
bounds [<num: bounaries> ...] - set band boundaries
outsize <num: # of points> - set the number of output bands
insize <num: # of points> - set the input spectrum

... size
out <fmat: output> - set output vector
integ <'abs'|'sqrabs': type> - set the spectrum integration type
scale <num: factor> - set the bands filter scale
maxfreq <num: freq in Hz> - set the ... output maximum frequency
minfreq <num: freq in Hz> - set the output minimum frequency
mode <'bounds'|'mel'|'htkmel'|'fcmel'> - set the bands mode
sr <num: freq in Hz> ... - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq
specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.

inlets: 0 <fmat|fvec>: - spectrum (positive frequencies)
outlets: 0 <fmat: bands/ceofficients> - vector of coefficients/bands
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> - init filter kernels
attributes: channels <num: # of channels> - set number of channels to calculate
messages: channels <num: # of channels> - set number of channels to calculate
inlets: 0 <fmat: complex vector> - input spectrum (positive frquencies)
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> - init source
1 <num: duration> - init grain duration
attributes: out <fmat: output> - set output vector
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples
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

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: # of points> - initalize calculation size
1 <num: # of points> - initalize window width
2 <fmat|fvec: vector> - initalize right operand
attributes: out <fmat: output> - set output vector
mode <'corr'|'dist'|'dist2'|'smdf': mode> - set calculation mode
scale <num: factor> - set scaling factor
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
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: # of points> - init the input size
1 <num: # of points> - init the output size
attributes: out <fmat: output> - set output vector
mode <'slaney'|'htk'|fc'> - set the discrete cosine transform mode
messages: getstate - get the internal weights matrix
outsize <num: # of points> - set the output size
insize <num: # of points> - set the input size
out <fmat: output> - set output vector
mode <'slaney'|'htk&#039\

... ;|fc'> - set the discrete cosine transform mode

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
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples
scope <'local'|'global'> - set delayline name scope
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
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples
scope <'local'|'global'> - set delayline name scope
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)
attributes: out <fmat: output> - set output vector
mode <'auto'|'complex'|'real': mode> - FFT mode
scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size
messages: out <fmat: output> - set output vector
scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size
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>] - init period and fmat to fire (default is bang)
attributes: var <num: freq var> - set frequency variation (0 ... 1)
period <num: period> - set frequency or period (depending on unit)
out <fmat: out> - set output fmat
unit <'hz'|'msec'|'sec'|'s\

... amp'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples

messages: var <num: freq var> - set frequency variation (0 ... 1)
period <num: period> - set frequency or period (depending on unit)
out <fmat: out> - set output fmat
unit <'hz'|'msec'|'sec'|'sam\

... p'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples

inlets: 0 <num: freq/period> - fire frequency or period (depending on unit), 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> ...] - init generator function and parameters
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> - init maximum number of harmonics to be estimated
1 <num: freq in Hz> - init fundamental frequency in Hz
2 <num: factor> - init allowed deviation factor from theoretic harmonic frequency (linear

... factor of f0)

attributes: scale - choose scale factor ('ny' | 'sr' | <numeric factor>, negative factors are applied to a normalized)
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 in Hz> - set fundamental frequency
max <num: max harms> - set maximum number of harmonics to be estimated

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)
attributes: out <fmat: output> - set output vector
mode <'auto'|'complex'|'real': mode> - FFT mode
scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size
messages: out <fmat: output> - set output vector
scale <num: factor> - scaling factor (1.) 0 stands for 1 / FFT size
inlets: 0 - messages only
outlets: 0 <fmat> - no description

gbr.lifter (to be documented)
(to be documented)
arguments: 0 <num: # of points> - init the input size
1 <num: factor> - init the filtering factor
attributes: out <fmat: output> - set ouput vector
mode <'exp'|'sin': mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)
inv <'0'|'1':

... switch> - enable/disable the inverse liftering mode

messages: getstate - get the internal weights matrix
factor <num: factor> - set the filtering factor
insize <num: # of points> - set the input size
out <fmat: output> - set ouput vector
mode <'exp'|'sin':

... mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)
inv <'0'|'1': switch> - enable/disable the inverse liftering mode

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> - init LPC order
attributes: out <fmat: output> - set output vector
errasfloat <'0'|'1': switch> - enable/disable float number output
messages: order <num: order> - set LPC order
out <fmat: output> - set output vector
errasfloat <'0'|'1': switch> - enable/disable float number output
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: format - 'fa'|'ifa': input format> - set input matrix format
out <fmat: output> - set output vector
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
format -

... 'fa'|'ifa': input format> - set input matrix format
out <fmat: output> - set output vector

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: format - 'plain'|'fa'|'ifa': input format> - set input matrix format
out <fmat: output> - set output vector
messages: format - 'plain'|'fa'|'ifa': input format> - set input matrix format
out <fmat: output> - set output vector
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> - init buffer size
2 <num: delay> - init delay position
3 <num: channel> - init output channel (0: off)
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples
interp <'on'|'off'|'yes'|'no'|1|0:

... switch> - enable/disable interpolation

messages: interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation
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: 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> - init destination (write delay line or fmat)
1 <num: delay> - init delay position
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples
interp <'on'|'off'|'yes'|'no'|1|0:

... switch> - enable/disable interpolation

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
interp

... <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation

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 is provided as input.
arguments: 0 <num: max peaks> - init maximum number of peaks to be estimated
attributes: range <min: boundary> <max: boundary> - band where to search for peaks
scale - num|'ny'|'sr': factor> - set frequency scaling factor (negative factors are applied to a normalized domain)
keep

... <'lowest'|'strongest': mode> - keep first or strongest peaks

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
scale - num|'ny'|'sr': factor> - set frequency scaling factor (negative factors are applied ... to a normalized domain)
keep <'lowest'|'strongest': mode> - keep first or strongest peaks

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> - init filtering factor
attributes: out - set the ouput object
messages: clear - clear any previous sample
getstate - get the previous sample
factor <num: factor> - set filtering factor
out - set the ouput object
inlets: 0 <fmat|fvec: vector> - input signal
outlets: 0 <fmat: vector> - ouput preemphasised signal
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: enable - enable/disable calculation and output
messages: threshold <num: pitch> [<num: noise>] - set pitch and noise tresholds
enable - enable/disable calculation and output
inlets: 0 - input signal to be analysed and cut into elemetary waveforms
outlets: 0 <fmat: vector> - elementary waveforms (2 periods)
1 <num: freq in Hz> - estimated frequency (0, when unvoiced)
2 <num: freq in H> - normaised YIN periodicity 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> - init 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 (1.)
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> - init frame size
1 <num: size> - init hop size
attributes: unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)
enable <'on'|'off'|'yes'|'no'|1|0:

... switch> - enable/disable calculation and output
period <num: size> - set hop size
size <num: size> - set frame size

messages: set <num: frame> <num: hop> - set frame and hop size
unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)
enable <'on'|'off'|'yes&#\

... 039;|'no'|1|0: switch> - enable/disable calculation and output
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> - init delay line (defined by gbr.drain~)
1 <num: delay> - delay time (in given unit)
attributes: unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples
messages: set <delayline: write> - set delay line (defined by gbr.drain~)
unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples
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> - init delay line (defined by gbr.dline~)
1 - delay time (in msec)
attributes: unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples
interp - 0|1|'off'|'on|'cubic'|'linear':

... mode> - interpolation mode

messages: set <delayline: read> - set delay line (defined by gbr.dline~)
unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples
interp - 0|1|'off'|'on|&\

... #039;cubic'|'linear': mode> - interpolation mode

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
messages: bang - report time since last bang
unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz
inlets: 0 - messages only
outlets: 0 <num: time> - time in given unit

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

gbr.unwrap '
arguments: 0 - init range
attributes: none
messages: range - set unwrap range
inlets: 0 - messages only
outlets: 0 - undefined

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> ...] - init window function and parameters
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 '
arguments: 0 - minimum frequency (lowest analysed frequency) (default 50.)
1 - YIN threshold (default 0.68)
attributes: specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.
sr <num: sr> - input vector sample rate (44100.)
threshold <num: threshold> - YIN threshold (0.68)
minfreq <num: min freq in Hz> - minimum

... frequency in Hz (lowest analysed frequency) (50.)

messages: specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.
sr <num: sr> - input vector sample rate (44100.)
threshold <num: threshold> - YIN threshold (0.68)
minfreq <num: min freq in Hz> - minimum

... frequency in Hz (lowest analysed frequency) (50.)

inlets: 0 - signal frame (fmat or fvec
outlets: 0 <num: freq in Hz> - estimated frequency
1 <num: energy> - energy factor
2 <num: perodicity> - periodicity factor
3 <num: ac1> - 2nd autocorrelation coefficient (ac1)
4 <fmat: acf> - vector of autocorrelation

... coefficients