Ce qui a changé
Publié dans cette mise à jour
- L’analyse harmonique compare désormais les profils de tonalités majeures et mineures.
- Les tonalités mineures peuvent apparaître directement dans le résultat.
- Les meilleurs candidats indiquent désormais mode, score et confiance pour examiner les résultats serrés.
- Un script de benchmark permet de tester des fichiers de tonalité connue avant les futures modifications de détection.
Des retours assez précis pour corriger le problème
Un utilisateur appréciait l’analyseur, mais signalait un vrai problème : deux morceaux avaient reçu une tonalité incorrecte. Ce type de retour mérite une correction. Si la section Harmonique se trompe de tonalité, les autres conseils musicaux reposent sur une base fragile.
L’ancienne méthode était trop sommaire. Elle assimilait la classe de hauteur dominante du chroma à la fondamentale de la tonalité. Cela peut fonctionner sur un matériau simple, mais ignore une différence évidente : do majeur et la mineur utilisent les mêmes classes de hauteur sans donner la même impression tonale.
Ce qui a changé dans l’analyseur
L’analyseur harmonique actif compare désormais le résultat chroma aux profils majeurs et mineurs. Il utilise toujours les données audio du morceau, mais pose une meilleure question : quelle tonalité et quel mode expliquent au mieux l’ensemble des classes de hauteur ?
- Les profils majeurs et mineurs sont évalués séparément.
- La présence de la fondamentale et de la quinte aide à départager les candidats proches.
- Le résultat peut désormais renvoyer des tonalités mineures telles que Am.
- Les meilleurs candidats comprennent tonalité, mode, score et confiance plutôt qu’une simple liste de chaînes de caractères.
La détection ne devient pas pour autant infaillible. Un morceau peut moduler, emprunter des accords, rester modal ou éviter une tonique claire. Le changement rend l’estimation par défaut moins simpliste et plus facile à examiner.
Nos tests avant publication
Nous avons ajouté des tests unitaires ciblés pour le détecteur et la sortie de l’analyse harmonique. Un petit script de benchmark pour fichiers de tonalité connue permet également de vérifier les futurs réglages à partir d’un dossier ou d’un CSV, plutôt que par importations manuelles successives.
Pour le premier test rapide, nous avons généré des progressions majeures et mineures simples sur les 12 fondamentales. Le détecteur interne a trouvé la tonalité attendue dans 24 cas contrôlés sur 24. Cela prouve la distinction majeure/mineure de base, mais pas la résolution de tous les morceaux réels.
Pourquoi ne pas tout passer dès maintenant à un moteur externe lourd ?
Nous avons étudié des outils de détection open source. Essentia dispose d’un bon extracteur de tonalité et est raccordé comme backend facultatif pour les tests contrôlés. Il ne fait pas encore partie des dépendances web standard, car licences de production, packaging et coûts d’exécution doivent être évalués avec soin.
La méthode standard reste légère et vérifiable. C’est le compromis adapté à cette version : corriger le type d’erreur identifié, garder les résultats examinables et comparer des moteurs plus puissants sur de vrais morceaux avant leur mise en service.
À quoi s’attendre dans le résultat
La section Harmonique devrait mieux distinguer les tonalités relatives majeures et mineures. Si votre morceau est clairement en la mineur, l’analyseur ne doit plus le réduire à do simplement parce que les classes de hauteur se recoupent.
Si le résultat semble encore incorrect, le meilleur signalement comprend le morceau ou rapport exact ainsi que la tonalité attendue. Nous pouvons ainsi comparer tonalité détectée, meilleurs candidats, données chroma et éventuels cas musicaux particuliers plutôt que deviner de mémoire.
Questions fréquentes
Cela garantit-il la bonne tonalité pour chaque morceau ?
Non. L’estimation par défaut s’améliore, notamment en cas d’ambiguïté majeur/mineur, mais un morceau réel peut changer de tonalité ou éviter une tonique stable.
Avez-vous vérifié les deux morceaux signalés ?
Non. Les fichiers exacts n’étaient pas disponibles pendant cette correction. Nous avons vérifié le détecteur sur des données contrôlées de tonalité connue et ajouté un benchmark pour de vrais morceaux étiquetés.
Mix Analyzer utilisera-t-il Essentia pour détecter les tonalités ?
Peut-être. Le backend facultatif est prêt à être testé, mais la version standard conserve le détecteur interne jusqu’à ce que licences, packaging et benchmarks sur de vrais morceaux justifient un changement.