Este proyecto es una aplicación construida con Javascript y React que se encarga de generar canciones aleatorias basadas en patrones músicales básicos. Algunos de estos patrones son:
- Generación Aleatoria completa
- Generación Basada en escalas
- Generación Basada en distancia de tonos
- Generación Basada en tonos y acordes
- Generación Basada en Composición rítmica y melódica
También se puede visualizar la partitura de la composición generada y además se ofrece una visualización usando SVG.
Algunos codepen con experimentos que soportan las generaciones:
Otro repositorio con experimentos sobre Vexflow
Aquí puedes ver la presentación donde se expone este proyecto: Link a las diapositivas
Clona el repositorio
git clone https://github.com/seagomezar/AI-Based-Music-Generator-ReactJS.git
Ten instalada la última versión de nodeJS que puedes obtener aquí: https://nodejs.org/es/
Ejecuta npm install
para instalar las dependencias.
Ejecuta npm run dev
para un servidor de dev. Navega a http://localhost:3000/
. La aplicación se recargará automáticamente cuando hagas algun cambio en el código.
- React - Una biblioteca de JavaScript para construir interfaces de usuario.
- VexFlow - VexFlow es una API de representación de notación musical Open-Source. Está escrito completamente en JavaScript y se ejecuta directamente en el navegador.
- ToneJS - ToneJS API para la manipulación de la Web Audio API
- Sebastian Gomez - Trabajo Completo - seagomezar
- En realidad, quiero incluir diferentes tipos de estructuras de inteligencia artificial como modelos de Markov, redes neuronales, aprendizaje automático profundo para mejorar la calidad de las composiciones e incluso empezar a explorar armonias.
- No descarto convertir esto en un proyecto musical educativo.
- También podría crear composiciones orquestales completas de acuerdo a un genero o tema
- Cuentame tus ideas con un PR!
- Comenta a otros sobre este proyecto 📢
- Invitame una cerveza 🍺 o un café ☕.
- Da las gracias públicamente 🤓 my twitter @sebasgojs.
- etc.
⌨️ con ❤️ por sebasgojs 😊