Audioanalyzer DMXC3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
(Formatvorlagen für Box Wichtig und Box Referenz eingefügt)
Zeile 3: Zeile 3:




=Überblick=
= Überblick =
*<span>Echtzeitanalyse des Audiosignals mit der Übergabe von Beat, Level und Spektrumsdaten an das Input Assignment</span>
*<span>Echtzeitanalyse des Audiosignals mit der Übergabe von Beat, Level und Spektrumsdaten an das Input Assignment</span>


==Vor- und Nachteile==
== Vor- und Nachteile ==
Der Audioanalyzer ist ein Modul, mit dem du dein Lichtsetup automatisch zur Musik steuern kannst. Hierbei wird die Musik live durch die Software analysiert und versucht, zum Beispiel den Bassschlag (also die Beats) etc. herauszufinden. Passend zu diesen Beats werden dann Effekte im Taktschlag der Musik ausgeführt. Durch diese Liveanalyse passt das Licht mehr oder weniger gut auf die Musik. Dafür können hier vor allem auch Lieder abgespielt werden, auf die das Lichtsetup nicht speziell angepasst wurde. Trotzdem kommt immer ein einigermaßen passendes Licht heraus. Außerdem hält sich auch der Programmieraufwand für viele verschiedene Lieder in Grenzen. Diese Methode ist aber eher ungenau und die Show ist nicht 100%ig auf jedes Lied angepasst, insbesondere weil die Software die Stimmung des Liedes nicht fühlen kann. Für den Partykeller oder eine kleine Hobbydisco kann das jedoch trotzdem ausreichend sein.
Der Audioanalyzer ist ein Modul, mit dem du dein Lichtsetup automatisch zur Musik steuern kannst. Hierbei wird die Musik live durch die Software analysiert und versucht, zum Beispiel den Bassschlag (also die Beats) etc. herauszufinden. Passend zu diesen Beats werden dann Effekte im Taktschlag der Musik ausgeführt. Durch diese Liveanalyse passt das Licht mehr oder weniger gut auf die Musik. Dafür können hier vor allem auch Lieder abgespielt werden, auf die das Lichtsetup nicht speziell angepasst wurde. Trotzdem kommt immer ein einigermaßen passendes Licht heraus. Außerdem hält sich auch der Programmieraufwand für viele verschiedene Lieder in Grenzen. Diese Methode ist aber eher ungenau und die Show ist nicht 100%ig auf jedes Lied angepasst, insbesondere weil die Software die Stimmung des Liedes nicht fühlen kann. Für den Partykeller oder eine kleine Hobbydisco kann das jedoch trotzdem ausreichend sein.


Zeile 15: Zeile 15:
* ASIO Soundkarten werden nicht unterstützt
* ASIO Soundkarten werden nicht unterstützt


=Nutzung=
= Nutzung =


== Devices ==
== Devices ==
Zeile 50: Zeile 50:
* Regler zur Pegelkorrektur (Level correction)
* Regler zur Pegelkorrektur (Level correction)


 
{{BoxWichtig|Text = Die massive Nutzung der Spektrumswerte (>10 Kanäle) im Input Assignment kann unter Umständen zu Performance-Problemen in der GUI führen.}}
<div id="Vorlage_Wichtig" style="border: 1px solid #FF2222; background-color: #FFFACD; border-left: 5px solid #FF2222; font-size: 95%; padding: 0 7px;">
'''Achtung:''' Die massive Nutzung der Spektrumswerte (>10 Kanäle) im Input Assignment kann unter Umständen zu Performance-Problemen in der GUI führen !
</div>


== Beat Detection ==
== Beat Detection ==
Zeile 86: Zeile 83:


