BPM-Zahl berechnen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

BPM-Zahl berechnen

Beitrag von Delle »

Ich brauch eigentlich nur den Verzögerungswert für Delay(), bis wann der bis zum nächsten Beat gewartet werden soll.

Problem: Bei 60 BPM läuft es schneller als bei 160 :-)

Code: Alles auswählen

InitSound()

LoadSound(1,"bass.wav")

; Beats per Minute
bpm.l=125

; wieviele schläge pro (milli)sekunde?

wert.f = ((1/60)*bpm.l)*1000

;4/4 Takt mit XYZ BPM abpielen

Repeat

PlaySound(1)

Delay(wert/4)

x=x+1

Until x=4
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Beitrag von Sylvia »

Deine Formel ist falsch.

ms/Takt= 1000ms/(Bpm/60)
Basic Pur = PureBasic
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Okay so funktioniert es, aber stürzt beim 2. oder 3. Durchwahl immer mit "schweren Ausnahmefehler" ab, warum?

Code: Alles auswählen

InitSound()

LoadSound(1,"bass.wav")

bpm.l=135

wert=1000/(bpm.l/60)

Repeat

PlaySound(1)

Delay(wert)

x=x+1

Until x=4

FreeSound(1)

End
Antworten