Zitat Zitat von Whiz-zarD Beitrag anzeigen
Ich glaub, es würde mehr Sinn machen, eine Frequenzkurve zu erstellen, und sie dann mit der Abtastrate des Liedes (steht als Metadaten in der Musikdatei) abtasten, anstatt dort irgendwas zu berechnen.

http://de.wikipedia.org/wiki/Abtastu...lverarbeitung)
http://de.wikipedia.org/wiki/Abtastrate

Übrigens ist dies auch die Art, wie andere Spiele es machen. Gerade in der Musik gibt es zu viele variablen, die man nicht berechnen kann.
Es fängt doch schon damit an, wenn in einem Lied sich der Beat ändert. Dann wirst du schon große Probleme bekommen, weil deine Berechnung asynchron wird.
Deswegen wird auch ein Lied immer zuerst analysiert, wenn man es in die Bibliothek des Spiels aufnimmt. Dort wird das Lied abgetastet und die Ergebnisse gespeichert.
Was ist denn eine Frequenzkurve in diesem Zusammenhang? Du meinst wahrscheinlich eine Wellenform... da diese aber nur eine graphische(!) Repräsentation des Signalverlaufs ist, ist diese hier nutzlos. Und abtasten muss man dort auch nichts, denn die Musikdateien sind bereits das Resultat einer Abtastung.

Ich sehe momentan auch das Problem nicht. Wird dort eine Methode gesucht, um die Zeitstempel der Beats und so auch die (lokalen) bpm zu erhalten?
Dies lässt sich auf verschiedene Arten regeln. Eine einfache Möglichkeit ist eine simple Kantendetektion, bei der man die Sample-Werte nacheinander durchläuft und jede Kante markiert. Man muss dann einen Grenzwert festlegen, mit dem man entscheiden kann, was noch eine interessante Kante ist und was nicht (also wie stark der plötzliche Signalwertabfall sein muss bspw.). Bei einfacher elektronischer Musik sollte das auch ausreichend zuverlässig sein. Jede markierte Kante kann anschließend einem Zeitpunkt zugeordnet werden, indem man die Position auf die Zeit umrechnet (mit Hilfe der Abtastrate).
Falls es nicht ausreicht, gibt es auch ausgefeiltere Methoden, bspw. hier: https://www.clear.rice.edu/elec301/P.../beatalgo.html
Diese sind dementsprechend schwieriger umzusetzen, aber es gibt mit Sicherheit fertige kostenlose Bibliotheken, die das umsetzen - falls man die Arbeit nicht selbst erledigen möchte.