Quick Sign In:  

Forum: German Forum

Topic: Sich ändernde Grundlautstärke im Track auslesen?
bibi-bPRO InfinityMember since 2022
Hallo mal wieder,

ich beschäftige mich gerade intensiver mit der Verbindung von VDJ und QLC+. Da ich das alles für meinen Hobbyraum mache, möchte ich "einfach" QLC+ möglichst automatisch und mit Zufalls-Outputs meine paar Lichter steuern lassen.

Ich lasse aktuell mit OS2L z.B. eine Zufalls-Lichtprogramm mit jedem ersten Beat im Takt triggern.
Läuft auch soweit.

Mein Traum: VDJ erkennt, wenn die Gesamtlautstärke im Track geringer wird und alle Lichter werden gedimmt (oder nur bestimmte Lichter bleiben an). Und beim Drop geht lichtermäßig wieder die Lutzi ab. Das Problem: Ich kann mit get_vu_meter zwar die aktuelle Lautstärke auslesen, aber das ist halt immer die aktuelle (die allein zwischen 2 Beats auf Null runtergehen kann). Was ich eigentlich brauche, ist eine Art Mittelwert. Also "Wie laut ist der Track seit 2 Sekunden?" oder so.

So klappt es halt nicht zufriedenstellend:
deck master repeat_start 'vu_meter' ? on & deck master repeat_stop 'vu_meter' : deck master repeat_start 'vu_meter' 25ms & get_vu_meter & param_smaller 0.25 ? get_vu_meter & param_multiply 100000% & os2l_cmd 100 : os2l_cmd 100 255%


Da werden alle 25ms Werte von 0 bis 255 gesendet.

Habe ich einen Denkfehler? Gibt es andere Werte, die ich besser per Script auslesen sollte? Kann man irgendwie (vielleicht über Variablen?) Mittelwerte bilden?

Habt ihr Ideen?

VG
Meiko
 

Posted Fri 24 Feb 23 @ 2:22 pm
Wie immer keine Ahnung von OS2L. Aber mit ner Variable funktioniert das ;) Werte nicht direkt das VU aus, sondern den PEAK. der zappelt nicht ganz so ;)

Ich hab mit Peak unter 0.5 getestet. Das funktioniert bei meinen House Tracks gut.


deck master repeat_start 'vu_meter' ? on & deck master repeat_stop 'vu_meter' : deck master repeat_start 'vu_meter' 25ms &
param_smaller 0.5 `get_vu_meter_peak` ? set '$test' 0 : set '$test' 1


 

Posted Fri 24 Feb 23 @ 3:04 pm
bibi-bPRO InfinityMember since 2022
Hmm, ich habe nun diesen beiden Ansätze:

Code 1 erstellt die Summe aus 4 hintereinander abgefragten Werten:
deck master repeat_start 'vu_meter' ? on & deck master repeat_stop 'vu_meter' : set_var 'vu_summe' 0 & deck master repeat_start 'vu_meter' 25ms 4 & param_add `get_vu_meter_peak` `get_var 'vu_summe'` & set_var 'vu_summe'


Code 2 teilt durch 4 und ich habe den Mittelwert:
get_var 'vu_summe' & param_multiply 0.25 & set_var 'vu_mittelwert'


Aber wie bringe ich die beiden Codes nun zusammen, so dass ständig (alle 100ms) der Mittelwert erzeugt wird?
 

Posted Mon 27 Feb 23 @ 5:26 pm