Can I make a "tap strobe"?

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
soundinguy
Posts: 1
Joined: Sat Jun 15, 2024 3:10 am
Real Name: Max C

Hello!

I'm brand new to DMX and QLC+, I think I'm familiar with some of the basics now. I've been scouring forums all day it seems that this is a common struggle.
What I want: I want a flashing light with a tempo that can be controlled via tap button. I want to be able to do this over any scene.
Example: I activate my red wash and by pressing this button, those specific fixtures will blackout to my set beat. Then I change my wash to blue and the blackout would ideally still be running.
I hope this makes sense.
I know I can make chases in which my fixtures can flash to black but I would need a separate dedicated chase for every scene with my current idea method. I want the flash to be universal and take ultimate priority.

I heard some things about loopback magic but I don't really understand that right now.
Is what I want possible? Is there something I may be misunderstanding fundamentally about QLC+ or DMX?

Thank you for your time and help!

Cheers,
Max.
MichelSliepenbeek
Posts: 820
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

If your Fixtures, next to channels for Red, Green and Blue (and maybe White, Amber and/or UV) , also have a seperate channel for Master Level, the easiest way is to make use of this.

Create some scenes that set the colors you want to use, but leave the Master Level unboxed in those scenes.
Create 2 scenes on the Master Level channel (where you only box this channel, leave all other channels unboxed): Dim (DMX = 0) and Full (DMX = 255).

Now put your color scenes in a Solo Frame (this allows you to change the colors) and create a chaser with your Dim and Full Master Level scenes (which will run your effect).
Add a speed dial to your VC, add this Chaser to it and use the TAB to set your timing.
You can also add a second Speed Dial to control the Fade In and Fade Out times for your Color scenes.

An alternative could be to use a RGB Matrix: first create a Fixture Group for the Fixtures you want to use for your effect, then create a RGB Matrix. Select this Fixture Group, set Control Mode to Dimmer and Blendmode to Mask, and select a pattern to your liking (you could try Strobe, Alternate, Even/Odd, One by One, Fill UnFill, .....).
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
ShagLight
Posts: 124
Joined: Wed Feb 15, 2023 5:13 pm
Real Name: David

I would like to add that it's good practice to trigger strobes with a flash button so when you press the button, you're strobing, release the button and you're not.

Previously, I would've done this with loopback. But thanks to the new playback slider in 4.13.1, you can add a flash button. This is much simpler than using loopback.

But then, you can just create a scene with the strobe channel in your fixture if it has it (most fixtures do), enabling only that channel and disabling the rest. The downside to that is multiple fixtures might not strobe in unison.
NO, I AM NOT THE SOUNDMAN!
DMXDave
Posts: 17
Joined: Thu Dec 05, 2024 6:38 pm
Location: GB
Real Name: D M Cowles

I'm going to resurrect this because there's no point in starting a new thread when the question is the same.

I have two fixtures: one with a master dimming channel and one without. I need these to flash in time with the tap tempo on a 'speed dial' widget.

I thought I was being clever by creating a loop chaser with two steps: the first with the colour full on and the second with the colour full off. I set the hold time of step one to 50ms and the second to infinite. I used this chaser as the source function for a speed dial and a cue list thinking that it would flash the lights on (for 50ms) and then hold in the off state until the next tap cycled it back to step one - as long as this pause was greater than 50ms.

Well it didn't work and it actually appears like the speed dial and cue list are completely disconnected from each other. I have another chaser where all steps have an infinite hold time which works as expected.

What did I do wrong? I'm guessing we can't create a speed dial and cue list based on a chaser with unequal hold times? *EDIT* Or that a cue list either uses the chaser's timings OR the speed dial's but not a combo of both?

*EDIT* So I created another loop chaser with 8 steps: Step 1 is colour ON, steps 2-8 are colour OFF and all are infinite hold. Using an appropriate 1/8 multiplier this gives me a passable approximation of a "tap strobe" but I do worry that QLC+ is doing a lot more work to achieve this than it should.
Assuming I know anything about this stuff based on my username would be a mistake on your part.
DMXDave
Posts: 17
Joined: Thu Dec 05, 2024 6:38 pm
Location: GB
Real Name: D M Cowles

OK, I’m going to share what I’ve got unless anyone has any simpler ideas for getting lights to flash in time with a speed dial widget? And for completeness, this is for my scenario of playing music to a prerecorded backing track where the tempo is fixed and the precise timings of points in the song are known in advance.

I created a series of infinite chasers with 2, 3, 4, 5, 6, 8 and 10 steps. In each of these the first step has the dimmer full ON and the remaining steps are dimmer OFF. This is because, at 220 bpm, you only need 2 steps (on-off) to create a passable flashing effect but at 60 bpm you need 9 ‘offs’ to make the 1 ‘on’ look like a flash.

