BeatDetection | |
---|---|
Entwickler | Frank Brueggemann |
Aktuelle Version | 2.0 |
Status | Experimentell |
Funktioniert mit | 2.12 |
Download |
Beschreibung
Mit dem BeatDetectionPlugin kann aus dem gerade auf dem Rechner laufenden Sound in Echtzeit ein Beatsignal ermittelt werden. Dieses wird direkt an DMXControl übergeben und kann dort z.B. Effekte steuern
Installation
Zur Installation die BeatDetection.dll-Datei in das ..\Plugins-Verzeichnis von DMXControl kopieren und in DMXControl das Plugin aktivieren (und auch den Schalter "experimentelle Programmteile zeigen" aktivieren).
Konfiguration
Das Plugin hat keine Konifguration
Bedienung
Im oberen Teil des Plugins wird links die Soundkarte und rechts entsprechende der Eingang ausgewählt, von der man den Soundstream analysieren möchte. Darunter kann man den verwendeten Algorithmus auswählen (siehe unten) und mit dem Gain-Regler die Empfindlichkeit einstellen. Diese wirkt nur auf die Signalanalyse im Plugin aber nicht auf die tatsächliche Lautstärke des Audiostreams. Mit dem Schalter maxBPM und dem dazugehörigen Regler kann die maximale Geschwindigkeit der BPM-Signale im Bereich von 30-300 BPM eingestellt werden.
Weitere Einstellungsmöglichkeiten erlaubt das Advanced-Fenster, wo in zwei verschiedenen Modi die ermittelten Beats noch auf einen BPM-Bereich eingeschränkt werden können. Details siehe weiter unten.
Algorithmen
In dieser zweiten Version sind drei Algorithmen zur Beaterkennung realisiert:
Standard Weight Method
Diese Methode wertet nur einen kleinen Bereich (Bass oder Hihat oder Bass&HiHat) des Frequenzspektrums aus und ermittelt den Beat anhand der Signalentwicklung in diesen Bändern. Man kann zwischen den Bändern beliebig umschalten und mit dem Sensitivity-Regler das Ansprechverhalten des Algorithmus in kleinen Grenzen beeinflussen.
Simple Sound Energy
Diese Methode bewertet die Entwicklung der Soundenergie des gesamten Spektrums als Ganzes.
Frequency Selected Sound Energy
Diese Methode erweitert die SimpleSoundEnergy-Methode um die Aufteilung der Soundenergie auf mehrere Frequenzbänder (8-256) und führt die Analyse getrennt für jedes Frequenzband durch. Mit dem Schalter "Interpreted Subbands" und dem dazugehörigen Regler kann man einstellen, dass nur die Bänder mit den stärksten Impulsen verwendet werden und wieviele davon zur Beaterkennung verwendet werden. Diese Methode ist recht rechenaufwendig und kann bei älteren Rechnern zu einer spürbaren Grundlast führen.
Die Methoden 2 und 3 basieren auf dieser Publikation.
Advanced Mode (ab V2.0 für DMXControl 2.11, entfernt in V2.12)
In der aktuellen Version V2.12 ist die Bedienung vereinfacht worden und der Advanced Mode ist durch diese Bedienelemente im Hauptfenster ersetzt worden.
Mit dem Button "Keep this beat!" werden mit der gerade ermittelten BPM künstlich Beats gesendet, wenn kein Beat im Bereich der eingestellten "BPM-Tolerance" festgestellt wurde. Die Funktion wird durch erneutes klicken auf den Button wieder ausgeschaltet.
Mit den Buttons 2 - 1 - 1/2 kann das Tempo der künstlich generierten Beats verdoppelt oder halbiert werden.
Mit dem "Sync"-Button kann man die generierten Beats auf den Zeitpunkt des Klicks synchronisieren.
Zusammenspiel mit dem BeatTool von DMXControl
Das Plugin macht nichts anderes als in DMXControl den "sync"-Button zu drücken !!!
Da gibt es es jetzt drei Möglichkeiten:
- Das BeatTool-Fenster ist offen und steht "nicht" auf manuell: es kommt kein Beat-Signal in DMXControl an !
- Das BeatTool-Fenster ist offen und steht auf manuell: DMXControl berechnet aus den Signalen vom Plugin einen "eigenen" Beat und gibt diesen an die Effekte weiter.
- Das BeatTool-Fenster ist geschlossen: Alle beatgesteuerten Effekte arbeiten nur mit den Beats aus dem Plugin. D.h., es läuft auch kein Beat weiter, wenn kein Signal vom Plugin mehr kommt !
Einschränkungen
ASIO-Soundkarten werden nicht unterstützt.