This is the accompanying website for the tutorial Fundamentals of Music Processing: An Introduction Using Python and Jupyter Notebooks offered at the International Society for Music Information Retrieval Conference 2019.
This tutorial will give an easy-to-understand introduction to music processing with a particular focus on audio-related analysis and retrieval tasks. In particular, the tutorial is aimed at non-experts and researchers who are new to the field. Based on well-established topics in Music Information Retrieval (MIR) as motivating application scenarios, we present fundamental techniques and algorithms that apply to a wide range of analysis and retrieval problems. We intend to explain the main ideas and techniques in an intuitive fashion using various figures and sound examples. Besides the theory, we also show how these techniques can be implemented going through specific Python code examples. All material, including the introduction of MIR scenarios, illustrations, sound examples, technical concepts, mathematical details, and code examples, are integrated into a comprehensive framework based on Jupyter notebooks. The notebooks are organized along with the eight chapters of the textbook on Fundamentals of Music Processing (FMP) (Springer 2015, http://www.music-processing.de). Another important goal of this tutorial is to show how the notebooks can be used to generate educational material for lectures and presentations. The notebooks (as well as HTML exports and multimedia examples) can be accessed via https://www.audiolabs-erlangen.de/FMP.
Overview
Slides (PDF),
Handouts (6 slides per page) (PDF)
FMP Notebooks: Overview
Music Representations and Retrieval
Slides (PDF),
Handouts (6 slides per page) (PDF)
FMP Notebooks: Sheet Music Representations,
Piano Roll Representations,
Symbolic Format MIDI,
Log-Frequency Spectrogram and Chromagram,
Dynamic Time Warping,
Music Synchronization
Audio Structure Analysis
Slides (PDF),
Handouts (6 slides per page) (PDF)
FMP Notebooks: General Principles,
Self-Similarity Matrix,
Scape Plot Representation,
Novelty-Based Segmentation
Tempo and Beat Tracking
Slides (PDF),
Handouts (6 slides per page) (PDF)
FMP Notebooks: Onset Detection,
Spectral-Based Novelty
Fourier Tempogram
Predominant Local Pulse
Audio Decomposition
Slides (PDF),
Handouts (6 slides per page) (PDF)
FMP Notebooks: Harmonic–Percussive Separation,
Harmonic–Residual–Percussive Separation
Nonnegative Matrix Factorization (NMF)
NMF-Based Spectrogram Factorization
NMF-Based Audio Decomposition
There are a number of comprehensive and well-document toolboxes that provide modular source code for processing and analyzing music and audio signals. Some of the code examples have been inspired or are based on code provided by other code collections. In particular, we want to mention the following excellent sources:
The FMP notebooks offer a collection of educational material closely following the textbook Fundamentals of Music Processing (FMP).
Meinard Müller
Fundamentals of Music Processing
Audio, Analysis, Algorithms, Applications
ISBN: 978-3-319-21944-8
Springer, 2015
In the following list, one finds additional pointers to books and articles related to the tutorial:
@inproceedings{MuellerZ19_FMP_ISMIR, author = {Meinard M{\"u}ller and Frank Zalkow}, title = {{FMP} Notebooks: Educational Material for Teaching and Learning Fundamentals of Music Processing}, booktitle = {Proceedings of the International Conference on Music Information Retrieval ({ISMIR})}, address = {Delft, The Netherlands}, month = {November}, year = {2019}, url-pdf = {2019_MuellerZalkow_FMP_ISMIR.pdf}, }
@inproceedings{LopezDOM19_ToolboxNMF_DAFx, author = {Patricio L{\'o}pez-Serrano and Christian Dittmar and Yigitcan {\"O}zer and Meinard M{\"u}ller}, title = {{NMF} Toolbox: Music Processing Applications of Nonnegative Matrix Factorization}, booktitle = {Proceedings of the International Conference on Digital Audio Effects ({DAFx})}, address = {Birmingham, UK}, year = {2019}, pages = {}, url-pdf = {2019_LopezSerranoDOM_NMF_DAFx.pdf}, url-demo = {https://www.audiolabs-erlangen.de/resources/MIR/NMFtoolbox/} }
@article{MullerPMV19_Editorial_IEEE-SPM, author = {Meinard M{\"u}ller and Bryan Pardo and Gautham J. Mysore and Vesa V{\"a}lim{\"a}ki}, title = {Recent Advances in Music Signal Processing}, journal = {{IEEE} Signal Processing Magazine}, volume = {36}, number = {1}, pages = {17--19}, year = {2019}, url = {https://doi.org/10.1109/MSP.2018.2876190}, doi = {10.1109/MSP.2018.2876190}, url-details={https://ieeexplore.ieee.org/document/8588415/} }
@misc{McFeeEtAl17_librosa_zenodo, author = {Brian McFee and Matt McVicar and Oriol Nieto and Stefan Balke and Carl Thome and Dawen Liang and Eric Battenberg and Josh Moore and Rachel Bittner and Ryuichi Yamamoto and Dan Ellis and Fabian-Robert St{\"o}ter and Douglas Repetto and Simon Waloschek and CJ Carr and Seth Kranzler and Keunwoo Choi and Petr Viktorin and Joao Felipe Santos and Adrian Holovaty and Waldir Pimenta and Hojin Lee}, title = {librosa 0.5.0}, month = feb, year = 2017, doi = {10.5281/zenodo.293021}, url = {https://doi.org/10.5281/zenodo.293021} }
@inproceedings{BoeckKSKW16_madmom_ACM-MM, author = {Sebastian B{\"{o}}ck and Filip Korzeniowski and Jan Schl{\"{u}}ter and Florian Krebs and Gerhard Widmer}, title = {madmom: {A} New Python Audio and Music Signal Processing Library}, booktitle = {Proceedings of the {ACM} International Conference on Multimedia ({ACM-MM})}, address = {Amsterdam, The Netherlands}, pages = {1174--1178}, year = {2016} }
@book{KneesS16_MusicSimilarityRetrieval_SPRINGER, author = {Peter Knees and Markus Schedl}, title = {Music Similarity and Retrieval}, type = {Monograph}, year = {2016}, isbn = {978-3-662-49720-3}, publisher = {Springer Verlag} }
@inproceedings{NietoB16_MSAF_ISMIR, author = {Oriol Nieto and Juan Pablo Bello}, title = {Systematic Exploration Of Computational Music Structure Research}, booktitle = {Proceedings of the International Conference on Music Information Retrieval ({ISMIR})}, address = {New York City, USA}, year = {2016}, pages = {547--553} }
@book{WeihsJVR16_MusicDataAnalysis_CRC, author = {Claus Weihs and Dietmar Jannach and Igor Vatolkin and Guenter Rudolph}, title = {Music Data Analysis: Foundations and Applications}, type = {Monograph}, year = {2016}, isbn = {978-1-498-71956-8}, publisher = {CRC Press} }
@inproceedings{McFeeHB15_DataAug_ISMIR, author = {Brian McFee and Eric J. Humphrey and Juan Pablo Bello}, title = {A Software Framework for Musical Data Augmentation}, booktitle = {Proceedings of International Society for Music Information Retrieval Conference ({ISMIR})}, pages = {248--254}, address = {M{\'a}laga, Spain}, year = {2015} }
@inproceedings{McFeeRLEMBN15_librosa_Python, author = {Brian McFee and Colin Raffel and Dawen Liang and Daniel P.W. Ellis and Matt McVicar and Eric Battenberg and Oriol Nieto}, title = {Librosa: Audio and Music Signal Analysis in Python}, booktitle = {Proceedings the Python Science Conference}, pages = {18--25}, year = {2015} }
@book{Mueller15_FMP_SPRINGER, author = {Meinard M\"{u}ller}, title = {Fundamentals of Music Processing -- Audio, Analysis, Algorithms, Applications}, type = {Monograph}, year = {2015}, isbn = {978-3-319-21944-8}, publisher = {Springer Verlag}, url-details={http://www.music-processing.de} }
@inproceedings{DriedgerM14_TSM_DAFx, author = {Jonathan Driedger and Meinard M{\"u}ller}, title = {{TSM} {T}oolbox: {MATLAB} Implementations of Time-Scale Modification Algorithms}, booktitle = {Proceedings of the International Conference on Digital Audio Effects ({DAFx})}, address = {Erlangen, Germany}, year = {2014}, pages = {249--256}, url-pdf = {2014_DriedgerMueller_TSM-Toolbox_DAFX.pdf}, url-details = {https://www.audiolabs-erlangen.de/resources/MIR/TSMtoolbox} }
@inproceedings{HumphreySNBB14_JAMS_ISMIR, author = {Eric J. Humphrey and Justin Salamon and Oriol Nieto and Jon Forsyth and Rachel M. Bittner and Juan Pablo Bello}, title = {{JAMS:} {A} {JSON} Annotated Music Specification for Reproducible {MIR} Research}, booktitle = {Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, address = {Taipei, Taiwan}, month = {October}, pages = {591--596}, year = {2014}, }
@inproceedings{MuellerJG14_SM-Toolbox_AES, author = {Meinard M{\"u}ller and Nanzhu Jiang and Harald Grohganz}, title = {{SM} {T}oolbox: {MATLAB} implementations for computing and enhancing similarity matrices}, booktitle = {Proceedings of the Audio Engineering Society ({AES}) Conference on Semantic Audio}, address = {London, UK}, year = {2014}, url-pdf = {2014_MuellerJiangGrohganz_ToolboxSM_AES.pdf}, url-details = {https://www.audiolabs-erlangen.de/resources/MIR/SMtoolbox} }
@inproceedings{RaffelMHSNLE14_MirEval_ISMIR, author = {Colin Raffel and Brian McFee and Eric J. Humphrey and Justin Salamon and Oriol Nieto and Dawen Liang and Daniel P. W. Ellis}, title = {{MIR{\_}EVAL}: {A} Transparent Implementation of Common {MIR} Metrics}, pages = {367--372}, booktitle = {Proceedings of the International Conference on Music Information Retrieval ({ISMIR})}, address = {Taipei, Taiwan}, year = {2014}, }
@inproceedings{BogdanovWGGHMRSZS13_essentia_ISMIR, author = {Dmitry Bogdanov and Nicolas Wack and Emilia G{\'{o}}mez and Sankalp Gulati and Perfecto Herrera and Oscar Mayor and Gerard Roma and Justin Salamon and Jos{\'{e}} R. Zapata and Xavier Serra}, title = {Essentia: An Audio Analysis Library for Music Information Retrieval}, booktitle = {Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, pages = {493--498}, address = {Curitiba, Brazil}, year = {2013}, }
@inproceedings{MauchE13_AudioDegradationToolbox_ISMIR, author = {Matthias Mauch and Sebastian Ewert}, title = {The Audio Degradation Toolbox and Its Application to Robustness Evaluation}, booktitle = {Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, pages = {83--88}, year = {2013}, address = {Curitiba, Brazil} }
@inproceedings{GroscheM11_TempogramToolbox_ISMIR-lateBreaking, author = {Peter Grosche and Meinard M{\"u}ller}, title = {{T}empogram {T}oolbox: {MATLAB} Tempo and Pulse Analysis of Music Recordings}, booktitle = {Late-Breaking and Demo Session of the Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, address = {Miami, Florida, USA}, year = {2011}, month = {October}, url-pdf = {2011_GroscheMueller_TempogramToolbox_ISMIR-LateBreaking.pdf}, url-details = {https://www.audiolabs-erlangen.de/resources/MIR/tempogramtoolbox} }
@book{Lerch12_AudioAnalysis_Wiley, author = {Alexander Lerch}, title = {An Introduction to Audio Content Analysis}, type = {Monograph}, year = {2012}, isbn = {9781118266823}, publisher = {John Wiley & Sons} }
@inproceedings{MuellerEwert11_ChromaToolbox_ISMIR, author = {Meinard M{\"u}ller and Sebastian Ewert}, title = {{C}hroma {T}oolbox: {MATLAB} implementations for extracting variants of chroma-based audio features}, booktitle = {Proceedings of the International Conference on Music Information Retrieval ({ISMIR})}, address = {Miami, Florida, USA}, year = {2011}, pages = {215--220}, url-pdf = {2011_MuellerEwert_ChromaToolbox_ISMIR.pdf}, url-details = {https://www.audiolabs-erlangen.de/resources/MIR/chromatoolbox} }
@inproceedings{SchoerkhuberK10_ConstantQTransform_SMC, title = {Constant-{Q} transform toolbox for music processing}, author = {Christian Sch\"{o}rkhuber and Anssi P. Klapuri}, booktitle = {Proceedings of the Sound and Music Computing Conference {(SMC)}}, year = {2010}, address = {Barcelona, Spain}, pages = {3-64}, }
@inproceedings{Tzanetakis09_MARSYAS_ACM-MM, author = {George Tzanetakis}, title = {Music analysis, retrieval and synthesis of audio signals {MARSYAS}}, booktitle = {Proceedings of the {ACM} International Conference on Multimedia ({ACM-MM})}, address = {Vancouver, British Columbia, Canada}, pages = {931--932}, year = {2009}, }
@inproceedings{LartillotT07_MirToolbox_ISMIR, author = {Olivier Lartillot and Petri Toiviainen}, title = {{MIR} in {MATLAB} {(II):} {A} Toolbox for Musical Feature Extraction from Audio}, booktitle = {Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, address = {Vienna, Austria}, year = {2007}, pages = {127--130} }
@book{KlapuriD06_SPforMusic_BOOK, author = {Anssi P. Klapuri and Manuel Davy}, title = {Signal Processing Methods for Music Transcription}, publisher = {Springer}, address = {New York}, year = {2006}, isbn = {0-387-30667-6} }
@inproceedings{McEnnisKFD05_jAudio_ISMIR, author = {Daniel McEnnis and Cory McKay and Ichiro Fujinaga and Philippe Depalle}, title = {jAudio: An Feature Extraction Library}, pages = {600--603}, booktitle = {Proceedings of the International Society for Music Information Retrieval Conference ({ISMIR})}, address = {London, UK}, year = {2005} }