TabMaster - BPM ermitteln (Freeware)

  • Ersteller NorthWalker
  • Erstellt am
NorthWalker
NorthWalker
Helpful & Friendly User
HFU
Zuletzt hier
13.10.11
Registriert
03.08.04
Beiträge
409
Kekse
1.373
Ort
Schleswig
Moin,

da ich zum Üben gern die Geschwindgkeit einiger Gitarrenstücke gewusst hätte habe ich mir ein kleines Tool geschrieben mit dem man die BPM jedes beliebigen Stücks selbst ermitteln kann.

Dazu tippt oder klickt man nur ohne Unterbrechung den Beat mit der Leertaste oder der Maus zum Stück eine Weile mit, das Programm berechnet dann daraus die Geschwindigkeit in BPM.

Mit ein wenig Übung funktioniert das ganz gut und deshalb dachte ich mir, ich stelle es mal anderen Usern aus dem Gitarrenforum zur Verfügung.

Das Programm ist Freeware, darf ohne Einschränkungen genutzt und weitergegeben werden sofern die Weitergabe unentgeltlich geschieht und das Programm nur für private Zwecke verwendet wird. Kommerzielle Nutzung ist untersagt, alle Rechte an dem Programm "TapMaster" liegen bei mir als Autor. Das einzige wofür ich garantiere ist das es Speicherplatz auf einem Datenträger belegt, die Benutzung erfolgt auf eigene Gefahr.

Das Programm ist nicht gezippt, nach dem Download kann es als Tapmaster.exe ganz einfach gestartet werden, eine Installation ist nicht erforderlich.

TapMaster v0.5 (Download)

Eine Bitte an die Mods: Sollte dieses Unterforum nicht das richtige sein (ich denke im Anfänger-Forum ist dieser Post am besten aufgehoben) dann bitte innerhalb des Gitarrenforums verschieben.

Bitte nicht in irgendeinen "Aussenbereich" ausserhalb des Gitarrenforums verschieben a la das interessiert vielleicht auch Klavierspieler oder Trompeter, denn dort schaut vermutlich kaum ein Gitarrero rein.
 
Eigenschaft
 
Hey, extrem fett, ich bin dafür dass alle mal auf die nette kleine Waage unten links bei northwalkers post klicken ;)

v.a. funktioniert das Ding wirklich!
 
Vielen Dank.
 
Donnerwetter, damit hab ich ja nun gar nicht gerechnet, vielen Dank für die Punkte!
 
AgentOrange schrieb:
v.a. funktioniert das Ding wirklich!

Vorrausgesetzt man ist in der Lage gleichmässig zu tippen.

Aber super Idee, Nürtz ! :)

Obwohl man auch einfach ein Metronom mitlaufen lassen könnte. :)
 
Übrigens.

Da ich selbst auch immer wieder ein bisschen rumprogrammiere, würde mich interessieren wie du das gemacht hast.

Also ich würde bei Eingabe (Leertaste) den Zeitpunkt speichern und diesen vom Zeitpunkt der nächsten abziehen. Diese Zeitspanne in Sekunden * 60 müssten die bpm ergeben oder?

Grüße,
strangequark
 
Stringgod schrieb:
Vorrausgesetzt man ist in der Lage gleichmässig zu tippen.

Aber super Idee, Nürtz ! :)

Obwohl man auch einfach ein Metronom mitlaufen lassen könnte. :)

Naja, man muss jetzt gar nicht so gleichmäßig tippen, schließlich interessiert ja der Durchschnittswert...
 
Ja, aber relativ genau sollts schon sein ^^
 
AgentOrange schrieb:
Ja, aber relativ genau sollts schon sein ^^


Ja der Durchschnittswert ist ja extrem genau. Ich meine das verwendet man doch z.B. wenn man gerade Musik im Hintergrund laufen hat und die bpm wissen will. Wenn ich da jetzt 15x draufklopfe, denk ich schon dass der Wert auf +- 0.5 bpm richtig ist.

Das ist natürlich geschätzt. :)
 
strangequark schrieb:
Übrigens.

Da ich selbst auch immer wieder ein bisschen rumprogrammiere, würde mich interessieren wie du das gemacht hast.

Also ich würde bei Eingabe (Leertaste) den Zeitpunkt speichern und diesen vom Zeitpunkt der nächsten abziehen. Diese Zeitspanne in Sekunden * 60 müssten die bpm ergeben oder?

Grüße,
strangequark
Ohne es hier zu technisch werden zu lassen:

Du brauchst einmal die Startzeit wenn du das erste mal für eine Messung die Leertaste oder einen Mausbutton drückst, plus die aktuelle Zeit nach dem letzten Tastendruck. Daraus errechnest du die Differenz in Millisekunden und weist anschliessend der Startzeit die Zeit des letzten Tastendrucks als neue Startzeit zu, beim nächsten Tastendruck beginnt das Spiel von vorn. Mit Sekunden würde das nicht funktionieren da du ja u. U. durchaus mehrmals pro Sekunde eine Taste drücken musst.

Da die vergangene Zeit seit dem letzten Tastendruck also in Millisekunden gerechnet werden muss errechnen sich die aktuellen BPM wie folgt: 60000 / Differenz in Millisekunden, für das errechen der durchschnittlichen BPM musst Du zusätzlich einen Counter mitzählen der jeden Tastendruck mitzählt und dann in die Berechnung einfliesst, also (60000*counter) / Differenz in Millisekunden zwischen der Zeit jetzt _und_ der Startzeit vom _ersten_ Tastendruck die dafür natürlich in einer Variable gespeichert werden muss.

Da das Ausgabeformat von Typ float ist muss das ganze noch gerundet werden was dann z. B. so aussieht: bpm:=(Round(bpm*100))/100. Das was dabei "rauskommt" siehst du als Ausgabe des Programms.

Dann noch ein paar Zeilen Code damit es nicht zu einem Gleitkommaüberlauf wegen Divison durch 0 kommt (z. B. beim ersten Durchlauf wenn der Counter noch 0 ist) und gut ist, also alles in allem sehr simpel.

Ich hoffe ein wenig geholfen zu haben :)
 
Jo, danke. :)
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben