Cuadernos de Python para los fundamentos del procesamiento musical
(audiolabs-erlangen.de)- Los FMP notebooks son material educativo basado en Jupyter para aprender y enseñar Fundamentals of Music Processing con enfoque en audio
- Conectan en un mismo flujo teoría, fórmulas, figuras, ejemplos de audio y ejemplos de código en Python a partir de escenarios de aplicación de Music Information Retrieval (MIR)
- El HTML estático puede verse de inmediato sin instalación, pero para ejecutar el código se requiere descargar los cuadernos y los datos, además de configurar un entorno con servidor Jupyter
- La versión actual es la 1.2.6; el texto y las figuras se ofrecen bajo CC BY-NC-SA 4.0, y el paquete de Python
libfmpbajo licencia MIT - Siguiendo los 8 capítulos del material, recorre representaciones musicales, análisis de Fourier, sincronización, análisis estructural, reconocimiento de acordes, seguimiento de tempo y beat, búsqueda de audio y descomposición de audio
Propósito de los FMP notebooks
- FMP notebooks es una colección de material educativo para el aprendizaje y la enseñanza de Fundamentals of Music Processing
- Se enfoca en el dominio del audio y toma temas bien conocidos de Music Information Retrieval (MIR) como escenarios de aplicación
- Integra los siguientes elementos dentro de un mismo marco basado en Jupyter notebooks
- introducción a escenarios de MIR
- figuras y ejemplos de sonido
- conceptos técnicos y detalles matemáticos
- ejemplos de código en Python que muestran la implementación de la teoría
- Los estudiantes pueden estudiar teoría y práctica al mismo tiempo; los docentes pueden usarlo como material de clase; y los investigadores pueden tomar como referencia implementaciones base para tareas de MIR
Cómo leerlo y ejecutarlo
- Si solo se necesita una vista estática, la versión HTML exportada puede usarse de inmediato sin instalación
- se puede acceder a las explicaciones, figuras y ejemplos de audio siguiendo los enlaces HTML
- Para ejecutar las celdas de código en Python se requiere el siguiente proceso
- descargar los cuadernos y los datos
- crear el entorno de ejecución
- iniciar el servidor Jupyter
- usar los enlaces IPYNB dentro de la sesión de Jupyter
- El procedimiento detallado de ejecución está resumido en Get Started
Versión y licencia
- Los FMP notebooks se actualizan de forma continua, y la versión actual es la 1.2.6
- El texto y las figuras de los cuadernos se distribuyen bajo la licencia Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- El paquete de Python
libfmpusa licencia MIT y está disponible en GitHub - Cada material de audio mantiene su licencia original correspondiente
- El sitio incluye parte del texto y de las figuras del libro Fundamentals of Music Processing
Estructura de los cuadernos
- Los FMP notebooks están organizados siguiendo los 8 capítulos del libro
-
Basics
- aborda cómo empezar, el framework de Jupyter, Anaconda, multimedia, programación en Python, visualización, audio, Numba, anotaciones,
libfmpy recursos de MIR
- aborda cómo empezar, el framework de Jupyter, Anaconda, multimedia, programación en Python, visualización, audio, Numba, anotaciones,
-
Music Representations
- aborda notación musical, MIDI, señales de audio, forma de onda, pitch, loudness y timbre
-
Fourier Analysis of Signals
- aborda señales discretas y analógicas, ondas sinusoidales, funciones exponenciales, transformada de Fourier, representaciones de Fourier, DFT, FFT y STFT
-
Music Synchronization
- aborda características cromáticas, programación dinámica, dynamic time warping (DTW), alineación e interfaz de usuario
-
Music Structure Analysis
- aborda matrices de similitud, repeticiones, thumbnails, homogeneidad, novedad, evaluación, precision, recall, F-measure, visualización y scape plot
-
Chord Recognition
- aborda armonía, teoría musical, acordes, escalas, plantillas, hidden Markov model (HMM) y evaluación
-
Tempo and Beat Tracking
- aborda onset, novelty, tempo, tempogram, beat, periodicity, análisis de Fourier y autocorrelación
-
Content-Based Audio Retrieval
- aborda identificación, fingerprint, audio matching, identificación de versiones y cover song
-
Musically Informed Audio Decomposition
- aborda separación armónica/percursiva, reconstrucción de señal, instantaneous frequency, fundamental frequency (F0), trajectory y nonnegative matrix factorization (NMF)
Referencias y paquete
- Al usar el material, se recomienda citar el libro Fundamentals of Music Processing – Using Python and Jupyter Notebooks
- Las referencias relacionadas son las siguientes
- 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
- Algunos ejemplos de código recibieron influencia de otras colecciones de código, en particular LibROSA, Notes on Music Information Retrieval y el curso Fundamentals of Music Processing
1 comentarios
Opiniones en Hacker News
"Raspberry Pi for Dummies" tiene un capítulo que trata SonicPi y PyGame
SonicPi es un entorno de live coding para creación musical y educación, y por lo que entiendo es parecido a ChucK
PyGame parece tener
pygame.mixer, basado en SDL mixerEl motor de juegos Godot soporta efectos de audio: https://docs.godotengine.org/en/stable/tutorials/audio/audio...
BespokeSynth tiene un módulo
"script"que permite usar Python para sintetizar notas y acordes y transformar streams de audio: https://github.com/BespokeSynth/BespokeSynth/blob/main/resou... ( https://github.com/BespokeSynth/BespokeSynth/blob/main/bespo... )Los notebooks de AllenDowney/ThinkDSP hacen referencia a NumPy, freesound, etc.: https://github.com/AllenDowney/ThinkDSP
Me ayudó mucho a formar un modelo mental del procesamiento de sonido, y este repositorio también tiene muchos recursos buenos: https://github.com/BillyDM/Awesome-Audio-DSP
Está enfocado en música, pero también es muy relevante para otros tipos de audio, como voz o sonidos ambientales
Salvo por eso, está bien