To study the frequencies of a piece of audio, we can generate a spectrogram from that audio file. I'm wondering how the features of timbre are saved in such tiny wave files, and how we can extract those features and study the timbre? Thus we know what instruments are played in the audio?
1 Answer
I think the time history of the wave file is enough to obtain all sorts of features. There are mathematical formulae to extract the features from a given time series.
Some important features are:
- Time Domain Audio features
(a) Short-term Energy, (b) Zero Crossing Rate, (c) Entropy of Energy, (d) Basic Statistics (short term mean and standard deviations).
- Frequency Domain Audio Features
(a) Spectral Centroid and Spread, (b) Spectral Entropy, (c) Spectral Flux, (d) Spectral Rolloff, (e) Mel-Frequency Cepstrum Coefficients, (f) Chroma Vector
More details regarding audio analysis can be found in this book https://www.elsevier.com/books/introduction-to-audio-analysis/giannakopoulos/978-0-08-099388-1
If you have enough data, using these features you can build a machine learning model to correctly classify an unknown sound.
-
$\begingroup$ Thanks for your answer! Making a machine learning model to recognize timbre, which helps recognize music emotion, is exactly what I'm trying to do. $\endgroup$ Commented Jul 27, 2018 at 16:44