TabMaster - BPM ermitteln (Freeware)

von NorthWalker, 09.08.05.

  1. NorthWalker

    NorthWalker Helpful & Friendly User HFU

    Im Board seit:
    03.08.04
    Zuletzt hier:
    13.10.11
    Beiträge:
    412
    Ort:
    Schleswig
    Zustimmungen:
    4
    Kekse:
    1.383
    Erstellt: 09.08.05   #1
    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.
     
  2. AgentOrange

    AgentOrange Mod Emeritus Ex-Moderator

    Im Board seit:
    16.04.04
    Zuletzt hier:
    6.12.16
    Beiträge:
    9.769
    Ort:
    Heidelberg
    Zustimmungen:
    354
    Kekse:
    7.549
    Erstellt: 09.08.05   #2
    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!
     
  3. strangequark

    strangequark Registrierter Benutzer

    Im Board seit:
    24.10.04
    Zuletzt hier:
    12.12.07
    Beiträge:
    198
    Zustimmungen:
    0
    Kekse:
    17
    Erstellt: 09.08.05   #3
    Vielen Dank.
     
  4. NorthWalker

    NorthWalker Threadersteller Helpful & Friendly User HFU

    Im Board seit:
    03.08.04
    Zuletzt hier:
    13.10.11
    Beiträge:
    412
    Ort:
    Schleswig
    Zustimmungen:
    4
    Kekse:
    1.383
    Erstellt: 09.08.05   #4
    Donnerwetter, damit hab ich ja nun gar nicht gerechnet, vielen Dank für die Punkte!
     
  5. Stringgod

    Stringgod HCA Gitarre HCA

    Im Board seit:
    31.08.04
    Zuletzt hier:
    30.12.14
    Beiträge:
    2.111
    Ort:
    Essen
    Zustimmungen:
    4
    Kekse:
    2.130
    Erstellt: 09.08.05   #5
    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. :)
     
  6. strangequark

    strangequark Registrierter Benutzer

    Im Board seit:
    24.10.04
    Zuletzt hier:
    12.12.07
    Beiträge:
    198
    Zustimmungen:
    0
    Kekse:
    17
    Erstellt: 09.08.05   #6
    Ü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
     
  7. strangequark

    strangequark Registrierter Benutzer

    Im Board seit:
    24.10.04
    Zuletzt hier:
    12.12.07
    Beiträge:
    198
    Zustimmungen:
    0
    Kekse:
    17
    Erstellt: 09.08.05   #7
    Naja, man muss jetzt gar nicht so gleichmäßig tippen, schließlich interessiert ja der Durchschnittswert...
     
  8. AgentOrange

    AgentOrange Mod Emeritus Ex-Moderator

    Im Board seit:
    16.04.04
    Zuletzt hier:
    6.12.16
    Beiträge:
    9.769
    Ort:
    Heidelberg
    Zustimmungen:
    354
    Kekse:
    7.549
    Erstellt: 09.08.05   #8
    Ja, aber relativ genau sollts schon sein ^^
     
  9. strangequark

    strangequark Registrierter Benutzer

    Im Board seit:
    24.10.04
    Zuletzt hier:
    12.12.07
    Beiträge:
    198
    Zustimmungen:
    0
    Kekse:
    17
    Erstellt: 09.08.05   #9

    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. :)
     
  10. NorthWalker

    NorthWalker Threadersteller Helpful & Friendly User HFU

    Im Board seit:
    03.08.04
    Zuletzt hier:
    13.10.11
    Beiträge:
    412
    Ort:
    Schleswig
    Zustimmungen:
    4
    Kekse:
    1.383
    Erstellt: 09.08.05   #10
    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 :)
     
  11. strangequark

    strangequark Registrierter Benutzer

    Im Board seit:
    24.10.04
    Zuletzt hier:
    12.12.07
    Beiträge:
    198
    Zustimmungen:
    0
    Kekse:
    17
    Erstellt: 09.08.05   #11
    Jo, danke. :)
     
Die Seite wird geladen...

mapping