BeatDetection Plugin DMXC2

Aus Deutsches DMXC-Wiki
Version vom 20. Dezember 2012, 16:20 Uhr von Phaefele (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Infobox Plugin | Name = BeatDetection | Logo = | Screenshot = Image:beatMain.jpg | Beschreibung = | Hersteller = Frank Brueggemann | AktuelleVersion = 2.…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
BeatDetection
BeatMain.jpg
Entwickler Frank Brueggemann
Aktuelle Version 2.0
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.


BeatDetection2.jpg


Advanced Mode (ab V2.0 für DMXControl 2.11)

Mit einem Klick auf den "Advanced"-Button öffnet sich das Tracking-Fenster, das weitere Optionen bietet.

ManualMode.jpg AutoMode.jpg


Im "Manuel Mode" können mit den Schiebereglern ober- und unterhalb der Graphik der obere und untere BPM-Grenzwert eingestellt werden. Nur Beats in diesem BPM-Bereich werden an DMXControl weitergegeben. Diese Filterung wird erst nach Drücken des Buttons "Keep this Beat !" aktiv. Mit dem Schalter "add Beats" kann man dem Plugin sagen, dass es künstlich Beats erzeugen soll, wenn in dem angegebenen BPM-Bereich kein Beat festgestellt. Mit dem Regler daneben kann eingestellt werden, wie viele künstliche Beats maximal nacheinander erzeugt werden.


Im "Auto Mode" kann nur eine Toleranz (max +- 50 bpm) auf die gerade gemessene BPM eingestellt und das Plugin gibt alle in diesem Bereich ermittelte Beats an DMXControl weiter.

Die gelben Balken im Diagramm zeigen die gemessene BPM-Verteilung der letzten Werte (maximal 200) an. Der grüne Bereich ist der Bereich, in dem Beats akzeptiert werden und die rote Linie zeigt den aktuellen BPM-Wert.

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:

1. Das BeatTool-Fenster ist offen und steht "nicht" auf manuell: es kommt kein Beat-Signal in DMXControl an !

2. 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.

3. 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.