Diese Methode nutzt alle vorher beschriebenen Algorithmen gleichzeitig. Mit dem Sensitivity-Regler stellt man dabei ein, wieviel Algorithmen gleichzeitig einen Beat finden müssen, damit wirklich ein Beat ausgegeben wird.  
Diese Methode nutzt alle vorher beschriebenen Algorithmen gleichzeitig. Mit dem Sensitivity-Regler stellt man dabei ein, wieviel Algorithmen gleichzeitig einen Beat finden müssen, damit wirklich ein Beat ausgegeben wird.  
<br>
<includeonly><div id="Vorlage_Hinweis" style="border: 1px solid #EEE0A4; background-color: #FCFCFC; border-left: 5px solid #EEC066; font-size: 95%; padding: 0 7px;">
'''Hinweis:'''<br>{{{1}}}
</div></includeonly><noinclude>
{{Hinweis
|Für Mathe- und Statistik-Interessierte:
Die Methoden 3 und 4 basieren auf [http://www.gamedev.net/page/resources/_/technical/math-and-physics/beat-detection-algorithms-r1952 dieser Publikation].
}}


<br>
{{BoxReferenz|Text = Für Mathe- und Statistik-Interessierte: Die Methoden 3 und 4 basieren auf [http://www.gamedev.net/page/resources/_/technical/math-and-physics/beat-detection-algorithms-r1952 dieser Publikation].}}
 


=== weitere Bedienelemente ===
=== weitere Bedienelemente ===

Version vom 29. Januar 2020, 08:00 Uhr

Books.png Audioanalyzer DMXC3 Artikel beschreibt
DMXControl 3.2.0


Inhaltsverzeichnis

A

B

C

D

E

F

G

H

K

L

M

N

O

P

R

S


Überblick

  • Echtzeitanalyse des Audiosignals mit der Übergabe von Beat, Level und Spektrumsdaten an das Input Assignment

Vor- und Nachteile

Der Audioanalyzer ist ein Modul, mit dem du dein Lichtsetup automatisch zur Musik steuern kannst. Hierbei wird die Musik live durch die Software analysiert und versucht, zum Beispiel den Bassschlag (also die Beats) etc. herauszufinden. Passend zu diesen Beats werden dann Effekte im Taktschlag der Musik ausgeführt. Durch diese Liveanalyse passt das Licht mehr oder weniger gut auf die Musik. Dafür können hier vor allem auch Lieder abgespielt werden, auf die das Lichtsetup nicht speziell angepasst wurde. Trotzdem kommt immer ein einigermaßen passendes Licht heraus. Außerdem hält sich auch der Programmieraufwand für viele verschiedene Lieder in Grenzen. Diese Methode ist aber eher ungenau und die Show ist nicht 100%ig auf jedes Lied angepasst, insbesondere weil die Software die Stimmung des Liedes nicht fühlen kann. Für den Partykeller oder eine kleine Hobbydisco kann das jedoch trotzdem ausreichend sein.

Möchtest du eine richtige Lichtshow schaffen, die an jedem Punkt exakt zum Song passt, solltest du diese entweder vollständig manuell vorprogrammieren, wodurch sie dann immer gleich aussieht. Oder du gestaltest dein Projekt in der Art, dass du situativ schnell neue Lichtstimmungen schaffen kannst und die Show dabei die ganze Zeit live fährst. Im ersten Fall ist der Audioanalyzer das falsche Tool ist, im zweiten Fall kann zumindest das BeatSignal genutzt werden um CueLists musikgesteuert anzutriggern.

Wichtige Merkmale und Einschränkungen

  • Das Plugin hat keine eigenen Settings, aber fast alle Einstellungen werden im Projekt gespeichert
  • ASIO Soundkarten werden nicht unterstützt

Nutzung

Devices

Um das Plugin zu nutzen muss unter Device das richtige Audio Interface und der dazugehörige Input ausgewählt werden. Sollte die interne Systemwiedergabe verwendet werden, wird unter umständen ein Virtuelles Audio Kabel benötigt. Danach kann mit einem Click auf "Start" das Plugin aktiviert werden. Eine generelle Anpassung des Levels ist mit dem "Gain"-Regler möglich.


Abbildung 1.1:Audio Analyser Plugin
Abbildung 1.1: Audio Analyser Plugin
Abbildung 1.2:Audio Analyser Plugin Dark
Abbildung 1.2: Audio Analyser Plugin Dark


Nach Aktivierung des Plugins sind im Input Assignment folgende Eingänge verfügbar (die Anzahl der Spektrum-Eingänge ist abhängig von den Einstellungen):

Abbildung 2:Audio Analyser - Input Assignment
Abbildung 2: Audio Analyser - Input Assignment


Der Wertebereich für Level und Spektrum sind Werte zwischen 0 und 1.

VU-Meter

Abbildung 3:Audio Analyser - Level
Abbildung 3: Audio Analyser - Level


Zur Einstellung des VU-Meters (Level) gibt es folgende Einstellungen:

  • Regler zur Pegelkorrektur (Level correction)
  • Regler zur Einstellung der Haltezeit des Spitzenwerts (Peak Hold Time: 20-500 ms). Dies ist die Zeit, die der Level-Wert auf seinem Höchstwert bleibt, bevor er zurück auf den aktuellen Wert gesetzt wird oder langsam zurück geht zum aktuellen Wert (Peak Sink)
  • Schalter zum Ativieren der Peak Sink Funktion (s.o.)

Spektrum

Abbildung 4:Audio Analyser - Spectrum
Abbildung 4: Audio Analyser - Spectrum


Zur Einstellung des Spektrums gibt es folgende Einstellungen:

  • Anzahl der Spektrumskanäle (8,16,32,64,96). Dabei wird immer das gesamte Spektrum auf die entsprechende Anzahl Kanäle zusammen gefasst.
  • Regler zur Pegelkorrektur (Level correction)


 Wichtiger Hinweis Die massive Nutzung der Spektrumswerte (>10 Kanäle) im Input Assignment kann unter Umständen zu Performance-Problemen in der GUI führen.


Beat Detection

Abbildung 5:Audio Analyser - BeatDetection
Abbildung 5: Audio Analyser - BeatDetection


Die wichtigste Einstellung bei der Beat Detection ist der verwendete Algorithmus.

Algorithmen

In dieser Version sind fünf Algorithmen zur Beaterkennung realisiert:


1. 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 mit dem Sensitivity-Regler das Ansprechverhalten des Algorithmus in kleinen Grenzen beeinflussen.

2. Human Hearing

Diese Methode ist integriert in die im Plugin verwendete bass.dll.

3. Simple Sound Energy

Diese Methode bewertet die Entwicklung der Soundenergie des gesamten Spektrums als Ganzes.

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

5. Automatic

Diese Methode nutzt alle vorher beschriebenen Algorithmen gleichzeitig. Mit dem Sensitivity-Regler stellt man dabei ein, wieviel Algorithmen gleichzeitig einen Beat finden müssen, damit wirklich ein Beat ausgegeben wird.


 Wichtige Referenz Für Mathe- und Statistik-Interessierte: Die Methoden 3 und 4 basieren auf dieser Publikation.


weitere Bedienelemente

Der "MaxBPM-Schalter" begrenzt die maximal ausgegebenen Beats auf den darunter mit dem Regler eingestellten max.BPM-Wert (30-330 BPM).

mit dem "Additional Beats"-Regler kann eingestellt werden, wieviele Beats das Plugin künstlich mit der ermittelten BPM sendet (0-∞), solange kein neues Beatsignal erkannt wurde. Auch werden Beatsignale hier erkannt, die sehr nahe am theorethischen Beat liegen und die automatische Generierung wird entsprechend angepasst.

Die Schalter "double" and "half" haben nur eine Auswirkung, wenn "Additional Beats" einen Wert größer 0 hat. Bei "double" wird die künstliche BPM-Zahl verdoppelt, bei "half" halbiert.


Mood

Abbildung 6:Audio Analyser - Mood
Abbildung 6: Audio Analyser - Mood


Das Mood-Fenster zeigt graphisch den Verlauf des gesamten Spektrums. Dabei läuft auf der X-Achse die Zeit und auf der Y-Achse ist die Frequenz (Bassfrequenzen sind unten, hohe Fequenzen ganz oben. Die Intensität der Signale wird durch die Farbe (blau-grün-rot-gelb-weiß) angezeigt.

Zusätzlich wird schon die Tonart und der Basiston ermittelt. Dies ist aber noch in einem experimentellen Stadium. Siehe auch "geplante Weiterentwicklung".

Beat Generator

Abbildung 7:Audio Analyser - BeatGenerator
Abbildung 7: Audio Analyser - BeatGenerator


Der BeatGenerator ist eine Alternative zum ManualBeat in DMXControl3. Es bietet die Möglichkeit verschiedene Rhythmen auszuwählen (2/4, 3/4, 4/4, 5/4, Blues), wobei die ersten 4 Rhythmen keinen Unterschied in DMXControl3 machen, da so etwas wie HauptBeat (auf dem 1. Takt) bis jetzt nicht unterstützt wird. Lediglich der Blues-Rhythmus zeigt eine Wirkung, da er nicht gleichmäßig ist sondern im Verhältins 2/3 zu 1/3 den Beat ausgibt.

Wenn der BeatGenerator läuft ist die BeatDetection und Audioanalyse deaktiviert.

Erstellen von Effekten

Spektrum und VU-Meter

Um das Spektrum oder das VU-Meter zu verwenden, können im Input Assignment die Eingänge mit Parametermastern verbunden werden. Dabei wird das Signal an Fader Value verbunden. --> Bild IA Parametermaster X

Nun kann der Parametermaster z.b. Effekte angewendet werden. Der Effekt "PWM Static" kann für ein Standard VU-Meter, oder für ein Spektrum verwendet werden. --> Bild Device Control Effekt Static PWM

Beat

Um den Beat im Projekt zu verwenden, wird dieser einem Speedmaster zugeordnet. Zwischen dem Beat Input und dem Speedmaster wird noch eine Umwandlung von Beat nach Bool benötigt (Beat to Bool). Der umgewandelte Wert wird dann mit dem Speedmaster Eingang "Learn" verbunden. Bei dem Beat to Bool Knoten, sollte die "On Time" nicht größer als 100ms sein. Nun kann der zugewiesene Speedmaster ebenfalls auf Effekte und auch CueLists angewendet werden.


geplante Weiterentwicklung

  • erweiterte Einbindung ins Input Assignment (Start/Stop-Button, Gain-Regler vom InputAssignment aus steuerbar)
  • Beheben der Performance-Probleme bei massiver Spektrumsnutzung im Input Assignment
  • fortgeschrittene Musikanalyse --> automatische Lichtshow auf Basis Beat&Mood (Vision)

Links und Referenzen

Links