Una biblioteca de Python para teoría musical, composición y bocetos de audio, que permite analizar acordes y escalas y generar MIDI y sonido reproducibles desde código.
Tonejs/Tone.js
Framework de Web Audio para crear música interactiva y sintetizadores en el navegador, con programación de eventos mediante un transporte al estilo de un DAW.
- Estrellas
- 14,889
- Forks
- 1,087
- Issues abiertos
- 50
- Último commit
- hace 7 días
¿Qué es?
Tone.js es un framework de JavaScript para crear música interactiva en el navegador sobre la Web Audio API. Ofrece funciones similares a las de un DAW, como un Transport global para sincronizar y programar eventos, además de sintetizadores, samplers y efectos preconfigurados que se pueden conectar entre sí.
La biblioteca también incluye componentes de bajo nivel para crear sintetizadores, efectos y señales de control personalizados. El tiempo se expresa en unidades musicales como «8n» o «1m», además de en segundos, y las funciones callback reciben tiempos con precisión de muestra para programar eventos. Player y Sampler permiten cargar archivos de audio; Sampler cambia el tono de las muestras para cubrir las notas que faltan.
Tone.js se puede instalar mediante npm y también cargar directamente desde unpkg en una página HTML. Los navegadores requieren una interacción del usuario antes de reproducir audio, así que las aplicaciones llaman a Tone.start() desde un manejador de eventos click o keydown.
Funciones clave
- 01Transport global para sincronizar y programar eventos, similar a la vista de arreglos de un DAW.
- 02Sintetizadores monofónicos y polifónicos preconfigurados, como FMSynth, AMSynth, NoiseSynth y PolySynth.
- 03Sampler y Player para cargar archivos de audio y ajustar el tono de las muestras para distintas notas.
- 04Efectos integrados que se pueden conectar en serie o en paralelo.
- 05Parámetros Signal a velocidad de audio, con rampas y curvas de automatización.
- 06Notación de tiempo musical, como «4n» y «8t», además de segundos.
Casos de uso
- Crear secuenciadores musicales o cajas de ritmos en el navegador.
- Crear música generativa interactiva o visualizaciones de audio en una página web.
- Crear prototipos de sintetizadores y efectos con Web Audio.
- Añadir instrumentos basados en muestras a un juego web o una aplicación de educación musical.
Inicio rápido
- 1
Instala Tone.js desde npm
npm install tone - 2
Importa Tone.js en tu proyecto
import * as Tone from "tone"; - 3
Crea un sintetizador, conéctalo a los altavoces y reproduce una nota después de que el usuario haga clic (llama primero a Tone.start())
Antes de usarlo
- Los navegadores bloquean el audio hasta que el usuario realiza una acción, por lo que Tone.start() debe llamarse desde un evento del usuario.
Temas
Preguntas frecuentes
- ¿Qué es Tone.js?
- Framework de Web Audio para crear música interactiva y sintetizadores en el navegador, con programación de eventos mediante un transporte al estilo de un DAW. Tone.js es un framework de JavaScript para crear música interactiva en el navegador sobre la Web Audio API. Ofrece funciones similares a las de un DAW, como un Transport global para sincronizar y programar eventos, además de sintetizadores, samplers y efectos preconfigurados que se pueden conectar entre sí.
- ¿Tone.js es gratuito? ¿Qué licencia tiene?
- Tone.js es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿Tone.js sigue mantenido?
- Mantenimiento activo. El último commit de Tone.js fue el 1 nov 2026.
- ¿Para qué puedo usar Tone.js?
- Crear secuenciadores musicales o cajas de ritmos en el navegador. Crear música generativa interactiva o visualizaciones de audio en una página web. Crear prototipos de sintetizadores y efectos con Web Audio. Añadir instrumentos basados en muestras a un juego web o una aplicación de educación musical.
- ¿Cómo se instala Tone.js?
- Instala Tone.js desde npm: npm install tone Importa Tone.js en tu proyecto: import * as Tone from "tone"; Crea un sintetizador, conéctalo a los altavoces y reproduce una nota después de que el usuario haga clic (llama primero a Tone.start())
- ¿Dónde consigo Tone.js?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Tonejs/Tone.js
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una estación de trabajo de audio digital (DAW) web para crear música en el navegador, sin registro ni seguimiento.
Un recorrido en barco 3D por un valle fluvial japonés, en el navegador y renderizado en tiempo real con three.js, durante las cuatro estaciones y a cualquier hora del día.
Reproductor de audio web de alta precisión que sincroniza música en varios dispositivos con navegador e incluye controles de audio espacial.
Curso introductorio dirigido por Microsoft para aprender IA generativa con JavaScript mediante una historia de viajes en el tiempo y una app de chat con personajes.
Colección seleccionada de ejemplos de Docker Compose listos para ejecutar que muestran cómo conectar servicios comunes para el desarrollo local.