BPM-Erkennung für Audio
Schätzen Sie das Tempo (BPM, Schläge pro Minute) einer Audiodatei mithilfe einer Energieanalyse in Kombination mit Autokorrelation. Unterstützt die Formate, die Ihr Browser nativ dekodieren kann (WAV, MP3, OGG, M4A je nach Browser).
So funktioniert es
Das Tool dekodiert das Audio, wandelt es in einen einzelnen Mono-Kanal um und berechnet dann über den gesamten Titel eine Energiehüllkurve (RMS) auf kleinen Fenstern von etwa 20 Millisekunden. Aus dieser Hüllkurve wird anschließend eine Funktion zur Erkennung von Einsätzen („Onsets“) abgeleitet, die nur die Energieanstiege beibehält. Darauf wird eine Autokorrelation angewendet, um den zeitlichen Abstand zu finden, der sich am regelmäßigsten wiederholt – dieser Abstand, in Schläge pro Minute umgerechnet, ergibt das geschätzte Tempo.
Ist diese Schätzung zu 100% zuverlässig?
Nein, es handelt sich um eine vereinfachte algorithmische Schätzung und nicht um einen Detektor in Studioqualität, wie er in der professionellen Musikproduktion verwendet wird. Die Genauigkeit schwankt stark je nach Musikstil: Sie ist bei Musik mit deutlicher, regelmäßiger Perkussion (Elektro, Pop, Rock) in der Regel gut und bei Stücken ohne klaren Beat (klassische Musik, Ambient, A-cappella-Gesang) weniger zuverlässig.
Warum erscheint das Ergebnis manchmal doppelt so schnell oder doppelt so langsam?
Das ist ein klassisches Phänomen der Tempoerkennung: Der Algorithmus kann sich auf das Doppelte oder die Hälfte des tatsächlich empfundenen Tempos festlegen (zum Beispiel 140 BPM erkennen, obwohl das Stück als 70 BPM wahrgenommen wird), weil die rhythmische Energie auf den Unterteilungen des Taktschlags oft genauso stark ist. Deshalb werden die sekundären Kandidaten (doppelt/halb) neben dem Hauptergebnis angezeigt.
Warum werden nur die ersten 60 Sekunden analysiert?
Damit die Analyse schnell bleibt und Ihren Browser bei langen Dateien nicht blockiert, beschränkt sie sich auf die erste Minute der Aufnahme. Das reicht völlig aus, um ein insgesamt stabiles Tempo zu schätzen.
100% lokale Verarbeitung: Das Dekodieren (Web Audio API) und die Tempoberechnung erfolgen vollständig in Ihrem Browser – Ihre Audiodatei wird niemals an einen Server gesendet.