From ftm
Line 6: | Line 6: | ||
| attributes=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients<br> | | attributes=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients<br> | ||
| messages=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients<br> | | messages=noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # 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|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials | + | | inlets=0 <fmat: complex vector> - spectrum (only positive frequencies) to which to add the generated partials<br>1 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num|fmat|fvec|list: spectral envelope> - set spectral envelope (given values will be linearly interpolated)<br>3 <num|fmat|fvec|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 15: | Line 13: | ||
| name=gbr.addpartials | | name=gbr.addpartials | ||
| brief=additive synthesis: generate partials with given frequencies and amplitudes | | brief=additive synthesis: generate partials with given frequencies and amplitudes | ||
− | | descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes | + | | descr=Adds partials (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addpartials or gbr.addenv module.<br>Frequencies and amplitudes can be given by separated vectors with separated inputs (input format 'vec') or as a single matrix to the first inlet.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes. |
− | |||
− | |||
| arguments=0 - maximum number of partials (default is 64)<br> | | arguments=0 - maximum number of partials (default is 64)<br> | ||
− | | attributes=format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 | + | | attributes=format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients<br> |
− | + | | messages=format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 spectral bin coefficients<br> | |
− | | messages=format <'vec'|'fa'|'ifa': input format> - set input matrix/vector format<br>noisy <bool: noisy flag> - enable/disbale noisiness<br>coefs <num: # of coefs> - set number of FFT-1 | + | | inlets=0 <fmat: complex vector> - spectrum (only positive frequencies) to which to add the generated partials<br>1 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials frequencies<br>2 <num|fmat|fvec|list: amp(s)> - set amplitude (num: for harmonics) or vector of partials amplitudes<br>3 <num|fmat|fvec|list: phase(s)> - set phase (num: for all partials) or vector of phases for the given partials<br> |
− | |||
− | | inlets=0 <fmat: complex vector> - spectrum (only positive frequencies) to which to add the generated partials<br>1 <num|fmat|fvec|list: freq(s)> - set fundamental frequency (num: for harmonics) or vector of partials | ||
− | |||
− | |||
| outlets=0 <fmat> - no description<br> | | outlets=0 <fmat> - no description<br> | ||
}} | }} | ||
Line 34: | Line 26: | ||
| descr=Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin). | | descr=Calculates autocorrelation, distance, quadratic distance, sum magnitude difference function and accumulated difference function (yin). | ||
| arguments=0 <num: # of points> - initalize calculation size<br>1 <num: # of points> - initalize window width<br> | | arguments=0 <num: # of points> - initalize calculation size<br>1 <num: # of points> - initalize window width<br> | ||
− | | attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode<br>scale <num: factor> - set scaling | + | | attributes=out <fmat: output> - set output vector<br>mode <'corr'|'dist'|'dist2'|'smdf'|'yin': mode> - set calculation mode<br>scale <num: factor> - set scaling factor<br> |
− | |||
| messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor<br> | | messages=size <num: size> - set calculation size (maximum output size)<br>width <num: width> - set window width<br>out <fmat: output> - set output vector<br>scale <num: factor> - set scaling factor<br> | ||
| inlets=0 <fmat|fvec: vector> - input vector<br> | | inlets=0 <fmat|fvec: vector> - input vector<br> | ||
Line 46: | Line 37: | ||
| descr=Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode). | | descr=Sums regions of the incoming vector to bands in different schemes:sum of values between given bounds or classical HTK or FC mel coefficients.Its input is typically connected to gbr.fft (in real mode). | ||
| arguments=<num: input size> <num: ouput size> | [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries<br> | | arguments=<num: input size> <num: ouput size> | [<num: boundaries> ...] - init input spectrum size and output bands number, or boundaries<br> | ||
− | | attributes=out <fmat: output> - set output vector<br>integ <'abs'|'sqrabs': type> - set the spectrum integration type<br>scale <num: factor> - set the bands filter scale<br>maxfreq <num: freq in Hz> - set | + | | attributes=out <fmat: output> - set output vector<br>integ <'abs'|'sqrabs': 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 <'bounds'|'mel'|'htkmel'|'fcmel'> - set the bands mode<br>sr <num: freq in Hz> - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq<br>specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.<br> |
− | + | | messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: # of points> - set the number of output bands<br>insize <num: # of points> - set the input spectrum size<br>out <fmat: output> - set output vector<br>integ <'abs'|'sqrabs': 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 <'bounds'|'mel'|'htkmel'|'fcmel'> - set the bands mode<br>sr <num: freq in Hz> - set the spectrum corresponding sampling rate (default 44100.), which is 2.*specnyq<br>specnyq <num: frew in Hz> - set the spectrum Nyquist frequency (default 22050.<br> | |
− | |||
− | | messages=getstate - get the internal weights matrix<br>bounds [<num: bounaries> ...] - set band boundaries<br>outsize <num: # of points> - set the number of output bands<br>insize <num: # of points> - set the input spectrum | ||
− | |||
− | |||
− | |||
| inlets=0 <fmat|fvec>: - spectrum (positive frequencies)<br> | | inlets=0 <fmat|fvec>: - spectrum (positive frequencies)<br> | ||
| outlets=0 <fmat: bands/ceofficients> - vector of coefficients/bands<br>1 <fmat: weights> - internal weights matrix<br> | | outlets=0 <fmat: bands/ceofficients> - vector of coefficients/bands<br>1 <fmat: weights> - internal weights matrix<br> | ||
Line 74: | Line 60: | ||
| arguments=0 <delayline|fmat|fvec: source> - init source<br>1 <num: duration> - init grain duration<br> | | arguments=0 <delayline|fmat|fvec: source> - init source<br>1 <num: duration> - init grain duration<br> | ||
| attributes=out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples<br> | | attributes=out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': 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|fmat|fvec: source> - set source<br>out <fmat: output> - set output vector<br>unit <'msec'|'sec'|'samp': | + | | 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<br> |
− | |||
| inlets=0 <num: delay> - copy and output grain at given delay position<br>1 <num: duration> - set duration<br> | | inlets=0 <num: delay> - copy and output grain at given delay position<br>1 <num: duration> - set duration<br> | ||
| outlets=0 <fmat: vector> - copied grain<br> | | outlets=0 <fmat: vector> - copied grain<br> | ||
Line 97: | Line 82: | ||
| arguments=0 <num: # of points> - init the input size<br>1 <num: # of points> - init the output size<br> | | arguments=0 <num: # of points> - init the input size<br>1 <num: # of points> - init the output size<br> | ||
| attributes=out <fmat: output> - set output vector<br>mode <'slaney'|'htk'|fc'> - set the discrete cosine transform mode<br> | | attributes=out <fmat: output> - set output vector<br>mode <'slaney'|'htk'|fc'> - set the discrete cosine transform mode<br> | ||
− | | messages=getstate - get the internal weights matrix<br>outsize <num: # of points> - set the output size<br>insize <num: # of points> - set the input size<br>out <fmat: output> - set output vector<br>mode <'slaney'|'htk'\ | + | | messages=getstate - get the internal weights matrix<br>outsize <num: # of points> - set the output size<br>insize <num: # of points> - set the input size<br>out <fmat: output> - set output vector<br>mode <'slaney'|'htk'\ ;|fc'> - set the discrete cosine transform mode<br> |
− | |||
| inlets=0 <fmat|fvec: vector> - input vector<br> | | inlets=0 <fmat|fvec: vector> - input vector<br> | ||
| outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br> | | outlets=0 <fmat: vector> - DCT coefficients<br>1 <fmat: vector> - internal weights matrix<br> | ||
Line 141: | Line 125: | ||
| descr=Periodically outputs a given fmat or a bang within the Gabor scheduling scheme. | | descr=Periodically outputs a given fmat or a bang within the Gabor scheduling scheme. | ||
| arguments=<num: period> [<fmat: vector>] - init period and fmat to fire (default is bang)<br> | | arguments=<num: period> [<fmat: vector>] - init period and fmat to fire (default is bang)<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 <'hz'|'msec'|'sec'|'s\ | + | | 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 <'hz'|'msec'|'sec'|'s\ amp'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples<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 <'hz'|'msec'|'sec'|'sam\ p'|'midi'|'midicent': unit> - set frequency/period unit to Hz, msec or samples<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 <'hz'|'msec'|'sec'|'sam\ | ||
− | |||
| inlets=0 <num: freq/period> - fire frequency or period (depending on unit), O is off<br>1 <fmat: vector> - set fmat to fire<br> | | inlets=0 <num: freq/period> - fire frequency 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 163: | Line 145: | ||
| name=gbr.harms | | name=gbr.harms | ||
| brief=estimate harmonics from a given spectrum (or any other vector) | | brief=estimate harmonics from a given spectrum (or any other vector) | ||
− | | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The | + | | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of harmonics in an incoming vector.Harmonics are defined as peaks around the multiple of a given value (fundamental frequency) with a given tolerance.The estimation of harmonics in a spectrum works best when a logarthimic amplitude spectrum is provided as input. |
− | + | | arguments=0 <num: max harms> - init maximum number of harmonics to be estimated<br>1 <num: freq in Hz> - init fundamental frequency in Hz<br>2 <num: factor> - init allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br> | |
− | | arguments=0 <num: max harms> - init maximum number of harmonics to be estimated<br>1 <num: freq in Hz> - init fundamental frequency in Hz<br>2 <num: factor> - init allowed deviation factor from theoretic harmonic frequency (linear | ||
− | |||
| attributes=scale - choose scale factor ('ny' | 'sr' | <numeric factor>, negative factors are applied to a normalized)<br> | | attributes=scale - choose scale factor ('ny' | 'sr' | <numeric factor>, negative factors are applied to a normalized)<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 | + | | messages=width <num: freq> - set maximum width for harmonic peaks<br>height <num: amp> - set minimum height for harmonic peaks<br>interval <num: cent> - set allowed deviation factor from theoretic harmonic frequency (in cent)<br>delta <num: factor> - set allowed deviation factor from theoretic harmonic frequency (linear factor of f0)<br>freq <num: freq in Hz> - set fundamental frequency<br>max <num: max harms> - set maximum number of harmonics to be estimated<br> |
− | |||
| inlets=0 <fmat|fvec: vector> - input vector><br> | | inlets=0 <fmat|fvec: vector> - input vector><br> | ||
| outlets=0 <fmat: vector> - vector of harmonics<br> | | outlets=0 <fmat: vector> - vector of harmonics<br> | ||
Line 190: | Line 169: | ||
| descr=(to be documented) | | descr=(to be documented) | ||
| arguments=0 <num: # of points> - init the input size<br>1 <num: factor> - init the filtering factor<br> | | arguments=0 <num: # of points> - init the input size<br>1 <num: factor> - init the filtering factor<br> | ||
− | | attributes=out <fmat: output> - set ouput vector<br>mode <'exp'|'sin': mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv <'0'|'1': | + | | attributes=out <fmat: output> - set ouput vector<br>mode <'exp'|'sin': mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode<br> |
− | + | | messages=getstate - get the internal weights matrix<br>factor <num: factor> - set the filtering factor<br>insize <num: # of points> - set the input size<br>out <fmat: output> - set ouput vector<br>mode <'exp'|'sin': mode> - set the liftering type: exponential (Auditory Toolbox-like) or sinusoidal (HTK-like)<br>inv <'0'|'1': switch> - enable/disable the inverse liftering mode<br> | |
− | | messages=getstate - get the internal weights matrix<br>factor <num: factor> - set the filtering factor<br>insize <num: # of points> - set the input size<br>out <fmat: output> - set ouput vector<br>mode <'exp'|'sin': | ||
− | |||
| inlets=0 <fmat|fvec: vector> - cepstrum vector<br> | | inlets=0 <fmat|fvec: vector> - cepstrum vector<br> | ||
| outlets=0 <fmat: vector> - liftered cepstrum<br>1 <fmat: weights> - internal weights matrix<br> | | outlets=0 <fmat: vector> - liftered cepstrum<br>1 <fmat: weights> - internal weights matrix<br> | ||
Line 212: | Line 189: | ||
| name=gbr.mask | | name=gbr.mask | ||
| brief=partial masking using critical band width | | brief=partial masking using critical band width | ||
− | | descr=Calculates and applies masking to incoming vector of partials.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, | + | | descr=Calculates and applies masking to incoming vector of partials.The input format (attribute @format) determines the interpretation of the columns of the incoming matrix: 'fa' requires 2 columns with frequencies and amplitudes, 'ifa' requires 3 columns with partial indices, frequencies and amplitudes. |
− | |||
| arguments=none | | arguments=none | ||
| attributes=format - 'fa'|'ifa': input format> - set input matrix format<br>out <fmat: output> - set output vector<br> | | attributes=format - 'fa'|'ifa': input format> - set input matrix format<br>out <fmat: output> - set output vector<br> | ||
− | | messages=calcpeaks <num: (left) peaks> [<num: right peaks>] - set number of peaks on the left and right to be taken into account in calculation<br>slope <num: slope> [<num: slope>] - set (left and right) masking slope<br>format - | + | | 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 - 'fa'|'ifa': input format> - set input matrix format<br>out <fmat: output> - set output vector<br> |
− | |||
| inlets=0 <fmat: partials> - vector of partials (in given format)<br> | | inlets=0 <fmat: partials> - vector of partials (in given format)<br> | ||
| outlets=0 <fmat: partials> - vector of partials (in given format)<br> | | outlets=0 <fmat: partials> - vector of partials (in given format)<br> | ||
Line 238: | Line 213: | ||
| descr=Performs the overlap-add of incoming vectors into a forward delayline.The vector will be shortened at the end of the delayline. | | descr=Performs the overlap-add of incoming vectors into a forward delayline.The vector will be shortened at the end of the delayline. | ||
| arguments=1 <num: size> - init buffer size<br>2 <num: delay> - init delay position<br>3 <num: channel> - init output channel (0: off)<br> | | arguments=1 <num: size> - init buffer size<br>2 <num: delay> - init delay position<br>3 <num: channel> - init output channel (0: off)<br> | ||
− | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples<br>interp <'on'|'off'|'yes'|'no'|1|0: | + | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples<br>interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation<br> |
− | |||
| messages=interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation<br>clear - clear delay line<br> | | messages=interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation<br>clear - clear delay line<br> | ||
| inlets=0 <fmat|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|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 250: | Line 224: | ||
| descr=Copies a vector into a drain with a given delay.The vector will be shortened at the end of the drain. | | descr=Copies a vector into a drain with a given delay.The vector will be shortened at the end of the drain. | ||
| arguments=0 <delayline|fmat|fvec: destination> - init destination (write delay line or fmat)<br>1 <num: delay> - init delay position<br> | | arguments=0 <delayline|fmat|fvec: destination> - init destination (write delay line or fmat)<br>1 <num: delay> - init delay position<br> | ||
− | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples<br>interp <'on'|'off'|'yes'|'no'|1|0: | + | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples<br>interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation<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<br>interp <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable interpolation<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<br>interp | ||
− | |||
| inlets=0 <fmat|fvec: vector> - paste vector at given delay position<br>1 - set delay position<br> | | inlets=0 <fmat|fvec: vector> - paste vector at given delay position<br>1 - set delay position<br> | ||
| outlets=none | | outlets=none | ||
Line 263: | Line 235: | ||
| descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of peaks in an incoming vector.The estimation of partials in a spectrum works best when a logarthimic amplitude spectrum is provided as input. | | descr=Estimates frequencies (interpolated and scaled indices) and amplitudes of peaks in an incoming vector.The estimation of partials in a spectrum works best when a logarthimic amplitude spectrum is provided as input. | ||
| arguments=0 <num: max peaks> - init maximum number of peaks to be estimated<br> | | arguments=0 <num: max peaks> - init maximum number of peaks to be estimated<br> | ||
− | | attributes=range <min: boundary> <max: boundary> - band where to search for peaks<br>scale - num|'ny'|'sr': factor> - set frequency scaling factor (negative factors are applied to a normalized domain)<br>keep | + | | attributes=range <min: boundary> <max: boundary> - band where to search for peaks<br>scale - num|'ny'|'sr': factor> - set frequency scaling factor (negative factors are applied to a normalized domain)<br>keep <'lowest'|'strongest': mode> - keep first or strongest peaks<br> |
− | + | | messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum number of peaks to be estimated<br>range <min: boundary> <max: boundary> - band where to search for peaks<br>scale - num|'ny'|'sr': factor> - set frequency scaling factor (negative factors are applied to a normalized domain)<br>keep <'lowest'|'strongest': mode> - keep first or strongest peaks<br> | |
− | | messages=dev <num: value> - set maximum deviation from mean value<br>width <num: freq> - set maximum width for peaks (indicates sinusoïdality)<br>height <num: amp> - set minimum height for peaks<br>max <num: max peaks> - set maximum | ||
− | |||
− | |||
| inlets=0 <fmat|fvec: vector> - input vector (spectrum)><br> | | inlets=0 <fmat|fvec: vector> - input vector (spectrum)><br> | ||
| outlets=0 <fmat: vector> - vector of peaks<br> | | outlets=0 <fmat: vector> - vector of peaks<br> | ||
Line 310: | Line 279: | ||
| descr=Cuts incoming signal into frames of given size with given period (hop size). | | descr=Cuts incoming signal into frames of given size with given period (hop size). | ||
| arguments=0 <num: size> - init frame size<br>1 <num: size> - init hop size<br> | | arguments=0 <num: size> - init frame size<br>1 <num: size> - init hop size<br> | ||
− | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)<br>enable <'on'|'off'|'yes'|'no'|1|0: | + | | attributes=unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)<br>enable <'on'|'off'|'yes'|'no'|1|0: switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> |
− | + | | messages=set <num: frame> <num: hop> - set frame and hop size<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)<br>enable <'on'|'off'|'yes&#\ 039;|'no'|1|0: switch> - enable/disable calculation and output<br>period <num: size> - set hop size<br>size <num: size> - set frame size<br> | |
− | | messages=set <num: frame> <num: hop> - set frame and hop size<br>unit <'msec'|'sec'|'samp': unit> - set time unit to msecs, secs or samples (default)<br>enable <'on'|'off'|'yes&#\ | ||
− | |||
| inlets=0 - input signal to be sliced into frames<br> | | inlets=0 - input signal to be sliced into frames<br> | ||
| outlets=0 <fmat: vector> - signal frames<br>1 <undefined> - no description<br> | | outlets=0 <fmat: vector> - signal frames<br>1 <undefined> - no description<br> | ||
Line 334: | Line 301: | ||
| descr=Simple output tap for read delay line defined by gbr.drain~. | | descr=Simple output tap for read delay line defined by gbr.drain~. | ||
| arguments=0 <delayline: read> - init delay line (defined by gbr.dline~)<br>1 - delay time (in msec)<br> | | arguments=0 <delayline: read> - init delay line (defined by gbr.dline~)<br>1 - delay time (in msec)<br> | ||
− | | attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples<br>interp - 0|1|'off'|'on|'cubic'|'linear': | + | | attributes=unit <'msec'|'sec'|'samp': unit> - set delay unit to msecs, secs or samples<br>interp - 0|1|'off'|'on|'cubic'|'linear': mode> - interpolation mode<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<br>interp - 0|1|'off'|'on|&\ #039;cubic'|'linear': mode> - interpolation mode<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<br>interp - 0|1|'off'|'on|&\ | ||
− | |||
| inlets=0 - (order-forcing input)<br>1 <sig|num: delay> - delay time<br> | | inlets=0 - (order-forcing input)<br>1 <sig|num: delay> - delay time<br> | ||
| outlets=0 - delayed signal<br> | | outlets=0 - delayed signal<br> | ||
Line 388: | Line 353: | ||
{{Module | | {{Module | | ||
| name=gbr.yin | | name=gbr.yin | ||
− | | brief= | + | | brief=fundamentatal frequency estimation after de Cheveigné and Kawahara |
− | | descr= | + | | descr=Estimates fundamental frequency and outputs energy, periodicity factor, and auto correlation coefficients. |
| arguments=0 - minimum frequency (lowest analysed frequency) (default 50.)<br>1 - YIN threshold (default 0.68)<br> | | arguments=0 - minimum frequency (lowest analysed frequency) (default 50.)<br>1 - YIN threshold (default 0.68)<br> | ||
| attributes=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br> | | attributes=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br> | ||
| messages=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br> | | messages=specnyq <num: ny> - input vector maximum frequency (22050.), which is sr/2.<br>sr <num: sr> - input vector sample rate (44100.)<br>threshold <num: frequency in Hz (lowest analysed frequency) (50.)<br> | ||
| inlets=0 - signal frame (fmat or fvec<br> | | inlets=0 - signal frame (fmat or fvec<br> | ||
− | | outlets=0 <num: freq in Hz> - estimated frequency<br>1 <num: energy> - energy factor<br>2 <num: perodicity> - periodicity factor<br>3 <num: ac1> - 2nd autocorrelation coefficient (ac1)<br>4 <fmat: acf> - vector of autocorrelation | + | | 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 13:49, 2 March 2008
gbr.addenv | additive synthesis: generate partials with a given envelope | |||||||||||
Adds partials with a spectral envolope (given as a vector or list) to an incoming spectrum using the FFT-1 technique.The output is typically connected to gbr.ifft (in real mode) or another gbr.addenv or gbr.addpartials module. | ||||||||||||
|
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 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). | ||||||||||||
|
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 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.unwrap | ' | |||||||||||
|
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. | ||||||||||||
|