Taller de reciclado sonidos de la web mediante técnicas MIR
- Aplicación de técnicas de Music Information Retrieval (MIR) para extraer sonidos de bases de datos online (internet)
- Efectos en tiempo real para modelar estos sonidos con criterios musicales
- Exploración de nuevas interfaces controladoras y diseño de nuevos instrumentos que aprovechen los puntos anteriores
- Implementación de prototipos utilizando Software Libre y protocolos estándar
Día 1 (01/04/2017)
- Contexto
- Cloud
- Cantidad de datos disponibles online (musicales, speech, audio en general, etc)
- Licencias libres. Creative Commons (CC)
- Informe 2015
- 4 millones de tracks de audio (+42M en video y multimedia)
- BigData. Analytics. Machine Learning
- Introducción a MIR
- Descriptores o features (LFC, BPM, SpectralCentroid, …, más de 100)
- Extracción de metadata (conocimiento)
- Una lista de descriptores posibles
- Opción de programar nuestro propio descritpor
- Clusters
- Almacenamientoo en bases de datos
- Descriptores o features (LFC, BPM, SpectralCentroid, …, más de 100)
- Posibles usos artísticos de MIR + Engine Synthesis + Cloud
- Automatizar todo o no
- Dónde puede estar la decisión compositiva
- Máquina de estados “MIR”
- Arquitecturas distribuidas
- Ventajas y desventajas
- Redes locales. IP + puerto (ej: 10.0.1.10:57120)
- Network Audio
- Diferencias entre programas de síntesis. Paradigmas
- SuperCollider, PureData (pd), Max/Msp, Python + Pyo
- Multiplataforma. Linux, Mac, Windows. Raspberry Pi
- Software Libre
- Livecoding
- Protocolos estándar. MIDI y OSC
- Configurar OSC
- Usar UI de OpenStageControl para enviar mensajes a Supercollider u otro.
- API estándar (como forma de acceso unificado)
- App complemento: APICultor
- “Extraer miel de redpanal” (aproximación de BigData a las colecciones musicales)
- Multiplataforma
- Opciones: Máquina virtual o vía Docker.
Día 2 (08/04/2017)
- Repaso OSC y arquitecturas. IP + Puerto
- Intro a SuperCollider
- Server, Buffer’s y Synth’s
- Livecoding
- Disparar evento con MIDI y OSC
- Ver Curso de Supercollider para principiantes (en español)
- Máquina de estados MIR (Ver diagrama)
- Como composición algorítmica
- Toma de decisiones definiendo cada estado según descriptores MIR
- Aplicar técnicas de ingeniería de software en general
- Desarrollo iterativo e incremental (código siempre funcionando y generando un resultado)
- Control de versiones (git)
- El mismo código puede ser la documentación
Día 3 (22/04/2017)
- Empezar a desarrollar una idea propia (mini-proyecto)
- Extraer descriptores de sonidos propios
- Tone Synth (ADSR, LFO noise, control de cantidad de armónicos, etc) para SuperCollider controlado por OSC.
- controllers_ui/example_synth_with_OpenStageControl.scd
- controllers_ui/OpenStageControl_UI/synth.js
- Opción controlar con TouchOSC o CONTROL (Android/iOS)
- ¿Qué es una API? Ejemplos
- JSON vs XML
- REST
- Curl
- Freesound API y Quark para SuperCollider
- Postman API test & dev
- Ejercicio: Buscar el lowlevel.pitch.max value y generar una sinusoide en base a ese valor. Otra para el valor medio (mean). Y sumar.
- Datasets
- Git. Repositorios de código.
- Introducción a Pyo.
- IDE (E-Pyo)
- Ejemplo de síntesis en Raspberry Pi
Día 4 (29/04/2017)
- El reciclado sonoro según MIR.
- Music Information Retrieval y Big Data aplicados para componer ambientes sonoros con sonidos libres de la web RedPanal.org
- Slides: https://github.com/sonidosmutantes/taller-reciclado/blob/master/M%C3%A1quinaDeEstadosMIRAmbientesSonorosRedPanal.pdf
- Ejemplos sonando
- Máquina de estado
- Interacción con API Freesound
- Ejemplo sonoro: “Feature Thinking” (con sonidos libres Creative Commons de Freesound.org)
- Repaso de arquitecturas propuestas
- APICultor Como armar algo propio.
- Comparación entre alternativas open-source
- Cómo seguir reciclando
- Análisis offline. SonicVisualizer + VAMP plugins
- Efectos en tiempo real. SuperCollider y Pyo.
- Docker
- #live-coding-argentina: livecode.slack.com. Invitación: http://live-code-slack.herokuapp.com/
- Proyecto de reciclado de sonidos libres de la web en RedPanal.org (sonido + referencia al original).
# Complementos
- Datasets
- UI para enviar OSC
- APICultor
- SonicVisualizer + VAMP plugins
- Librerias: Essentia, LibRosa.
- EarSketch
- IPython Notebook (Jupyter) Python interactivo
- Weka (Data Mining)
- Postman API test & dev
- scikit-learn Machine Learning in Python
- Pyo Dedicated Python module for digital signal processing
Fotos
Taller Edición 2017: https://www.flickr.com/photos/casanacionaldelbicentenario/sets/72157682929987215/with/33394031653/