Hechos Clave
- Usa TensorFlow.js para la detección de tono en tiempo real.
- Genera archivos MIDI y código Strudel/TidalCycles.
- Se ejecuta completamente del lado del cliente usando Web Audio API.
- Utiliza cuatro algoritmos: CREPE, YIN, FFT/HPS y AMDF.
- Creado para cerrar la brecha para usuarios sin conocimientos de teoría musical.
Resumen Rápido
Se ha lanzado una nueva aplicación basada en navegador llamada Voice Composer, diseñada para convertir la entrada de voz en datos musicales utilizables. La herramienta se dirige a las comunidades de codificación en vivo y DJing en vivo permitiendo a los usuarios tararear melodías y generar código instantáneamente para sistemas musicales basados en patrones.
La aplicación utiliza TensorFlow.js y otros algoritmos para la detección de tono en tiempo real. Se ejecuta completamente en el navegador a través de la Web Audio API, asegurando que los datos de audio sin procesar nunca salgan de la máquina del usuario. La herramienta genera archivos MIDI, rollos de piano visuales y código compatible con Strudel y TidalCycles.
Funcionalidad Principal y Algoritmos
El Voice Composer aborda un problema específico para los aspirantes a codificadores en vivo: la dificultad de traducir ideas melódicas a código sin amplios conocimientos de teoría musical. Al capturar audio en tiempo real, la herramienta convierte la entrada vocal en patrones algorítmicos inmediatamente.
La aplicación emplea cuatro métodos distintos de detección de tono para manejar diversas entradas de audio:
- CREPE: Un modelo de aprendizaje profundo a través de TensorFlow.js, notado por su alta precisión pero mayor costo computacional.
- YIN: Un método de estimación de frecuencia fundamental basado en autocorrelación, rápido y efectivo para entrada monofónica limpia.
- FFT con Espectro de Producto Armónico: Optimizado para manejar sonidos ricos en armónicos.
- AMDF: Función de Diferencia de Magnitud Promedio, una opción ligera para procesamiento rápido.
Los usuarios pueden cambiar entre estos algoritmos según su caso de uso específico y la calidad de la entrada.
Arquitectura Técnica
Construido usando React, la herramienta opera completamente dentro del navegador. Aprovecha la Canvas API para proporcionar renderizado de forma de onda en tiempo real y retroalimentación visual a través de una interfaz de rollo de piano.
La decisión de mantener todo el procesamiento del lado del cliente garantiza privacidad y baja latencia. El creador visualiza la herramienta evolucionando hacia un Digital Audio Workbench (DAW) completo con el tiempo. Actualmente, está optimizada para uso en escritorio, donde funciona de manera más efectiva.
Integración con Codificación en Vivo
La salida principal se dirige al entorno de codificación en vivo. Al generar código Strudel/TidalCycles, la herramienta permite la integración inmediata en configuraciones de rendimiento existentes. Esto elimina la barrera de escribir manualmente la sintaxis para patrones complejos.
El creador desarrolló la aplicación durante un fin de semana para resolver su propio desafío de aprender codificación en vivo sin antecedentes musicales. El software resultante hace que sea "trivial capturar ideas melódicas y usarlas inmediatamente en sistemas musicales basados en patrones".
Disponibilidad y Desarrollo Futuro
La herramienta está actualmente disponible para pruebas a través de un enlace alojado. El código fuente se ha puesto a disposición en un repositorio público, invitando a contribuciones y comentarios de la comunidad.
Las actualizaciones futuras tienen como objetivo expandir las capacidades de la aplicación, acercándose más a la funcionalidad de un DAW estándar. Esto sugiere soporte potencial para grabación multipista, procesamiento de efectos y una mayor compatibilidad de formatos de archivo en versiones posteriores.




