Hey I posted this as a reply to a chain yesterday, but did some more digging and figured it was worth it's own topic.
I'm trying to do some synced light shows with projection mapping in my home tiki bar, and have run around an issue as I'm building it out.
I'm running a QLC+ 4.11.2 on a Windows 10 with 4GB of RAM and a 2.16GHz processor. Yes, it's an older laptop, but I've stripped most of the unnecessary functions out so it's pretty much just running QLC+.
The trouble is with any track longer than 30 seconds or so, the audio and visuals slide out of sync. I think this is an issue with the QLC's timecode keeping up with how the song plays. I used a stopwatch on my iPhone to track this and as you can see, they start .3 seconds or so out of sync, (probably the result of trying to hit the button at the same time) but by the end they are almost 2 seconds out of step.
The shows don't seem that complicated to me, but maybe there's some steps I'm not taking that could miditgate the effect. I've included the project file.
Here's a link to the audio files:
https://cp.sync.com/dl/c24d978e0#ixg6vm ... m-afx86c79
As you can see, I've tried 24-bit wavs, 16-bit wavs, and mp3s, but all seem to have about the same results.
Any help or guidance you can give me would be greatly appreciated! And if the answer is wait for version 5 or use a different program, I understand that too.
EDIT: I also should mention, if it wasn't clear, the problem is the audio file is playing at the correct speed, and the lights are slow.
Show Sync Issue
-
- Posts: 1321
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
My blind guesses:
(1) this may happen when processing of one "tick" takes longer than 20ms. The elapsed time is always advanced by 20ms, regardless of how much it really took
(2) result of rounding - the "tick" should happen every 20 ms, but may deviate a bit and this may add to significant number (not really probable)
@Massimo, shouldn't be MasterTimer::timerTick() or win32/MasterTimerPrivate::timerTick() be locked to avoid concurrent access and/or incorrect order of actions?
According documenation, CreateTimerQueueTimer will spawn callback even if the previous still runs.
(1) this may happen when processing of one "tick" takes longer than 20ms. The elapsed time is always advanced by 20ms, regardless of how much it really took
(2) result of rounding - the "tick" should happen every 20 ms, but may deviate a bit and this may add to significant number (not really probable)
@Massimo, shouldn't be MasterTimer::timerTick() or win32/MasterTimerPrivate::timerTick() be locked to avoid concurrent access and/or incorrect order of actions?
According documenation, CreateTimerQueueTimer will spawn callback even if the previous still runs.
- mcallegari
- Posts: 4697
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
@Ben, what is the output you're running on ? (DMX USB, ArtNet, etc...)
Please try the following:
- run your show without any output device connected ? Basically try a sort of "dry run" and see if the shift is still there.
- run your show from a button in the VC and check if an "end event" occurs when expected or shifted. The Show manager rendering might be heavy on older PCs, so that might be the shift cause
Please try the following:
- run your show without any output device connected ? Basically try a sort of "dry run" and see if the shift is still there.
- run your show from a button in the VC and check if an "end event" occurs when expected or shifted. The Show manager rendering might be heavy on older PCs, so that might be the shift cause
-
- Posts: 12
- Joined: Thu Jun 28, 2018 4:25 pm
- Real Name: Ben Lancaster
Thanks for the response, I thought the same thing about the dry run, but it still had the issue. (The photos are actually from the dry run.) The output is DMX USB (FT232R USB UART, if that's helpful).
I'm not sure if I'm missing something in the "end event", but the button green border was disappearing when the last light extinguished, so that was following "light time" not "audio/real time"
But I'm speaking in the past tense, because I booted up the software this morning and after 3 days of bad sync, it's back to working flawlessly again. This was after trying everything short of installing Linux, which was my next step. I'm going to be vigilant, so if it happens again I'll have a better guess at what I changed.
Thanks for all the help, and I'll reply here if I run into the issue again, hopefully with more information.
I'm not sure if I'm missing something in the "end event", but the button green border was disappearing when the last light extinguished, so that was following "light time" not "audio/real time"
But I'm speaking in the past tense, because I booted up the software this morning and after 3 days of bad sync, it's back to working flawlessly again. This was after trying everything short of installing Linux, which was my next step. I'm going to be vigilant, so if it happens again I'll have a better guess at what I changed.
Thanks for all the help, and I'll reply here if I run into the issue again, hopefully with more information.
-
- Posts: 12
- Joined: Thu Jun 28, 2018 4:25 pm
- Real Name: Ben Lancaster
So... the problem returned. I'm not sure why. Just opened the laptop, opened QLC+ and it wasn't keeping time anymore. Here's everything I've tested so far:
Standard stuff: rebooting, shutting down, pulling power and restarting the whole system, running the program as an administrator.
Then I started into looking exactly what was causing the apparently linear slow down, so armed with my stop watch, I ran some scenarios:
1) A brand new show with nothing on the timeline. Added a wav file. Hit play. Slowed down
2) Replaced the wav with an mp3 on the original file. Slowed down.
3) Removed the wav file from the original file. Kept normal time.
Playing any audio file seems to be slowing down the program's internal clock, regardless of what else is on the timeline.
Any advice on what to pursue next to fix this?
Standard stuff: rebooting, shutting down, pulling power and restarting the whole system, running the program as an administrator.
Then I started into looking exactly what was causing the apparently linear slow down, so armed with my stop watch, I ran some scenarios:
1) A brand new show with nothing on the timeline. Added a wav file. Hit play. Slowed down
2) Replaced the wav with an mp3 on the original file. Slowed down.
3) Removed the wav file from the original file. Kept normal time.
Playing any audio file seems to be slowing down the program's internal clock, regardless of what else is on the timeline.
Any advice on what to pursue next to fix this?
- mcallegari
- Posts: 4697
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Can you please do that ?- run your show from a button in the VC and check if an "end event" occurs when expected or shifted. The Show manager rendering might be heavy on older PCs, so that might be the shift cause
-
- Posts: 12
- Joined: Thu Jun 28, 2018 4:25 pm
- Real Name: Ben Lancaster
I'm not totally sure I understand what an "end event" is. Is that something I can set?
The green box around stays illuminated on the button well past the time the song ends and until the last light is extinguished, if that's what you're asking.
The green box around stays illuminated on the button well past the time the song ends and until the last light is extinguished, if that's what you're asking.
- mcallegari
- Posts: 4697
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
By "end event" I mean something you can recognize without the Show Manager time indication.
Example, a light turning to red, or a sound effect.
So if your show is 4 minutes long, put something at the 4th minute to indicate when you have to stop your stopwatch.
Then see if it's 4 minutes or something else.
Example, a light turning to red, or a sound effect.
So if your show is 4 minutes long, put something at the 4th minute to indicate when you have to stop your stopwatch.
Then see if it's 4 minutes or something else.
-
- Posts: 12
- Joined: Thu Jun 28, 2018 4:25 pm
- Real Name: Ben Lancaster
Ok, here's something I think will help with that.
I opened a new file, setup two lights, imported a new wav. I added one sequence right at the end on the last word of the song.
When the singing says "blues" the two lights should turn blue.
Here's a link to three small videos showing the timing issue: https://ln.sync.com/dl/68698c510/k6q74s ... u-2bw37id2
I play the show from the show panel from right before the moment and it's more or less synced. When I play the show from the beginning, you can see it's 1)clearly behind and 2)not keeping up with the waveform of the audio file displayed on the timeline.
The additional test I did was dropping a video instead of an audio file on the timeline. The video file did appear to stay in sync and not lag the timeline.
So I added an audio file back in. Still in sync. At this point I'm wondering if I fixed the problem, just by playing the video somehow.
I open my original file, and no. The show is not syncing the audio with the light. I delete the audio file and add it to a lower track. (Maybe which track it's on matters?) Still not syncing.
So, I have a crazy idea. I throw a video on the timeline and voila, the audio from the original file is now in sync with the lights, even if additional audio is playing from the video.
I now have a work around. I can just add the song as a video (which was part of my plan anyway). For some reason, the video is acting as a stabilizing force on the timecode. But here's where it gets weird. I delete the video, and the song still plays in sync.
This is getting strange, so I see if I can do it again. I close the program without saving. I reopen it. The show plays out of sync from the Virtual Console. I go the show and drop a video on the last track. I then delete the video without playing the show. I go back to the VC and press the button. In sync.
So I press play on the other show, which I haven't touched, but has had the same issue. Also, plays in sync.
For some reason, having QLC+ play a video fixes the timecode delay, even for shows that haven't played the video, and somehow this is stored in the file itself, because I closed the program once again, and reopened it without saving. When I reopened QLC+, it was out of sync again, so I did fix where I dropped a video on the timeline, then deleted it. Then I saved the file, closed it, shut down the program, reopened the program, opened the file, and it's working perfectly.
All of that to say, it's a very strange bug, but I do have a work around for it now.
TL;DR - If you're having sync issues between audio and lights, try dropping a video on the timeline, then deleting it.
I opened a new file, setup two lights, imported a new wav. I added one sequence right at the end on the last word of the song.
When the singing says "blues" the two lights should turn blue.
Here's a link to three small videos showing the timing issue: https://ln.sync.com/dl/68698c510/k6q74s ... u-2bw37id2
I play the show from the show panel from right before the moment and it's more or less synced. When I play the show from the beginning, you can see it's 1)clearly behind and 2)not keeping up with the waveform of the audio file displayed on the timeline.
The additional test I did was dropping a video instead of an audio file on the timeline. The video file did appear to stay in sync and not lag the timeline.
So I added an audio file back in. Still in sync. At this point I'm wondering if I fixed the problem, just by playing the video somehow.
I open my original file, and no. The show is not syncing the audio with the light. I delete the audio file and add it to a lower track. (Maybe which track it's on matters?) Still not syncing.
So, I have a crazy idea. I throw a video on the timeline and voila, the audio from the original file is now in sync with the lights, even if additional audio is playing from the video.
I now have a work around. I can just add the song as a video (which was part of my plan anyway). For some reason, the video is acting as a stabilizing force on the timecode. But here's where it gets weird. I delete the video, and the song still plays in sync.
This is getting strange, so I see if I can do it again. I close the program without saving. I reopen it. The show plays out of sync from the Virtual Console. I go the show and drop a video on the last track. I then delete the video without playing the show. I go back to the VC and press the button. In sync.
So I press play on the other show, which I haven't touched, but has had the same issue. Also, plays in sync.
For some reason, having QLC+ play a video fixes the timecode delay, even for shows that haven't played the video, and somehow this is stored in the file itself, because I closed the program once again, and reopened it without saving. When I reopened QLC+, it was out of sync again, so I did fix where I dropped a video on the timeline, then deleted it. Then I saved the file, closed it, shut down the program, reopened the program, opened the file, and it's working perfectly.
All of that to say, it's a very strange bug, but I do have a work around for it now.
TL;DR - If you're having sync issues between audio and lights, try dropping a video on the timeline, then deleting it.
-
- Posts: 12
- Joined: Thu Jun 28, 2018 4:25 pm
- Real Name: Ben Lancaster
On board. I was just running through the laptop's speakers for the time being.
-
- Posts: 1
- Joined: Wed Sep 12, 2018 8:01 am
- Real Name: David
Hello all, sorry to jump into your thread, but I've had the same sort of issue. I have a show about 7-8 minutes in length.
The show consists of an audio file and several animations/scenes/sequences.
The attached light fixtures are 45 x elumen8 ep1080.
I use an entec dmx pro 2 interface to connect to the lights. With a pretty basic all in one pc with 4gb ram.
Basically 90% of the time when I select the show from the VC the lights are out of sync with the music, this can be anything from 1-5 seconds, I've not noticed any pattern in the times it's really is just random. But if I run it from the show manager then it is fine.
Any help on this would be appreciated.
David
The show consists of an audio file and several animations/scenes/sequences.
The attached light fixtures are 45 x elumen8 ep1080.
I use an entec dmx pro 2 interface to connect to the lights. With a pretty basic all in one pc with 4gb ram.
Basically 90% of the time when I select the show from the VC the lights are out of sync with the music, this can be anything from 1-5 seconds, I've not noticed any pattern in the times it's really is just random. But if I run it from the show manager then it is fine.
Any help on this would be appreciated.
David
-
- Posts: 7
- Joined: Sun Jan 22, 2017 1:50 pm
- Real Name:
Same here. Yesterday I play concert after 6 months break.
Few days before I update QLC and check if it works but without lights. I to looks all right... but.
IT WAS A DISASTER!
Everything was out of the sync! Huge disappointment.
My setup is:
- laptop,
- 10 different shows triggered from VC,
- each show has 4 tracks: metronome, backing tracks, backup guitar and light sequence,
- 3 sound cards: 1 internal and 2 external (USB)
I made no changes from last concert.
Any plans to check/fix that?
Few days before I update QLC and check if it works but without lights. I to looks all right... but.
IT WAS A DISASTER!
Everything was out of the sync! Huge disappointment.
My setup is:
- laptop,
- 10 different shows triggered from VC,
- each show has 4 tracks: metronome, backing tracks, backup guitar and light sequence,
- 3 sound cards: 1 internal and 2 external (USB)
I made no changes from last concert.
Any plans to check/fix that?
-
- Posts: 3
- Joined: Fri Jul 07, 2017 2:28 am
- Real Name: craig
Is everyone having this issue using Windows with an Entec ODE?
That's what I'm using, and as soon as I run the same show file from OSX it works flawlessly.
For shits and giggles I've opened the show file in QLC 5 and it has the same issue on Windows.
That's what I'm using, and as soon as I run the same show file from OSX it works flawlessly.
For shits and giggles I've opened the show file in QLC 5 and it has the same issue on Windows.
-
- Posts: 28
- Joined: Sun Nov 26, 2017 3:05 pm
- Real Name:
Same issue, more or less.
I didn't use shows but a collection of chaser + audio. Playing them from the Functions section worked fine most of the times (some random out-of-sync occurred, solved by restarting QLC+/rebooting) but the big problems came when playing them from buttons in the Virtual Console.
Worked around by installing Kubuntu Linux
(But -surprise!- the Linux version of QLC+ rendered 32bit wave files as loud noise, so I had to convert all of them into 16bit format)
I didn't use shows but a collection of chaser + audio. Playing them from the Functions section worked fine most of the times (some random out-of-sync occurred, solved by restarting QLC+/rebooting) but the big problems came when playing them from buttons in the Virtual Console.
Worked around by installing Kubuntu Linux
(But -surprise!- the Linux version of QLC+ rendered 32bit wave files as loud noise, so I had to convert all of them into 16bit format)
-
- Posts: 16
- Joined: Sat Nov 21, 2015 5:30 pm
- Real Name: Oliver
Has anyone found a solution to this yet? I have the same problem, although it only happens if I have a DMX output connected (enttec) doing a dry run it's fine, with an output connected, it's wayyyyyy out, like 15s per minute, so after a few minutes it's miles out. It's always been fine before. Any ideas?
-
- Posts: 91
- Joined: Sat Jan 28, 2017 1:52 am
- Real Name: Mark Z
We experience this all the time. What I think is happening is that the audio "engine" isn't started when you play a show.
What we do is a quick "start, stop, start" operation ... which seems to start the audio engine (out of sync), stop the timeline, and start it again in sync.
But be careful, if you start,stop,start too quickly, the audio engine is stuck, and you'll have no choice but to let the sound file play to its end or force quit QLC+.
In general, to play a show from start to finish in sync... do the following very quickly (2 seconds), but not too quickly... it's an artistic delicate balance
Start the show: Click Play
Immediately Stop it: Click Stop
Return to the beginning of the show: Click Stop again
...WAIT for your lighting to turn off...
Click Play again to start the show, you should be in sync
When we program, we have a saying... "trust the waveform" ... meaning, time your functions to the waveform that is drawn.
I am guessing that if you have a sound file with no sound, you could play that in Operate mode to keep the audio engine "alive" and then switch to your show in a solo panel, although I have not tested this.
I think I am "lucky" in that when I use my shows, I use them all in a solo panel with buttons... so one show is already playing when a new one starts, "stomping" on another one on the Pi so I do have a consistent experience.
What we do is a quick "start, stop, start" operation ... which seems to start the audio engine (out of sync), stop the timeline, and start it again in sync.
But be careful, if you start,stop,start too quickly, the audio engine is stuck, and you'll have no choice but to let the sound file play to its end or force quit QLC+.
In general, to play a show from start to finish in sync... do the following very quickly (2 seconds), but not too quickly... it's an artistic delicate balance
Start the show: Click Play
Immediately Stop it: Click Stop
Return to the beginning of the show: Click Stop again
...WAIT for your lighting to turn off...
Click Play again to start the show, you should be in sync
When we program, we have a saying... "trust the waveform" ... meaning, time your functions to the waveform that is drawn.
I am guessing that if you have a sound file with no sound, you could play that in Operate mode to keep the audio engine "alive" and then switch to your show in a solo panel, although I have not tested this.
I think I am "lucky" in that when I use my shows, I use them all in a solo panel with buttons... so one show is already playing when a new one starts, "stomping" on another one on the Pi so I do have a consistent experience.
- StevoLight
- Posts: 6
- Joined: Mon Nov 11, 2019 9:25 pm
- Real Name: Stevo
Hey, I got the same problem
viewtopic.php?f=18&t=13913
my only solution was to split Audio signal from QLC DMX. I Opened the audio file MP3 in a professional audio tool to get the exact timecode, than I opened QLC+ show manager and place the curser at the same place in the timeline then I adjust my light sequence to curser position. To start the correct show I used the usual windows media player for my mp3 and QLC, then you have to be fast to klick on both play-buttons
All my doubts and suggestions are written in my post (see link above)
viewtopic.php?f=18&t=13913
my only solution was to split Audio signal from QLC DMX. I Opened the audio file MP3 in a professional audio tool to get the exact timecode, than I opened QLC+ show manager and place the curser at the same place in the timeline then I adjust my light sequence to curser position. To start the correct show I used the usual windows media player for my mp3 and QLC, then you have to be fast to klick on both play-buttons
All my doubts and suggestions are written in my post (see link above)
Ciao Stevo