QLab Manual Typewriter

[Updated for QLab 4.1 13 JUL 17]

NOTE: In QLab 4 The Titles Cue is now called a Text Cue. The downloadable example workspace opens and is fully functional  in QLab 4

This workspace simulates typewriting in a Titles Cue (Text cue in QLab 4)  with full sound effects.

Here it is in action:

How It Works:

Each typewriter cue is a group cue containing a Titles Cue, with the text to be typed stored in the notes field of the titles cue, and a script cue. At the top of the script cue are settings. The Titles cue must be uniquely numbered e.g.T1 and this number must be entered in a variable at the top of the script. The typing speed and the characters per line can also be set here.

Here’s the script:

set thecuenumber to “T1” — cue number of Titles cue this script controls
set speed to 0.2 — gap between typed characters in seconds
set charPerLine to 48 — Number of characters per line
tell application id “com.figure53.qlab.3” to tell front workspace
stop cue thecuenumber
set thetext to notes of cue thecuenumber
set thecount to number of characters in thetext
set the text of cue thecuenumber to ” “
start cue thecuenumber
repeat with i from 1 to thecount
set thechar to text i thru i of thetext
set thetype to text 1 thru i of thetext
set custom message of cue “LIVE” to “/cue/” & thecuenumber & “/liveText \”” & thetype & “\””
delay speed
if i is in {charPerLine – 6, charPerLine * 2 – 6, charPerLine * 3 – 6, charPerLine * 4 – 6, charPerLine * 5 – 8} then start cue “BELL”
if i is in {charPerLine, charPerLine * 2, charPerLine * 3, charPerLine * 4, charPerLine * 5} then
start cue “CR”
delay 0.2
end if
if thechar as string is not ” ” then
start cue “SND”
start cue “SPC”
end if
start cue “LIVE”
end repeat
end tell

The script sets the custom message of the OSC cue numbered “LIVE”:


and starts with character 1 of the text in the notes field of the Titles cue set in thecuenumber at the top of the script. The script loops adding another character to the custom message until all characters are present.

Each time a letter is typed, a keystroke sound from the ‘fire random child’ group numbered SND is played. A few characters from the end of the line a bell sounds, and when the end of the line is reached, the typing pauses for a second and the carriage of the typewriter is heard returning.

Chris Mower has suggested a great improvement to the script to make the typing more human:

In the script above:

set speed to 0.2

set speedQuick to 0.1 — short gap between typed characters in seconds
set speedSlow to 0.5 — long gap between typed characters in seconds

delay 0.2

delay (random number from speedQuick to speedSlow)

You can download an example workspace here.

This workspace requires QLab 3.1.11 or later

Chapter Author: Mic Pool

Chapter Graphic: Original Photo © Jorge Royan
licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Creative Commons License