Points Clés
- Utilise TensorFlow.js pour la détection de hauteur en temps réel.
- Génère des fichiers MIDI et du code Strudel/TidalCycles.
- Fonctionne entièrement côté client via l'API Web Audio.
- Utilise quatre algorithmes : CREPE, YIN, FFT/HPS et AMDF.
- Créé pour combler le fossé pour les utilisateurs sans connaissances théoriques en musique.
Résumé Rapide
Une nouvelle application navigateur appelée Voice Composer a été lancée, conçue pour convertir les entrées vocales en données musicales utilisables. L'outil vise les communautés du live coding et du DJing en direct en permettant aux utilisateurs de fredonner des mélodies et de générer instantanément du code pour des systèmes musicaux basés sur des motifs.
L'application utilise TensorFlow.js et d'autres algorithmes pour la détection de hauteur en temps réel. Elle fonctionne entièrement dans le navigateur via l'API Web Audio, garantissant que les données audio brutes ne quittent jamais la machine de l'utilisateur. L'outil génère des fichiers MIDI, des rouleaux de piano visuels et du code compatible avec Strudel et TidalCycles.
Fonctionnalité Principale et Algorithmes
Le Voice Composer aborde un problème spécifique pour les aspirants codeurs en direct : la difficulté de traduire des idées mélodiques en code sans connaissances approfondies en théorie musicale. En capturant l'audio en temps réel, l'outil convertit les entrées vocales en motifs algorithmiques immédiatement.
L'application emploie quatre méthodes distinctes de détection de hauteur pour gérer diverses entrées audio :
- CREPE : Un modèle d'apprentissage profond via TensorFlow.js, noté pour sa haute précision mais coût de calcul plus élevé.
- YIN : Une méthode d'estimation de fréquence fondamentale basée sur l'autocorrélation, rapide et efficace pour une entrée monophonique propre.
- FFT avec Spectre de Produit Harmonique : Optimisé pour gérer les sons riches en harmoniques.
- AMDF : Fonction de Différence de Magnitude Moyenne, une option légère pour un traitement rapide.
Les utilisateurs peuvent basculer entre ces algorithmes en fonction de leur cas d'utilisation spécifique et de la qualité de l'entrée.
Architecture Technique
Construit avec React, l'outil opère entièrement dans le navigateur. Il exploite l'API Canvas pour fournir un rendu d'onde en temps réel et un retour visuel via une interface de rouleau de piano.
La décision de garder tout le traitement côté client garantit la confidentialité et une faible latence. Le créateur imagine l'outil évoluant vers un Station de Travail Audio Numérique (DAW) complet au fil du temps. Actuellement, il est optimisé pour une utilisation sur ordinateur de bureau, où il fonctionne le plus efficacement.
Intégration avec le Live Coding
La sortie principale vise l'environnement de live coding. En générant du code Strudel/TidalCycles, l'outil permet une intégration immédiate dans les configurations de performance existantes. Cela supprime la barrière de l'écriture manuelle de syntaxe pour des motifs complexes.
Le créateur a développé l'application en un week-end pour résoudre son propre défi d'apprentissage du live coding sans arrière-plan musical. Le logiciel résultant rend "trivial de capturer des idées mélodiques et de les utiliser immédiatement dans des systèmes musicaux basés sur des motifs."
Disponibilité et Développement Futur
L'outil est actuellement disponible pour les tests via un lien hébergé. Le code source a été mis à disposition sur un dépôt public, invitant les contributions et les retours de la communauté.
Les mises à jour futures visent à étendre les capacités de l'application, se rapprochant de la fonctionnalité d'un DAW standard. Cela suggère un soutien potentiel pour l'enregistrement multi-pistes, le traitement des effets et une compatibilité plus large des formats de fichiers dans les versions suivantes.




