By itself, QLab doesn’t know about musical tempo, beats per minute, measure length, or time signature. Since time is just time, though, a little scripting can teach your workspace quite a lot about these concepts.
This cookbook article discusses using tempi in QLab in two ways. First, in Tempo Fugit, we'll explore applying a tempo to Audio or Video cues. Then, in Tempo Facit, we'll build a metronome in QLab.
This technique uses slices to mark bars and beats in an Audio or Video cue, and therefore to establish a tempo "on top of" the cue which you can use in a musical manner. The scripts described here and included in the downloadable example make it easier to work with tempo-based time in a QLab workspace.
One of the demos in the downloadable workspace shows how to create a chase effect using Light cues. This demo requires iLEDMapper, which is a free iOS app that receives Art-Net. You can download iLEDMapper here:
https://apps.apple.com/us/app/iledmapper/id404442976
iLEDMapper also runs on Macs with Apple Silicon processors.
The workspace contains three scripts.
This one is the easiest to use; simply select it and click the GO button or use the keyboard shortcut for GO, which is space by default, or the keyboard shortcut for preview which is V by default. The script will then ask you a few questions:
Once you’ve taken that little quiz, the script will make slices in your chosen cue according to your answers. Then, the script will append the name of the target cue to tell you how much time there is between the slices it just added.
Cue 2 in the example workspace has already been run through the script. It's a click track at 120 BPM with an emphasis every fourth beat. It's been sliced into quarter notes with no offset. Let's use this cue to try some fun things.
Set your workspace to Always Audition by choosing Turn on Always Audition from the Tools menu or by using the keyboard shortcut ⇧⌘A, then start cue 2. It is a click track at 120 BPM with an emphasis every 4th beat.
Now start cue 10. It's a Start First Group cue which creates a loop of Devamp cues and Text cues. The Devamp cues target cue 2. Every time cue 2 passes a marker, the Devamp cues inside cue 10 it will start the following Text cue which puts a beat number on screen. Handy to let your musicians know what beat of the bar they are on!
Leave cue 2 and cue 10 running, then use script A to make some markers in cue 3 that are different than cue 2. Maybe triplets?
Now, run cue 11. This will swap the targets of the Devamp cues inside cue 10 to cue 3 instead. You’ve changed tempo!
Cue 12 will swap right back.
Cue 20 shows off a simple light chase using Devamp cues and Light cues. To see it in action, you can either open the Light Dashboard and look in the Audition tab, or switch off Always Audition and open iLEDMapper on an iOS device that's on the same network as your Mac.
Cue 21 is a different approach to making a light chase, advancing through a second cue list so you can arbitrarily add cues as you’d like.
Cue 22 does some random design, in time. It triggers a random group, 22.5, so something happens every slice.
Here is Script A in full, annotated with comments about what each line or section does:
Loading...
This script is a bit less fancy, but can still be very useful. It sets the duration of Audio, Video, Text, Light, or Fade cues to a length based on tempo. It may be easiest to see the value of this script using Video cues which target still images or Light cues.
This script relies on a hotkey trigger, which is F1. Select some cues, for example all of those light cues in cue 22.5, then press F1 on your keyboard. That will set the duration of each selected cue to the length of a single beat at the given tempo.
This one is for Audio cues or Video cues. If you know the original tempo in BPM, you can use this script to adjust the playback rate of the cue to a different tempo. The script will also adjust any slices in the cue too. It can be handy for cues using lots of slices, and cues that are just too slow.
This workspace demonstrates using two click sounds, one for a downbeat and one for a regular beat, to create a metronome in QLab using a looping Playlist Group cue. Audio cues in the Group are separated by Wait cues, where the wait duration is equal to the beat's duration minus the click's duration.
The workspace contains two Script cues. The first one, cue MM, prompts you to enter a tempo and a number of beats per measure, then creates a "metronome" matching those specifications.
For this approach to work, the duration of both clicks must be specific and known. In this example, it's 0.1 seconds.
Here's the script:
Loading...
Cue "110" is an example of a "metronome" created by the script.
The second script in the workspace, cue DV, allows you to "devamp" the metronome by setting the Playlist group to stop looping. Here's that script in detail:
Loading...
If you run the script again, it resets the Playlist group to loop once more.