|
aubio 0.4.9
|
various functions useful in audio signal processing More...
Go to the source code of this file.
Functions | |
| fvec_t * | new_aubio_window (char_t *window_type, uint_t size) |
| create window | |
| uint_t | fvec_set_window (fvec_t *window, char_t *window_type) |
| set elements of a vector to window coefficients | |
| smpl_t | aubio_unwrap2pi (smpl_t phase) |
| compute the principal argument | |
| smpl_t | aubio_bintomidi (smpl_t bin, smpl_t samplerate, smpl_t fftsize) |
| convert frequency bin to midi value | |
| smpl_t | aubio_miditobin (smpl_t midi, smpl_t samplerate, smpl_t fftsize) |
| convert midi value to frequency bin | |
| smpl_t | aubio_bintofreq (smpl_t bin, smpl_t samplerate, smpl_t fftsize) |
| convert frequency bin to frequency (Hz) | |
| smpl_t | aubio_freqtobin (smpl_t freq, smpl_t samplerate, smpl_t fftsize) |
| convert frequency (Hz) to frequency bin | |
| smpl_t | aubio_hztomel (smpl_t freq) |
| convert frequency (Hz) to mel | |
| smpl_t | aubio_meltohz (smpl_t mel) |
| convert mel to frequency (Hz) | |
| smpl_t | aubio_hztomel_htk (smpl_t freq) |
| convert frequency (Hz) to mel | |
| smpl_t | aubio_meltohz_htk (smpl_t mel) |
| convert mel to frequency (Hz) | |
| smpl_t | aubio_freqtomidi (smpl_t freq) |
| convert frequency (Hz) to midi value (0-128) | |
| smpl_t | aubio_miditofreq (smpl_t midi) |
| convert midi value (0-128) to frequency (Hz) | |
| void | aubio_cleanup (void) |
| clean up cached memory at the end of program | |
| smpl_t | aubio_zero_crossing_rate (fvec_t *v) |
| zero-crossing rate (ZCR) | |
| smpl_t | aubio_level_lin (const fvec_t *v) |
| compute sound level on a linear scale | |
| smpl_t | aubio_db_spl (const fvec_t *v) |
| compute sound pressure level (SPL) in dB | |
| uint_t | aubio_silence_detection (const fvec_t *v, smpl_t threshold) |
| check if buffer level in dB SPL is under a given threshold | |
| smpl_t | aubio_level_detection (const fvec_t *v, smpl_t threshold) |
| get buffer level if level >= threshold, 1. | |
| void | fvec_clamp (fvec_t *in, smpl_t absmax) |
| clamp the values of a vector within the range [-abs(max), abs(max)] | |
various functions useful in audio signal processing
Definition in file musicutils.h.
convert frequency bin to frequency (Hz)
References aubio_bintofreq().
Referenced by aubio_bintofreq().
| void aubio_cleanup | ( | void | ) |
clean up cached memory at the end of program
This function should be used at the end of programs to purge all cached memory. So far it is only useful to clean FFTW's cache.
References aubio_cleanup().
Referenced by aubio_cleanup().
compute sound pressure level (SPL) in dB
This quantity is often wrongly called 'loudness'.
This gives ten times the log10 of the average of the square amplitudes.
| v | vector to compute dB SPL from |
References aubio_db_spl().
Referenced by aubio_db_spl().
convert frequency (Hz) to frequency bin
References aubio_freqtobin().
Referenced by aubio_freqtobin().
convert frequency (Hz) to midi value (0-128)
References aubio_freqtomidi().
Referenced by aubio_freqtomidi().
convert frequency (Hz) to mel
| freq | input frequency, in Hz |
Converts a scalar from the frequency domain to the mel scale using Slaney Auditory Toolbox's implementation:
If \( f < 1000 \), \( m = 3 f / 200 \).
If \( f >= 1000 \), \( m = 1000 + 27 \frac{{ln}(f) - ln(1000))} {{ln}(6400) - ln(1000)} \)
aubio_meltohz(), aubio_hztomel_htk().
References aubio_hztomel().
Referenced by aubio_hztomel().
convert frequency (Hz) to mel
| freq | input frequency, in Hz |
Converts a scalar from the frequency domain to the mel scale, using the equation defined by O'Shaughnessy, as implemented in the HTK speech recognition toolkit:
\( m = 1127 + ln(1 + \frac{f}{700}) \)
aubio_meltohz_htk(), aubio_hztomel().
Douglas O'Shaughnessy (1987). Speech communication: human and machine. Addison-Wesley. p. 150. ISBN 978-0-201-16520-3.
HTK Speech Recognition Toolkit: http://htk.eng.cam.ac.uk/
References aubio_hztomel_htk().
Referenced by aubio_hztomel_htk().
get buffer level if level >= threshold, 1.
otherwise
| v | vector to get level from |
| threshold | threshold in dB SPL |
References aubio_level_detection().
Referenced by aubio_level_detection().
compute sound level on a linear scale
This gives the average of the square amplitudes.
| v | vector to compute level from |
References aubio_level_lin().
Referenced by aubio_level_lin().
convert mel to frequency (Hz)
| mel | input mel |
Converts a scalar from the mel scale to the frequency domain using Slaney Auditory Toolbox's implementation:
If \( f < 1000 \), \( f = 200 m/3 \).
If \( f \geq 1000 \), \( f = 1000 + \left(\frac{6400}{1000}\right) ^{\frac{m - 1000}{27}} \)
aubio_hztomel(), aubio_meltohz_htk().
Malcolm Slaney, Auditory Toolbox Version 2, Technical Report #1998-010 https://engineering.purdue.edu/~malcolm/interval/1998-010/
References aubio_meltohz().
Referenced by aubio_meltohz().
convert mel to frequency (Hz)
| mel | input mel |
Converts a scalar from the mel scale to the frequency domain, using the equation defined by O'Shaughnessy, as implemented in the HTK speech recognition toolkit:
\( f = 700 * {e}^\left(\frac{f}{1127} - 1\right) \)
aubio_hztomel_htk(), aubio_meltohz().
References aubio_meltohz_htk().
Referenced by aubio_meltohz_htk().
convert midi value (0-128) to frequency (Hz)
References aubio_miditofreq().
Referenced by aubio_miditofreq().
check if buffer level in dB SPL is under a given threshold
| v | vector to get level from |
| threshold | threshold in dB SPL |
References aubio_silence_detection().
Referenced by aubio_silence_detection().
compute the principal argument
This function maps the input phase to its corresponding value wrapped in the range \( [-\pi, \pi] \).
| phase | unwrapped phase to map to the unit circle |
References aubio_unwrap2pi().
Referenced by aubio_unwrap2pi().
zero-crossing rate (ZCR)
The zero-crossing rate is the number of times a signal changes sign, divided by the length of this signal.
| v | vector to compute ZCR from |
References aubio_zero_crossing_rate().
Referenced by aubio_zero_crossing_rate().
clamp the values of a vector within the range [-abs(max), abs(max)]
| in | vector to clamp |
| absmax | maximum value over which input vector elements should be clamped |
References fvec_clamp().
Referenced by fvec_clamp().
set elements of a vector to window coefficients
| window | exsting fvec_t to use |
| window_type | type of the window to create |
List of available window types: "rectangle", "hamming", "hanning", "hanningz", "blackman", "blackman_harris", "gaussian", "welch", "parzen", "default".
"default" is equivalent to "hanningz".
References:
References fvec_set_window().
Referenced by fvec_set_window().
create window
| window_type | type of the window to create |
| size | length of the window to create (see fvec_set_window()) |
References new_aubio_window().
Referenced by new_aubio_window().