https://www.audiolabs-erlangen.de/resources/MIR/FMP/C0/C0.html FMP AudioLabs C0 FMP Notebooks Python Notebooks for Fundamentals of Music Processing The FMP notebooks offer a collection of educational material closely following the textbook Fundamentals of Music Processing (FMP). This is the starting website, which is opened when calling https:// www.audiolabs-erlangen.de/FMP. Besides giving an overview, this website provides information on the license and the main contributors. Information on Current Status: We work continuously on the FMP notebooks and provide updates on a regular basis (current version: 1.2.6). With the static HTML version of the FMP notebooks you can browse through the content right away. To run the Python code, please go to Get Started for instructions. For comments, please email me (Meinard Muller). I am grateful for feedback and suggestions. AboutP The FMP notebooks are a collection of educational material for teaching and learning Fundamentals of Music Processing (FMP) with a particular focus on the audio domain. Covering well-established topics in Music Information Retrieval (MIR) as motivating application scenarios, the FMP notebooks provide detailed textbook-like explanations of central techniques and algorithms in combination with Python code examples that illustrate how to implement the theory. All components including the introductions of MIR scenarios, illustrations, sound examples, technical concepts, mathematical details, and code examples are integrated into a consistent and comprehensive framework based on Jupyter notebooks. The FMP notebooks are suited for studying the theory and practice, for generating educational material for lectures, as well as for providing baseline implementations for many MIR tasks, thus addressing students, teachers, and researchers. CC The text and figures of these notebooks are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (see the file LICENSE). The Python package libfmp (i.e., the content of the directory libfmp) is licensed under the MIT license (see file libfmp_LICENSE) and is available at GitHub. As for the audio material, the respective original licenses apply. This site contains material (text passages, figures) from the book Fundamentals of Music Processing. If you use code or material from this site, please give reference to this book (e.g. Figure 1.1 from [Muller, FMP, Springer 2021]). If you publish results obtained or using these Python notebooks, please consider the following references: FMP_Cover * Meinard Muller: Fundamentals of Music Processing - Using Python and Jupyter Notebooks. 2nd edition, Springer Verlag, 2021. Bibtex Link * Meinard Muller and Frank Zalkow: FMP Notebooks: Educational Material for Teaching and Learning Fundamentals of Music Processing. Proceedings of the International Conference on Music Information Retrieval (ISMIR), Delft, The Netherlands, 2019. Bibtex PDF * Meinard Muller and Frank Zalkow: libfmp: A Python Package for Fundamentals of Music Processing. The Journal of Open Source Software (JOSS), 6(63), 2021. Bibtex PDF GitHub * Meinard Muller: An Educational Guide Through the FMP Notebooks for Teaching and Learning Fundamentals of Music Processing. Signals, 2(2):245-285, 2021. Bibtex PDF The FMP notebooks are maintained by Meinard Muller. For comments, please email meinard.mueller@audiolabs-erlangen.de. I am grateful for feedback and suggestions. Get StartedP If a static view of the FMP notebooks is enough for you, the exported HTML versions can be used right away without any installation. All material including the explanations, the figures, and the audio examples can be accessed by just following the HTML links. If you want to execute the Python code cells, you have to download the notebooks (along with the data), create an environment, and start a Jupyter server. You then need to follow the IPYNB links within the Jupyter session. The necessary steps are explained in detail in the FMP notebook on how to get started. OverviewP The collection of FMP notebooks is organized along the eight chapters of the textbook [Muller, FMP, Springer 2015]. The following table gives an overview of these chapters and provides links. Furthermore, in Part B, we provide basic information on the Python programming language, introduce the Juypter framework, and provide various tools used throughout the FMP notebooks. Chapter Title Notions, Techniques & HTML IPYNB Algorithms Get started; Juypter framework; Anaconda; [B_nav] Basics multimedia; Python [html] [ipynb] programming; visualization; audio; Numba; annotations; libfmp; MIR resources [C0_nav] Overview Overview of the notebooks [html] [ipynb] (this notebook/website) Music Music notation; MIDI; audio [C1_nav] Representations signal; waveform; pitch; [html] [ipynb] loudness; timbre Discrete/analog signal; Fourier sinusoid; exponential; [C2_nav] Analysis of Fourier transform; Fourier [html] [ipynb] Signals representation; DFT; FFT; STFT Chroma feature; dynamic [C3_nav] Music programming; dynamic time [html] [ipynb] Synchronization warping (DTW); alignment; user interface Similarity matrix; repetition; thumbnail; [C4_nav] Music Structure homogeneity; novelty; [html] [ipynb] Analysis evaluation; precision; recall; F-measure; visualization; scape plot Harmony; music theory; [C5_nav] Chord chords; scales; templates; [html] [ipynb] Recognition hidden Markov model (HMM); evaluation Onset; novelty; tempo; [C6_nav] Tempo and Beat tempogram; beat; periodicity; [html] [ipynb] Tracking Fourier analysis; autocorrelation Content-Based Identification; fingerprint; [C7_nav] Audio Retrieval audio matching; version [html] [ipynb] identification; cover song Harmonic/percusive separation; signal Musically reconstruction; instantaneous [C8_nav] Informed Audio frequency; fundamental [html] [ipynb] Decomposition frequency (F0); trajectory; nonnegative matrix factorization (NMF) AcknowledgmentP The notebooks are based on results, material, and insights that have been obtained in close collaboration with different people. I would like to express my gratitude to my former and current students, collaborators, and colleagues who have influenced and supported me in creating these notebooks. Also, various people have contributed to the code examples of the notebooks; credits are given in the notebooks' acknowledgement sections. Here, I will confine myself to only mentioning the names of the main contributors in alphabetical order: * Vlora Arifi-Muller * Stefan Balke * Eran Egozy * Michael Krause * Patricio Lopez-Serrano * Brian McFee * Sebastian Rosenzweig * Steve Tjoa * Angel Villar-Corrales * Christof Weiss * Frank Zalkow * Tim Zunner Furthermore, some of the code examples have been inspired or are based on code provided by other code collections. In particular, I want to mention the following excellent sources: * The python package LibROSA maintained by Brian McFee provides many building blocks to create music information retrieval systems. It also contains a gallery of more advanced examples. * The website Notes on Music Information Retrieval maintained by Steve Tjoa is a collection of instructional material for MIR. * The course Fundamentals of Music Processing by Eran Egozy comprises many Python code examples. C0 C1 C2 C3 C4 C5 C6 C7 C8