Vad som ändrats
Levererat i den här uppdateringen
- Harmonisk analys jämför nu profiler för dur- och molltonarter.
- Molltonarter kan visas direkt i analysresultatet.
- De främsta kandidaterna innehåller nu modus, poäng och konfidens för felsökning av jämna resultat.
- Ett benchmarkskript kan testa filer med känd tonart innan framtida ändringar av tonartsidentifieringen publiceras.
Feedbacken var tillräckligt konkret för att åtgärda
En användare gillade analysverktyget men pekade på ett konkret problem: två låtar fick fel tonart. Det är en synpunkt som bör leda till en åtgärd. Om avsnittet Harmonik visar fel tonart bygger resten av musikråden på en osäker grund.
Den tidigare metoden var för grov. Den använde den starkaste tonklassen i chroma-analysen som tonartens grundton. Det kan fungera för enkelt material men missar en tydlig musikalisk skillnad: C-dur och A-moll använder samma tonklasser men upplevs inte som samma tonart.
Vad som ändrades i analysverktyget
Den aktiva harmoniska analysen jämför nu chroma-resultatet med profiler för dur- och molltonarter. Den använder fortfarande ljudunderlaget från spåret men ställer en bättre fråga: vilken tonart och vilket modus förklarar hela mönstret av tonklasser bäst?
- Dur- och mollprofiler poängsätts separat.
- Stöd från grundton och kvint hjälper till att skilja jämna kandidater åt.
- Resultatet kan nu visa molltonarter som Am.
- De främsta kandidaterna innehåller tonart, modus, poäng och konfidens i stället för en lista med enkla strängar.
Det gör inte tonartsidentifieringen till en ofelbar musikvetare. Låtar kan modulera, låna ackord, använda kyrkotonarter eller sakna tydlig tonika. Ändringen ger en mindre förenklad grunduppskattning och gör den lättare att felsöka.
Så testade vi före publicering
Vi lade till riktade enhetstester för tonartsdetektorn och resultatet från den harmoniska analysen. Vi lade också till ett litet benchmarkskript för ljudfiler med känd tonart, så framtida justeringar kan testas mot en mapp eller CSV i stället för en manuell uppladdning åt gången.
I det första snabbtestet skapade vi rena dur- och mollföljder för alla 12 grundtoner. Den interna detektorn gav förväntad tonart i 24 av 24 kontrollerade fall. Det visar att den nya logiken hanterar den grundläggande skillnaden mellan dur och moll. Det visar inte att den klarar varje verklig låt.
Varför inte byta till en tung extern motor redan nu?
Vi undersökte verktyg med öppen källkod för tonartsidentifiering. Essentia har en bra tonartsdetektor och är ansluten som en valfri backend för kontrollerade tester. Den ingår ännu inte i webbappens standardberoenden eftersom produktionslicenser, paketering och körkostnader kräver genomtänkta beslut.
Standardmetoden förblir liten och möjlig att granska. Det är rätt avvägning för den här versionen: åtgärda den tydliga feltypen, behålla felsökningsbara resultat och kunna jämföra starkare motorer med verkliga låtar innan de tas i drift.
Vad du kan förvänta dig av resultatet
Avsnittet Harmonik bör nu bättre kunna skilja parallella dur- och molltonarter åt. Om låten tydligt går i A-moll behöver analysverktyget inte längre reducera det till C enbart för att tonklasserna överlappar.
Om ett resultat fortfarande ser fel ut är den bästa felrapporten den exakta låten eller rapporten tillsammans med förväntad tonart. Då kan vi jämföra identifierad tonart, främsta kandidater, chroma-underlag och eventuella musikaliska gränsfall i stället för att gissa ur minnet.
Vanliga frågor
Garanterar det rätt tonart för varje låt?
Nej. Det förbättrar standarduppskattningen, särskilt när dur och moll är svåra att skilja åt, men verkliga låtar kan byta tonart eller sakna en stabil tonika.
Verifierade ni de två rapporterade låtarna?
Nej. De exakta filerna var inte tillgängliga när felet åtgärdades. Vi verifierade därför detektorn med kontrollerat ljud med känd tonart och lade till en benchmarkmetod för verkliga låtar med angiven tonart.
Kommer Mix Analyzer använda Essentia för tonartsidentifiering?
Kanske. Den valfria backendmetoden är klar för testning, men standardversionen behåller den interna detektorn tills licenser, paketering och benchmarkresultat med verkliga låtar motiverar ett byte.