AudioUtilsaudio-utils.com

Command Palette

Search for a command to run...

BPM-detektor

Aksepterer: 9 formater· Vis alle

Aksepterer også MP4, MOV, WebM, AVI — lyden hentes ut automatisk.

Slipp et spor og få tempoet i BPM. Ren TS-analyse som kjører i nettleseren din — ingen opplasting, ingen registrering.

Filen din forlater aldri enheten din. All prosessering skjer i denne nettleserfanen.

BPM (slag per minutt) er hjertet i et spor. Bom med ett slag og en remix låser ikke; bom med en oktav og DJ-settet ditt faller fra hverandre. Denne detektoren bruker autokorrelasjon av onset-envelope med oktavfeil-korreksjon for å lese tempoet i en hvilken som helst lydfil i nettleseren din. Slipp en fil, få et tall — typisk innenfor ±2 BPM av faktisk verdi på rytmisk materiale.

Hva BPM-deteksjon faktisk måler

BPM-deteksjon finner periodisiteten i et signals energi-envelope. Den klassiske tilnærmingen: regn ut RMS i et kort vindu, ta den halvbølge-rektifiserte differensialen for å få et onset-signal, og autokorreler så for å finne den mest sannsynlige slagperioden. Kanttilfeller inkluderer tempoer som ikke ligger på heltallsgrenser i frame (174 BPM er beryktet vanskelig), låter med kraftig betoning på halv takt som lurer detektoren til å rapportere halvtempo, og låter uten klart rytmisk innhold. Vi demper det vanlige oktavfeil-tilfellet ved å sjekke om det doblede tempoet også har en sterk autokorrelasjonstopp — i så fall foretrekker vi den raskere avlesningen, fordi det opplevde tempoet vanligvis ligger i området 100-180 BPM.

Slik fungerer denne detektoren

Lyden dekodes av Web Audio API og mikses til mono. Vi regner ut en RMS-envelope ved 100 Hz framerate (10 ms hopp, 20 ms vindu) og halvbølge-rektifiserer så førstedifferensen for å isolere onsets. Autokorrelasjonen går over forsinkelser som tilsvarer 60-200 BPM. Etter at vi har valgt sterkeste topp, gjør vi en oktavkorreksjon i ettertid: hvis halv-forsinkelsen (= doblet tempo) har en topp på minst 45 % av den valgte, bytter vi til den raskere avlesningen. Parabolsk interpolasjon rundt valgt topp gir BPM-presisjon under én frame. Alt kjører i nettleser-TypeScript over Float32Array — ingen eksterne biblioteker, ingen server.

Når du bruker dette verktøyet

  • Beatmatching for DJ-sett og live-opptredener
  • Låse remixer og stems til tempoet i et referansespor
  • Sette prosjektets tempo i DAW-en før du importerer en innspilt take
  • Sjekke trommesample og loops for å være sikker på at de er riktig merket
  • Rask rytmesjekk på en låt du ikke umiddelbart klarer å tappe takten til

Vanlige spørsmål

Hvor nøyaktig er deteksjonen?
På rytmisk klart materiale (det meste av pop, dance, hiphop, rock med trommer), regn med ±2 BPM. På materiale med svak eller fraværende perkusjon (orkestralt, ambient, akustiske ballader) har algoritmen mindre å låse på, og kan rapportere halv- eller dobbelttempo. Tilliten rapporteres ved siden av BPM — en lav skår betyr at resultatet bør tas med en klype salt.
Hvorfor rapporterer den noen ganger halvparten av forventet BPM?
BPM-deteksjon er et iboende tvetydig problem når det finnes periodisitet på flere harmonisk relaterte hastigheter. Vi oppdager dette tilfellet og foretrekker den raskere avlesningen, men på svært trege låter (60-80 BPM) med sterk underdeling kan detektoren likevel velge det doblede tempoet. Sammenlign med din egen tap-tempo-avlesning hvis det ikke føles riktig.
Takler den låter med variabelt tempo?
Ikke godt. Den integrerte avlesningen gjenspeiler gjennomsnittstempoet over hele sporet. For låter med tempobytter seksjon for seksjon er en beat-tracking-algoritme med utdata per frame riktig verktøy — men det er mye tyngre og dårlig egnet til en gratis nettleserbasert tjeneste.
Hva om sporet mitt ikke har trommer?
Akustisk / ambient / ikke-perkussivt materiale er det vanskeligste tilfellet. Onset-envelopen plukker opp tonale noteanslag, men de er mye svakere enn trommeslag. Tilliten blir lav og resultatet upålitelig. I slike tilfeller kan det være bedre å skrive inn BPM for hånd ut fra komponistens intensjon.

Personvern

Filen din analyseres fullstendig i denne nettleserfanen — dekodet av Web Audio API, behandlet av nettleser-TypeScript, aldri lastet opp. Lukker du fanen, slettes all arbeidsstatus.