nw  

Beat Tracker

Zusammenfassung

Programmierung eines universellen Beat Trackers (Schläge pro Minute)

Schlüsselbegriffe

Windows 10, C#, NAudio, Math.NET, Audiosignal, Fourier Transformation, Spektrogram, Novelty Curve, Low Pulse Extraction

Zielsetzung

Es soll ein experimenteller "universeller" Beat Tracker programmiert werden, der aus dem mit einem Mikrofon aufgenommenen akustischen Signal Takt (Anzahl Schläge und Beginn) erkennt. Diese Erkenntnisse sollen dann entsprechend ausgegeben werden. Beispielsweise kann dies als Feedback auf einem Monitor bildhaft sichtbar gemacht werden (mit einem auf dem Bildschirm gezeichneten Rad, das gemäss Taktlänge unterteilt ist und sich einmal pro Takt dreht) oder als MIDI-Output (für die Weiterverarbeitung in einem Audioprogramm) ausgegeben werden.

Ausgangslage

Musiker lassen sich heute gerne mit elektronischen Geräten auch bei Live Performances unterstützen. Beispiele sind Loopers oder Drum Machines. Damit solche Geräte nahtlos "mitspielen" können, müssen sie sich dem jeweiligen live gespielten Rhythmus anpassen. Ein Grundprob-lem dabei ist das Erkennen und Verfolgen des Rhythmus samt genügend schneller Reaktion auf Tempowechsel (z.B. ritardando) der gespielten Musik. Die üblicherweise verwendeten Beat Tracker (z.B. in DJ-Software) brauchen einige manuelle Konfigurationen zu Stil und Taktart um live gespielter Musik folgen zu können. In der Forschung gibt es einige Untersuchungen, zu allgemeineren Ansätzen, die solche Hinweise nicht mehr benötigen, sondern rein das akustische Signal analysieren. Hierbei kommen sowohl Werkzeuge aus der Frequenzanalyse als auch seit neuerem Neuronale Netze zum Einsatz, wobei vor allem bei letzterem die nötigen Rechenzeiten kritisch sind.

Ergebnisse

In dieser Arbeit wird der Bau eines experimentellen und universellen Beat Trackers untersucht. Dabei wurden einige Ansätze zur Erkennung des Tempos (BPM) getestet und implementiert. Geschaffen wurde eine Basis, welche verschiedene Ein- und Ausgänge unterstützt (Mikrofon, Wave-Datei, MIDI), ein erweiterbares System für die Analyse des Audiosignals bereithält, hilfreiche Logging Werkzeuge mitbringt und die Qualität des Beat Trackers mit Testdaten automatisiert evaluiert. Die Auswertung mit dem «Ballroom Dataset» erzielt eine Korrektheit von 91.8 %. Darüber hinaus diskutieren wir weitere Ansätze zur Verbesserung des Beat Trackers.

Projektdaten
ProjektartProjektarbeit 5. Semester
Projektdauer1 Semester
Aufwand in Personenstunden360 Personenstunden
Teamgrösse2 Personen
Auftraggeber

Daniel Egli
Institut für Aerosol- und Sensortechnik
Fachhochschule Nordwestschweiz
Bahnhofstrasse 6
5210 Windisch
daniel.egli@fhnw.ch

https://www.fhnw.ch/de/die-fhnw/hochschulen/ht/institute/institut-fuer-aerosol-und-sensortechnik

Projektteam

Ajanth Kandasamy
Student Informatik (berufsbegleitend)
6. Semester
ajanth.kandasamy@students.fhnw.ch

Samuel Kupferschmid
Student Informatik (berufsbegleitend)
7. Semester
samuel.kupferschmid@students.fhnw.ch

Kontakt

Prof. Dr. Wolfgang Weck
wolfgang.weck@fhnw.ch

<< zurück