AudioUtilsaudio-utils.com

Command Palette

Search for a command to run...

BPM-detektor

Accepterar: 9 format· Visa alla

Accepterar även MP4, MOV, WebM, AVI — ljudet extraheras automatiskt.

Släpp ett spår och få dess tempo i BPM. Ren TS-analys som körs i din webbläsare — ingen uppladdning, ingen registrering.

Din fil lämnar aldrig din enhet. All bearbetning sker i den här webbläsarfliken.

BPM (slag per minut) är ett spårs hjärtslag. Slå fel med ett slag och en remix låser inte; slå fel med en oktav och ditt DJ-set faller ihop. Den här detektorn använder autokorrelation av onset-envelope med oktavfelskorrigering för att läsa tempot i vilken ljudfil som helst, i din webbläsare. Släpp en fil, få ett tal — typiskt inom ±2 BPM från sant värde på rytmiskt material.

Vad BPM-detektion faktiskt mäter

BPM-detektion hittar periodiciteten i en signals energi-envelope. Den klassiska metoden: räkna ut RMS i ett kort fönster, ta den halvvågsrektifierade differensen för att få en onset-signal, och autokorrelera sedan för att hitta den mest sannolika slagperioden. Kantfall är bland annat tempon som inte ligger på heltalsgränser i frame (174 BPM är ökänt knepigt), låtar med stark betoning på halv takt som lurar detektorn att rapportera halvtempo, och låtar utan tydligt rytmiskt innehåll. Vi mildrar det vanliga oktavfelet genom att kontrollera om det fördubblade tempot också har en stark autokorrelationspeak — i så fall föredrar vi den snabbare avläsningen, eftersom det av lyssnaren upplevda tempot oftast ligger i intervallet 100-180 BPM.

Så fungerar den här detektorn

Ljudet avkodas av Web Audio API och mixas till mono. Vi räknar ut en RMS-envelope vid 100 Hz framerate (10 ms hopp, 20 ms fönster) och halvvågsrektifierar sedan första differensen för att isolera onsets. Autokorrelationen sveper över fördröjningar som motsvarar 60-200 BPM. När den starkaste peaken valts gör vi en oktavkorrigering i efterhand: om halvfördröjningen (= fördubblat tempo) har en peak på minst 45 % av den valda byter vi till den snabbare avläsningen. Parabolisk interpolation runt den valda peaken ger BPM-precision under en frame. Allt körs i webbläsar-TypeScript över Float32Array — inga externa bibliotek, ingen server.

När du använder det här verktyget

  • Beatmatching för DJ-set och liveframträdanden
  • Låsa remixer och stems till ett referensspårs tempo
  • Sätta projekttempot i din DAW innan du importerar en inspelad take
  • Kontrollera trumsamples och loops för att säkerställa korrekt tempo-etikett
  • Snabb rytmkoll på en låt du inte direkt kan tappa med

Vanliga frågor

Hur exakt är detektionen?
På rytmiskt tydligt material (det mesta av pop, dance, hip-hop, rock med trummor), räkna med ±2 BPM. På material med svag eller ingen perkussion (orkestralt, ambient, akustiska ballader) har algoritmen mindre att låsa på och kan rapportera halv- eller dubbeltempo. Säkerheten rapporteras tillsammans med BPM:en — låg säkerhet betyder att resultatet ska tas med en nypa salt.
Varför rapporterar den ibland halva mitt förväntade BPM?
BPM-detektion är ett i grunden tvetydigt problem när periodicitet finns vid flera harmoniskt relaterade hastigheter. Vi upptäcker det här fallet och föredrar den snabbare avläsningen, men för väldigt långsamma låtar (60-80 BPM) med stark uppdelning kan detektorn ändå välja det fördubblade tempot. Jämför med din egen tap-tempo-läsning om det inte känns rätt.
Klarar den låtar med variabelt tempo?
Inte särskilt bra. Den integrerade avläsningen speglar genomsnittstempot över hela spåret. För låtar med tempobyten sektion för sektion är en beat-tracking-algoritm med utdata per frame rätt verktyg — men det är mycket tyngre och dåligt anpassat till en gratis webbläsarbaserad tjänst.
Vad händer om mitt spår inte har trummor?
Akustiskt / ambient / icke-perkussivt material är det svåraste fallet. Onset-envelopen plockar upp tonala notattacker men de är mycket svagare än trumslag. Säkerheten blir låg och resultatet opålitligt. För dessa fall är det ofta bättre att skriva in BPM:en för hand utifrån kompositörens intention.

Integritet

Din fil analyseras helt och hållet i denna webbläsarflik — avkodad av Web Audio API, behandlad av webbläsar-TypeScript, aldrig uppladdad. Stänger du fliken raderas allt arbetstillstånd.