From ftm
Line 1: | Line 1: | ||
+ | {{Module | | ||
+ | | name=ftm.mess | ||
+ | | brief= | ||
+ | | descr= | ||
+ | | arguments=none | ||
+ | | attributes=none | ||
+ | | messages=none | ||
+ | | inlets=1 - input list<br> | ||
+ | | outlets=1 - message outlet<br> | ||
+ | }} | ||
+ | |||
+ | {{Module | | ||
+ | | name=ftm.object | ||
+ | | brief= | ||
+ | | descr= | ||
+ | | arguments=none | ||
+ | | attributes=none | ||
+ | | messages=bang - output reference<br>anything - message to object<br> | ||
+ | | inlets=none | ||
+ | | outlets=1 - object reference (when bang)<br>2 - 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=1 <sym: prompt> - prompt symbol<br> | ||
+ | | attributes=none | ||
+ | | messages=anything - print message or FTM object<br>bang - print bang<br> | ||
+ | | inlets=1 [<any: values> ...] - print value or list<br> | ||
+ | | outlets=none | ||
+ | }} | ||
+ | |||
{{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= | + | | arguments=1 <num: max> - maximum number of partials [64]<br> |
| attributes=noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br> | | attributes=noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br> | ||
| messages=noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br> | | messages=noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: coefs> - set number of FFT-1 spectral bin coefficients [8]<br> | ||
− | | inlets= | + | | inlets=1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>2 <num|fmat|fvec|list: freq(s)> - fundamental frequency (num: for harmonics) or vector of partials frequencies<br>3 <num|fmat|fvec|list: spectral envelope> - spectral envelope (given values will be linearly interpolated)<br>4 <num|fmat|fvec|list: phase(s)> - phase (num: for all partials) or vector of phases for the given partials<br> |
− | | outlets= | + | | outlets=1 <fmat> - no description<br> |
}} | }} | ||
Line 14: | Line 48: | ||
| brief=additive synthesis: generate partials with given frequencies and amplitudes | | brief=additive synthesis: generate partials with given frequencies and amplitudes | ||
| descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes. | | descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes. | ||
− | | arguments= | + | | arguments=1 - maximum number of partials [64]<br> |
| attributes=format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']<br>noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br> | | attributes=format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']<br>noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br> | ||
| messages=format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']<br>noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br> | | messages=format <'vec'|'fa'|'ifa': format> - set input matrix/vector format ['vec']<br>noisy <bool: switch> - enable/disbale noisiness ['off']<br>coefs <num: num> - set number of FFT-1 spectral bin coefficients [8]<br> | ||
− | | inlets= | + | | inlets=1 <fmat: spectrum> - complex vector (only positive frequencies) to which to add the generated partials<br>2 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>3 <num|fmat|fvec|list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes<br>4 <num|fmat|fvec|list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br> |
− | | outlets= | + | | outlets=1 <fmat> - no description<br> |
}} | }} | ||
Line 25: | Line 59: | ||
| 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= | + | | arguments=1 <num: size> - calculation size [256]<br>2 <num: width> - window width [256]<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode ['corr']<br>scale <num: factor> - set scaling factor [1]<br> | | attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode ['corr']<br>scale <num: factor> - set scaling factor [1]<br> | ||
| messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br> | | messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - auto correlation vector<br> |
}} | }} | ||
Line 39: | Line 73: | ||
| attributes=out <fmat: output> - set output vector<br>integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br> | | attributes=out <fmat: output> - set output vector<br>integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br> | ||
| messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: output size> - set number of output bands<br>insize <num: input size> - set input spectrum size<br>out <fmat: output> - set output vector<br>integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br> | | messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: output size> - set number of output bands<br>insize <num: input size> - set input spectrum size<br>out <fmat: output> - set output vector<br>integ <'sqrabs'|'abs': type> - set spectrum integration type (amplitude or power spectrum) ['sqrabs']<br>scale <num: factor> - set bands filter scale [1]<br>maxfreq <num: max freq> - set output maximum frequency [sr /2]<br>minfreq <num: min freq> - set output minimum frequency [0]<br>mode <'bounds'|'mel'|'htkmel'|'fcmel': mode> - set bands mode ['bounds']<br>down <num: factor> - down sampling factor of incoming frames (overwrites domain) [1]<br>domain <num: domain> - set domain of incoming vector (<= 0 sets to sr/2) [input size]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: spectrum>: - vector of values (amplitude or power spectrum)<br> |
− | | outlets= | + | | outlets=1 <fmat: ceofficients> - vector of output coefficients<br>2 <fmat: weights> - internal weights matrix<br> |
}} | }} | ||
Line 50: | Line 84: | ||
| attributes=channels <num: channels> - set number of channels to calculate [all]<br> | | attributes=channels <num: channels> - set number of channels to calculate [all]<br> | ||
| messages=channels <num: channels> - set number of channels to calculate [all]<br> | | messages=channels <num: channels> - set number of channels to calculate [all]<br> | ||
− | | inlets= | + | | inlets=1 <fmat: spectrum> - complex vector of (positive frequencies)<br> |
− | | outlets= | + | | outlets=1 <fmat: coefficients> - filter bands<br> |
}} | }} | ||
Line 58: | Line 92: | ||
| 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= | + | | arguments=1 <delayline|fmat|fvec: source> - source reference<br>2 <num: duration> - grain duration [100]<br> |
| attributes=out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br> | | attributes=out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br> | ||
| messages=bang - copy vector from the beginning of the delay line and output<br>set <delayline|fmat|fvec: source> - set source<br>out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br> | | messages=bang - copy vector from the beginning of the delay line and output<br>set <delayline|fmat|fvec: source> - set source<br>out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br> | ||
− | | inlets= | + | | inlets=1 <num: delay> - copy and output grain at given delay position<br>2 <num: duration> - set duration<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - copied grain<br> |
}} | }} | ||
Line 69: | Line 103: | ||
| 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= | + | | arguments=1 <num: size> - calculation size [256]<br>2 <num: width> - window width [256]<br>3 <fmat|fvec: vector> - right operand<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf': mode> - set calculation mode<br>scale <num: factor> - set scaling factor [1]<br> | | attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf': mode> - set calculation mode<br>scale <num: factor> - set scaling factor [1]<br> | ||
| messages=width <num: width> - set window width<br>size <num: size> - set calculation size (maximum output size)<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br> | | messages=width <num: width> - set window width<br>size <num: size> - set calculation size (maximum output size)<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor [1]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - left input vector<br>2 <fmat|fvec: vector> - right input vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - cross correlation vector<br> |
}} | }} | ||
Line 80: | Line 114: | ||
| 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= | + | | 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 <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']<br> | | attributes=out <fmat: output> - set output vector<br>mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']<br> | ||
| messages=getstate - get the internal weights matrix<br>outsize <num: output size> - set number of DCT coefficients to be calculated<br>insize <num: input size> - set size input vector<br>out <fmat: output> - set output vector<br>mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']<br> | | messages=getstate - get the internal weights matrix<br>outsize <num: output size> - set number of DCT coefficients to be calculated<br>insize <num: input size> - set size input vector<br>out <fmat: output> - set output vector<br>mode <'slaney'|'htk'|fc'> - set discrete cosine transform mode ['slaney']<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - DCT coefficients<br>2 <fmat: vector> - internal weights matrix<br> |
}} | }} | ||
Line 94: | Line 128: | ||
| attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>scope <'local'|'global'> - set delayline name scope ['global']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>scope <'local'|'global'> - set delayline name scope ['global']<br> | ||
| messages=freeze <'0'|'1': freeze>] - enable/disable delay line freeze<br>clear - zero delay line<br> | | messages=freeze <'0'|'1': freeze>] - enable/disable delay line freeze<br>clear - zero delay line<br> | ||
− | | inlets= | + | | inlets=1 - write signal into delay line<br> |
− | | outlets= | + | | outlets=1 - thru output (for order-forcing)<br> |
}} | }} | ||
Line 105: | Line 139: | ||
| attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>scope <'local'|'global'> - set delayline name scope ['global']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>scope <'local'|'global'> - set delayline name scope ['global']<br> | ||
| messages=clear - clear delay line<br> | | messages=clear - clear delay line<br> | ||
− | | inlets= | + | | inlets=1 - (order-forcing input)<br> |
− | | outlets= | + | | outlets=1 - sum delay line output<br> |
}} | }} | ||
Line 113: | Line 147: | ||
| brief=fast Fourier transform | | brief=fast Fourier transform | ||
| descr=Calculates FFT on incoming vector. | | descr=Calculates FFT on incoming vector. | ||
− | | arguments= | + | | arguments=1 <num: size> - FFT size (rounded to the next power of 2) [512]<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | | attributes=out <fmat: output> - set output vector<br>mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | ||
| messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - real or conplex input vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - real or conplex output vector<br> |
}} | }} | ||
Line 125: | Line 159: | ||
| 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>] - frequency/period and fmat to fire [0]<br> | | arguments=<num: period> [<fmat: vector>] - frequency/period and fmat to fire [0]<br> | ||
− | | attributes=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <'hz'|'msec'|'sec'|'samp'|' | + | | attributes=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <'hz'|'msec'|'sec'|'samp'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples ['hz']<br> |
− | | messages=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <'hz'|'msec'|'sec'|'samp'|' | + | | messages=out <fmat: out> - set output fmat<br>var <num: freq var> - set period variation (0...1) [0]<br>period <num: period> - set frequency/period [0]<br>unit <'hz'|'msec'|'sec'|'samp'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples ['hz']<br> |
− | | inlets= | + | | inlets=1 <num: freq/period> - fire frequency/period (O is off)<br>2 <fmat: vector> - set fmat to fire<br> |
− | | outlets= | + | | outlets=1 - output fmat or bang<br> |
}} | }} | ||
Line 138: | Line 172: | ||
| attributes=none | | attributes=none | ||
| messages=set <'cosine'|'sine': function> [<any: parameters> ...] - set generator function and parameters<br> | | messages=set <'cosine'|'sine': function> [<any: parameters> ...] - set generator function and parameters<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector to which the waveform/function will be added<br>2 [<any: parameters> ...] - set generator parameters<br> |
− | | outlets= | + | | outlets=1 <fmat|fvec: vector> - output incoming vector with added waveform/function<br> |
}} | }} | ||
Line 146: | Line 180: | ||
| brief=estimate harmonics from a given spectrum (or any other vector) | | brief=estimate harmonics from a given spectrum (or any other vector) | ||
| descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input. | | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input. | ||
− | | arguments= | + | | 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> |
| attributes=down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | | attributes=down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | ||
| messages=width <num: freq> - set maximum width for harmonic peaks<br>height <num: amp> - set minimum height for harmonic peaks<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq <num: freq> - set fundamental frequency in Hz<br>max <num: max harms> - set maximum number of harmonics to be estimated<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | | messages=width <num: freq> - set maximum width for harmonic peaks<br>height <num: amp> - set minimum height for harmonic peaks<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq <num: freq> - set fundamental frequency in Hz<br>max <num: max harms> - set maximum number of harmonics to be estimated<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of harmonics (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector><br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - vector of harmonics<br> |
}} | }} | ||
Line 157: | Line 191: | ||
| 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= | + | | arguments=1 <num: size> - FFT size (rounded to the next power of 2) [512]<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | | attributes=out <fmat: output> - set output vector<br>mode <'auto'|'complex'|'real': mode> - FFT mode ['auto']<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | ||
| messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | | messages=out <fmat: output> - set output vector<br>scale <num: factor> - scaling factor (0 --> 1 / FFT size) [1]<br> | ||
− | | inlets= | + | | inlets=1 - messages only<br> |
− | | outlets= | + | | outlets=1 <fmat> - no description<br> |
}} | }} | ||
Line 168: | Line 202: | ||
| brief=(to be documented) | | brief=(to be documented) | ||
| descr=(to be documented) | | descr=(to be documented) | ||
− | | arguments= | + | | arguments=1 <num: size> - size of input vector [13]<br>2 <num: factor> - filtering factor [0]<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]<br> | | attributes=out <fmat: output> - set output vector<br>mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]<br> | ||
| messages=getstate - get internal weights matrix<br>factor <num: factor> - set filtering factor<br>insize <num: size> - size of input vector<br>out <fmat: output> - set output vector<br>mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]<br> | | messages=getstate - get internal weights matrix<br>factor <num: factor> - set filtering factor<br>insize <num: size> - size of input vector<br>out <fmat: output> - set output vector<br>mode <'exp'|'sin': mode> - set liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like) ['exp']<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode [0]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - cepstrum vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - liftered cepstrum<br>2 <fmat: weights> - internal weights matrix<br> |
}} | }} | ||
Line 179: | Line 213: | ||
| 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= | + | | arguments=1 <num: order> - LPC order [12]<br> |
| attributes=out <fmat: output> - set output vector<br>errasfloat <'0'|'1': switch> - enable/disable float number output [0]<br> | | attributes=out <fmat: output> - set output vector<br>errasfloat <'0'|'1': switch> - enable/disable float number output [0]<br> | ||
| messages=order <num: order> - set LPC order<br>out <fmat: output> - set output vector<br>errasfloat <'0'|'1': switch> - enable/disable float number output [0]<br> | | messages=order <num: order> - set LPC order<br>out <fmat: output> - set output vector<br>errasfloat <'0'|'1': switch> - enable/disable float number output [0]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - LPC coefficients<br>2 <num|fmat: error> - prediciton error<br>3 <fmat: vector> - autocorrelation<br>4 <fmat: vector> - internal values<br> |
}} | }} | ||
Line 193: | Line 227: | ||
| attributes=out <fmat: output> - set output vector<br>format - 'fa'|'ifa': input format> - set input matrix format ['fa']<br> | | attributes=out <fmat: output> - set output vector<br>format - 'fa'|'ifa': input format> - set input matrix format ['fa']<br> | ||
| messages=calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>out <fmat: output> - set output vector<br>format - 'fa'|'ifa': input format> - set input matrix format ['fa']<br> | | messages=calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>out <fmat: output> - set output vector<br>format - 'fa'|'ifa': input format> - set input matrix format ['fa']<br> | ||
− | | inlets= | + | | inlets=1 <fmat: partials> - vector of partials (in given format)<br> |
− | | outlets= | + | | outlets=1 <fmat: partials> - vector of partials (in given format)<br> |
}} | }} | ||
Line 201: | Line 235: | ||
| brief=(to be documented) | | brief=(to be documented) | ||
| descr=(to be documented) | | descr=(to be documented) | ||
− | | arguments= | + | | 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=out <fmat: output> - set output vector<br>format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']<br> | | attributes=out <fmat: output> - set output vector<br>format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']<br> | ||
| messages=out <fmat: output> - set output vector<br>format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']<br> | | messages=out <fmat: output> - set output vector<br>format - 'fa'|'ifa'|'plain': input format> - set input matrix format ['fa']<br> | ||
− | | inlets= | + | | 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= | + | | outlets=1 <fmat: partials> - vector of morphed paritals<br> |
}} | }} | ||
Line 212: | Line 246: | ||
| 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> - buffer size [100]<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 <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>interp <bool: switch> - enable/disable interpolation ['off']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>interp <bool: switch> - enable/disable interpolation ['off']<br> | ||
| messages=interp <bool: switch> - enable/disable interpolation ['off']<br>clear - clear delay line<br> | | messages=interp <bool: switch> - enable/disable interpolation ['off']<br>clear - clear delay line<br> | ||
− | | inlets= | + | | inlets=1 <fmat|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> |
− | | outlets= | + | | outlets=1 - sum delay line output<br> |
}} | }} | ||
Line 223: | Line 257: | ||
| 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= | + | | arguments=1 <delayline|fmat|fvec: destination> - destination (write delay line or fmat)<br>2 <num: delay> - delay position [0]<br> |
| attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>interp <bool: switch> - enable/disable interpolation ['off']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>interp <bool: switch> - enable/disable interpolation ['off']<br> | ||
− | | messages=set <delayline|fmat|fvec: destination> - set destination (write delay line, fmat or fvec)<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br> | + | | messages=set <delayline|fmat|fvec: destination> - set destination (write delay line, fmat or fvec)<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples ['msec']<br>interp <bool: switch> - enable/disable interpolation ['off']<br> |
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - paste vector at given delay position<br>2 - set delay position<br> |
| outlets=none | | outlets=none | ||
}} | }} | ||
Line 234: | Line 268: | ||
| 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 (positive frequencies) 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= | + | | 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>keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | | attributes=range <min: boundary> <max: boundary> - band where to search for peaks<br>keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | ||
| messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | | messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>keep <'lowest'|'strongest': mode> - keep first or strongest peaks ['lowest']<br>down <num: down> - set down sampling factor of incoming frames (overwrites domain and scale) [1]<br>scale <num: factor> - set scaling factor of output peaks (overwrites domain and down)<br>domain <num: domain> - set domain of output peaks (<= 0 sets to sr/2) [sr/2]<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector (spectrum)><br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - vector of peaks<br> |
}} | }} | ||
Line 245: | Line 279: | ||
| brief=(to be documented) | | brief=(to be documented) | ||
| descr=(to be documented) | | descr=(to be documented) | ||
− | | arguments= | + | | arguments=1 <num: factor> - filtering factor [0]<br> |
| attributes=out - set output object<br> | | attributes=out - set output object<br> | ||
| messages=clear - clear any previous sample<br>getstate - get the previous sample<br>factor <num: factor> - set filtering factor<br>out - set output object<br> | | messages=clear - clear any previous sample<br>getstate - get the previous sample<br>factor <num: factor> - set filtering factor<br>out - set output object<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input signal<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - output preemphasised frame<br>2 <fmat: vector> - previous frame<br> |
}} | }} | ||
Line 259: | Line 293: | ||
| attributes=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output ['on']<br> | | attributes=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output ['on']<br> | ||
| messages=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output ['on']<br> | | messages=threshold <num: pitch> [<num: noise>] - set pitch and noise quality treshold [0.6838 0.4523]<br>enable <bool: switch> - enable/disable calculation and output ['on']<br> | ||
− | | inlets= | + | | inlets=1 - input signal to be analysed and cut into elemetary waveforms<br> |
− | | outlets= | + | | 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> |
}} | }} | ||
Line 267: | Line 301: | ||
| 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= | + | | arguments=1 <num: order> - resampling order/increment [1]<br> |
| attributes=out <fmat: output> - set output vector<br>mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode<br> | | attributes=out <fmat: output> - set output vector<br>mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode<br> | ||
| messages=out <fmat: output> - set output vector<br>mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode<br> | | messages=out <fmat: output> - set output vector<br>mode <'cubic'|'downmean'|'downremove': mode> - set resampling mode<br> | ||
− | | inlets= | + | | inlets=1 <fmat: vector> - input vector<br>2 <num: order> - set resampling order/increment<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - output vector<br> |
}} | }} | ||
Line 278: | Line 312: | ||
| 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= | + | | arguments=1 <num: size> - frame size [512]<br>2 <num: size> - hop size [256]<br> |
| attributes=unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']<br>enable <bool: switch> - enable/disable calculation and output ['on']<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> | | attributes=unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']<br>enable <bool: switch> - enable/disable calculation and output ['on']<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> | ||
| messages=unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']<br>enable <bool: switch> - enable/disable calculation and output ['on']<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> | | messages=unit <'samp'|'msec'|'sec': unit> - set time unit to msecs, secs or samples ['samp']<br>enable <bool: switch> - enable/disable calculation and output ['on']<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> | ||
− | | inlets= | + | | inlets=1 - input signal to be sliced into frames<br> |
− | | outlets= | + | | outlets=1 <fmat: vector> - signal frames<br>2 <undefined> - no description<br> |
}} | }} | ||
Line 289: | Line 323: | ||
| 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= | + | | arguments=1 <delayline: write> - delay line (defined by gbr.drain~)<br>2 <num: delay> - delay time (in given unit) [0]<br> |
| attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br> | ||
| messages=set <delayline: write> - set delay line (defined by gbr.drain~)<br>unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br> | | messages=set <delayline: write> - set delay line (defined by gbr.drain~)<br>unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br> | ||
− | | inlets= | + | | inlets=1 - input signal written to delay line<br>2 - set delay time<br> |
− | | outlets= | + | | outlets=1 - zero output (for order-forcing)<br> |
}} | }} | ||
Line 300: | Line 334: | ||
| 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= | + | | arguments=1 <delayline: read> - delay line (defined by gbr.dline~)<br>2 - delay time (in given unit) [0]<br> |
| attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br>interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode ['off']<br> | | attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br>interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode ['off']<br> | ||
− | | messages=set <delayline: read> - set delay line (defined by gbr.dline~)<br>unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br>interp - 0|1|'off'&# | + | | messages=set <delayline: read> - set delay line (defined by gbr.dline~)<br>unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples ['msec']<br>interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode ['off']<br> |
− | | inlets= | + | | inlets=1 - (order-forcing input)<br>2 <sig|num: delay> - delay time<br> |
− | | outlets= | + | | outlets=1 - delayed signal<br> |
}} | }} | ||
Line 314: | Line 348: | ||
| attributes=unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']<br> | | attributes=unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']<br> | ||
| messages=bang - report time since last bang<br>unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']<br> | | messages=bang - report time since last bang<br>unit <'msec'|'sec'|'samp'|'hz'|: unit> - set timer unit to msecs, secs, samples or Hz ['msec']<br> | ||
− | | inlets= | + | | inlets=1 - messages only<br> |
− | | outlets= | + | | outlets=1 <num: time> - time in given unit<br> |
}} | }} | ||
Line 322: | Line 356: | ||
| brief=(to be documented) | | brief=(to be documented) | ||
| descr=(to be documented) | | descr=(to be documented) | ||
− | | arguments= | + | | 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 <num: maximum number of partials [200]><br> | | attributes=maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max <num: maximum number of partials [200]><br> | ||
| messages=clear - (to be documented)<br>maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max <num: maximum number of partials [200]><br> | | messages=clear - (to be documented)<br>maxpasses - (to be documented)<br>absamp - (to be documented)<br>absfreq - (to be documented)<br>relfreq - (to be documented)<br>max <num: maximum number of partials [200]><br> | ||
− | | inlets= | + | | inlets=1 <fmat: partials> - vector of partials<br> |
− | | outlets= | + | | outlets=1 <fmat: partials> - vector of traced partials (with index)<br> |
}} | }} | ||
Line 336: | Line 370: | ||
| attributes=none | | attributes=none | ||
| messages=set <sym: function> [<any: parameters> ...] - set window function and parameters<br> | | messages=set <sym: function> [<any: parameters> ...] - set window function and parameters<br> | ||
− | | inlets= | + | | inlets=1 <fmat|fvec: vector> - input vector to be windowed<br>2 [<any: parameters> ...] - set window parameters<br> |
− | | outlets= | + | | outlets=1 <fmat|fvec: vector> - output incoming vector with applied window<br> |
}} | }} | ||
Line 344: | Line 378: | ||
| brief=fundamentatal frequency estimation after de Cheveigné and Kawahara | | brief=fundamentatal frequency estimation after de Cheveigné and Kawahara | ||
| descr=Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients. | | descr=Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients. | ||
− | | arguments= | + | | arguments=1 <num: min freq> - lowest estimated frequency in Hz [50.]<br>2 - quality/periodicity threshold [0.68]<br> |
| attributes=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br> | | attributes=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br> | ||
| messages=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br> | | messages=down <num: factor> - down sampling factor of incoming frames [1]<br>threshold <num: threshold> - quality/periodicity threshold<br>minfreq <num: min freq> - lowest estimated frequency in Hz<br> | ||
− | | inlets= | + | | inlets=1 - signal frame (fmat or fvec<br> |
− | | outlets= | + | | 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> |
}} | }} |
Revision as of 21:25, 2 March 2008
ftm.mess | ' | |||||||||||
|
ftm.object | ' | |||||||||||
|
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. | ||||||||||||
|
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. | ||||||||||||
|
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. | ||||||||||||
|
gbr.autox | auto correlation and similar | |||||||||||
Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin). | ||||||||||||
|
gbr.bands | calulate frequency bands (or integrate bands of a similar domain) | |||||||||||
Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode). | ||||||||||||
|
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). | ||||||||||||
|
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 | ||||||||||||
|
gbr.crossx | cross correlation and similar | |||||||||||
Calculates correlation, distance, quadratic distance and sum magnitude difference function. | ||||||||||||
|
gbr.dct | discrete cosine transform | |||||||||||
Calculates a DCT of the incoming vector. | ||||||||||||
|
gbr.dline~ | classical delay line | |||||||||||
Delay line to be used with gbr.copy and gbr.tapout~. | ||||||||||||
|
gbr.drain~ | forward delay line | |||||||||||
Delay line to write with different delays to be used with gbr.paste and gbr.tapin~. | ||||||||||||
|
gbr.fft | fast Fourier transform | |||||||||||
Calculates FFT on incoming vector. | ||||||||||||
|
gbr.fire~ | Gabor timing impulse generator | |||||||||||
Periodically outputs a given fmat or a bang within the Gabor scheduling scheme. | ||||||||||||
|
gbr.gen= | generate waveform/function | |||||||||||
Adds a given (and parametrised) waveform/function to an incomming vector.The user can chose among various waveforms/functions | ||||||||||||
|
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. | ||||||||||||
|
gbr.ifft | inverse fast Fourier transform | |||||||||||
Calculates inverse FFT on incoming vector. | ||||||||||||
|
gbr.lifter | (to be documented) | |||||||||||
(to be documented) | ||||||||||||
|
gbr.lpc | linear prediction coefficients | |||||||||||
Calculates LPC coefficients from incoming sinal frame. | ||||||||||||
|
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. | ||||||||||||
|
gbr.morph | (to be documented) | |||||||||||
(to be documented) | ||||||||||||
|
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. | ||||||||||||
|
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. | ||||||||||||
|
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. | ||||||||||||
|
gbr.preemphasis | (to be documented) | |||||||||||
(to be documented) | ||||||||||||
|
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. | ||||||||||||
|
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) | ||||||||||||
|
gbr.slice~ | signal slicing | |||||||||||
Cuts incoming signal into frames of given size with given period (hop size). | ||||||||||||
|
gbr.tapin~ | input tap for write delay line | |||||||||||
Simple input tap for write delay line defined by gbr.dline~. | ||||||||||||
|
gbr.tapout~ | output tap for read delay line | |||||||||||
Simple output tap for read delay line defined by gbr.drain~. | ||||||||||||
|
gbr.timer~ | gabor timer | |||||||||||
stop watch in Gabor scheduling scheme | ||||||||||||
|
gbr.trace | (to be documented) | |||||||||||
(to be documented) | ||||||||||||
|
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). | ||||||||||||
|
gbr.yin | fundamentatal frequency estimation after de Cheveigné and Kawahara | |||||||||||
Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients. | ||||||||||||
|