Arbitrarily, I reckon the number of chaser steps, N, needed for a reasonable effect is

N = 60000/(bpm^2) (rounded up)

So at 115 bpm, N is 60000/(115 x 115) = 4.53… rounded up to 5. The speed dial time in seconds, T, for each step is found using

T = 60/(bpm x N)

so 60/(115 x 5) = 0.1043… or 104ms.

Using this method, I can get a flash on beat for anything between 60 and 220+ bpm only using tap times between about 70ms and 180ms (some flashes are briefer than others!). Now, I need to set these times per song using a MIDI command so I set the speed dial input to use ‘Absolute Value’ and set the range to go from 70ms to 198ms. This allows me to choose any millisecond value between these extremes using the velocity of a note-on message. Velocity 0 = 70ms, velocity 10 = 80ms and 104ms is set using velocity 34 (104 – 70). You might think that 197 should be top of the range as 70 + 127 = 197 but this leads to all values except 0 and 127 being rounded down by 1 for some reason.

I put the speed dial and the chasers' cue-lists in a solo frame as I only want the right one ‘playing’ at any time.

Obviously the beat and the flash will drift over time depending on how close N x T x bpm is to 60000, but I have found worse case is about +/-340ms per minute and usually much better. This drift can be avoided by only using the effect for shorter sections of the song or stopping and restarting the chaser on beat using a MIDI command at the precise time.

Still can’t believe there isn’t an easier way but thanks for listening anyhow :)
Last edited by DMXDave on Sat Dec 14, 2024 4:04 pm, edited 1 time in total.
Assuming I know anything about this stuff based on my username would be a mistake on your part.
MichelSliepenbeek
Posts: 820
Joined: Wed Feb 08, 2023 10:24 am
Location: Nederland
Real Name: Michel Sliepenbeek

Still can’t believe there isn’t an easier way ....

I suggest you have a look at the Audio Triggers Widget (https://docs.qlcplus.org/v4/virtual-con ... o-triggers).
For an explanation you could watch this video: https://www.youtube.com/watch?v=4PfOXc1Oh6w (specifically the part that starts at 09:40).
A QLC Workspace is like a Bob Ross painting: "it's your world, you can create whatever you want!"
DMXDave
Posts: 17
Joined: Thu Dec 05, 2024 6:38 pm
Location: GB
Real Name: D M Cowles

Hi Michel,

Thanks for the suggestion :) Audio triggering was my first thought and I might go down that route with a live band where the timing isn't so rigid.

Even with an isolated drum track and the widget listening at the desired frequencies I found it difficult to get it to work reliably across loud and quiet songs. I also wanted a straight flash on beat rather than following what the kick or snare was doing and so a pretty standard pop/rock beat like kick-snare-kick-kick-snare gave me weird results. Break beats and drum fills are a nightmare unless, of course, you want the lights to go berserk when the drummer does.

Also, if I want this effect to happen on beat 1 of bar 1 then the trigger hasn't had time to learn, but I can silently set the tempo via MIDI before the song starts.

To get to the issue: setting the timing isn't actually the problem... that's the easy part, particularly with prerecorded audio. I just need a function that says "on every tap turn the dimmer on for 100ms then turn it off"...
Assuming I know anything about this stuff based on my username would be a mistake on your part.
User avatar
GGGss
Posts: 3177
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Try to do following... Maybe you haven't noticed, but the time widget and the tap button, proceeds the chaser with every tap. This is also true for the first step in the chaser. This becomes unnoticed but it is still true. This means, when you create a first step in your chaser with the off scene (and a very small hold time) the chaser can continue to the second step and this has a fixed set hold duration. As if step one and two are combined. Your chaser will step through then rest of the beats, until it reaches the bar again and restarts.
Your flash will be delayed by the internal clock which is 20ms. Unnoticable delay that is.
So we don't set any timings in the chaser and let the tap button do its work.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
DMXDave
Posts: 17
Joined: Thu Dec 05, 2024 6:38 pm
Location: GB
Real Name: D M Cowles

GGGss wrote: Mon Dec 16, 2024 9:45 am This means, when you create a first step in your chaser with the off scene (and a very small hold time) the chaser can continue to the second step and this has a fixed set hold duration. As if step one and two are combined. Your chaser will step through then rest of the beats, until it reaches the bar again and restarts.
I'm not sure I fully understand what you mean but I think I have already tried to do something similar by making

[step 1 - ON hold 50ms]
[step 2 - OFF hold infinite]

I hoped it would flash for 50ms and hold on step 2 until the next tap but it doesn't work like that.
Assuming I know anything about this stuff based on my username would be a mistake on your part.
Post Reply