- Les FMP notebooks sont des ressources pédagogiques basées sur Jupyter pour apprendre et enseigner les Fundamentals of Music Processing, avec un accent sur l’audio
- À partir de scénarios d’application de la Music Information Retrieval (MIR), ils relient dans un même fil théorie, formules, figures, exemples audio et exemples de code Python
- La version HTML statique peut être consultée directement sans installation, mais l’exécution du code nécessite de télécharger les notebooks et les données, ainsi que de configurer un environnement avec serveur Jupyter
- La version actuelle est la 1.2.6 ; le texte et les figures sont fournis sous licence CC BY-NC-SA 4.0, et le paquet Python
libfmpsous licence MIT - En suivant les 8 chapitres du manuel, le contenu couvre successivement les représentations musicales, l’analyse de Fourier, la synchronisation, l’analyse de structure, la reconnaissance d’accords, le suivi du tempo et des temps, la recherche audio et la décomposition audio
Objectif des FMP notebooks
- Les FMP notebooks sont un ensemble de ressources pédagogiques pour l’apprentissage et l’enseignement de Fundamentals of Music Processing
- Ils se concentrent sur le domaine audio et prennent comme scénarios d’application des sujets bien connus de la Music Information Retrieval (MIR)
- Ils intègrent les éléments suivants dans un même framework basé sur Jupyter Notebook
- Introduction aux scénarios MIR
- Figures et exemples sonores
- Concepts techniques et détails mathématiques
- Exemples de code Python montrant l’implémentation de la théorie
- Les étudiants peuvent étudier théorie et pratique ensemble, les enseignants peuvent les utiliser comme supports de cours, et les chercheurs peuvent s’appuyer sur des implémentations de référence pour des tâches MIR
Lecture et exécution
- Si seule une consultation statique est nécessaire, la version HTML exportée peut être utilisée directement sans installation
- Les explications, figures et exemples audio sont accessibles via les liens HTML
- Pour exécuter les cellules de code Python, la procédure suivante est nécessaire
- Télécharger les notebooks et les données
- Créer l’environnement d’exécution
- Démarrer le serveur Jupyter
- Utiliser les liens IPYNB dans la session Jupyter
- La procédure d’exécution détaillée est décrite dans Get Started
Version et licences
- Les FMP notebooks sont mis à jour en continu, et la version actuelle est la 1.2.6
- Le texte et les figures des notebooks sont distribués sous Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- Le paquet Python
libfmpest sous licence MIT et disponible sur GitHub - Les ressources audio sont soumises à leurs licences d’origine respectives
- Le site contient une partie du texte et des figures du livre Fundamentals of Music Processing
Structure des notebooks
- Les FMP notebooks sont organisés selon les 8 chapitres du manuel
-
Basics
- Couvre la prise en main, le framework Jupyter, Anaconda, le multimédia, la programmation Python, la visualisation, l’audio, Numba, les annotations,
libfmpet les ressources MIR
- Couvre la prise en main, le framework Jupyter, Anaconda, le multimédia, la programmation Python, la visualisation, l’audio, Numba, les annotations,
-
Music Representations
- Couvre la notation musicale, MIDI, les signaux audio, les formes d’onde, la hauteur, la sonie et le timbre
-
Fourier Analysis of Signals
- Couvre les signaux discrets et analogiques, les sinusoïdes, les fonctions exponentielles, la transformée de Fourier, la représentation de Fourier, la DFT, la FFT et la STFT
-
Music Synchronization
- Couvre les caractéristiques chroma, la programmation dynamique, le dynamic time warping (DTW), l’alignement et les interfaces utilisateur
-
Music Structure Analysis
- Couvre les matrices de similarité, les répétitions, les vignettes, l’homogénéité, la nouveauté, l’évaluation, la precision, le recall, la F-measure, la visualisation et les scape plots
-
Chord Recognition
- Couvre l’harmonie, la théorie musicale, les accords, les gammes, les templates, les hidden Markov models (HMM) et l’évaluation
-
Tempo and Beat Tracking
- Couvre les onsets, la nouveauté, le tempo, les tempogrammes, les beats, la périodicité, l’analyse de Fourier et l’autocorrélation
-
Content-Based Audio Retrieval
- Couvre l’identification, les fingerprints, la correspondance audio, l’identification de versions et les cover songs
-
Musically Informed Audio Decomposition
- Couvre la séparation harmonic/percussive, la reconstruction de signal, l’instantaneous frequency, la fundamental frequency (F0), les trajectoires et la nonnegative matrix factorization (NMF)
Références et paquet
- Lors de l’utilisation de ces ressources, il est recommandé de citer le livre Fundamentals of Music Processing – Using Python and Jupyter Notebooks
- Les références associées sont les suivantes
- Meinard Müller, Fundamentals of Music Processing – Using Python and Jupyter Notebooks, 2nd edition, Springer Verlag, 2021
- Meinard Müller and Frank Zalkow, FMP Notebooks: Educational Material for Teaching and Learning Fundamentals of Music Processing, ISMIR 2019
- Meinard Müller and Frank Zalkow, libfmp: A Python Package for Fundamentals of Music Processing, JOSS 2021
- Meinard Müller, An Educational Guide Through the FMP Notebooks for Teaching and Learning Fundamentals of Music Processing, Signals 2021
- Certains exemples de code ont été influencés par d’autres collections de code, notamment LibROSA, Notes on Music Information Retrieval et le cours Fundamentals of Music Processing
1 commentaires
Avis sur Hacker News
« Raspberry Pi for Dummies » contient un chapitre sur SonicPi et PyGame
SonicPi est un environnement de live coding pour la création musicale et l’enseignement ; d’après ce que j’en comprends, il ressemble à ChucK
PyGame semble disposer de
pygame.mixer, basé sur SDL mixerLe moteur de jeu Godot prend en charge les effets audio : https://docs.godotengine.org/en/stable/tutorials/audio/audio...
BespokeSynth possède un module
"script"qui permet d’utiliser Python pour synthétiser des notes et des accords, et transformer des flux audio : https://github.com/BespokeSynth/BespokeSynth/blob/main/resou... ( https://github.com/BespokeSynth/BespokeSynth/blob/main/bespo... )Les notebooks AllenDowney/ThinkDSP s’appuient notamment sur NumPy et freesound : https://github.com/AllenDowney/ThinkDSP
Il m’a beaucoup aidé à construire un modèle mental du traitement du son, et ce dépôt contient aussi beaucoup de bonnes ressources : https://github.com/BillyDM/Awesome-Audio-DSP
Elle se concentre sur la musique, mais reste très pertinente pour d’autres types d’audio, comme la voix ou les sons environnementaux
À part ça, oui