Malfunctioning On Cue
This project explores making an Audio cue malfunction deliberately on demand. There are two examples of typical cases: a gramophone record sticking in a groove, and a CD player sticking, manifesting itself in continuous looping of a small buffered section of audio.
For the younger readers of this cookbook, it may be worth mentioning that both of these errors were quite common with these media. Modern vinyl records can still get scratched and skip in much the same way as older records did, but the infuriating phenomenon of a CD sticking due to a fingerprint on the disc, or a bit of dust stuck on the laser’s lens, has mostly, thankfully, receded into the past.
Here it is in action:
The Gramophone Skip
In cue 1
, the start and end of cue DS are set to the beginning and end of the
audio content with the following script:
set DS to "DS" --Cue number to stutter as a string (Run in Separate Process)
tell application id "com.figure53.qlab.3" to tell front workspace
set the infinite loop of cue DS to false
set the end time of cue DS to 999999
set the start time of cue DS to 0
end tell
Cue 2
simulates the record sticking by switching on the infinite loop setting
of the running audio cue, and setting its start point to the current time -0.8
seconds and its endpoint to the current time. Here’s the script:
set NS to "DS" --Cue number to stutter as a string
tell application id "com.figure53.qlab.3" to tell front workspace
set thetime to the action elapsed of cue NS
set the infinite loop of cue NS to true
set the end time of cue NS to thetime
set the start time of cue NS to (thetime - 0.8)
start cue NS
end tell
Cue 2
also plays a looped scratch sound in sync with the looped audio of the
original cue.
In cue 3
, the record resumes with an extra scratch sound, the loop in the main
audio cue is switched off and the end point of the cue is set to the end of the
audio using this script:
set DS to "DS" --Cue number to stutter as a string (Run in Separate Process)
tell application id "com.figure53.qlab.3" to tell front workspace
set the infinite loop of cue DS to false
set the end time of cue DS to 999999
set the start time of cue DS to 0
end tell
Finally, in cue 4
, the record slows to a stop using a Fade cue, which fades
the speed of the cue to .03 over five seconds:
This is pretty much exactly what it sounds like if you switch off the power to a record player while the volume is up.
The CD Stick
The CD stutter uses an audio effect inserted on the cue instead of scripting.
Cue 5
has two copies of the Audio cue inside a Group cue set to start all
children simultaneously. Cue 5.02
has its volume set to -inf
(silent). This
will be used for the continuation of the audio after the sticking effect ends.
Cue 5.02
has two effects inserted on the Audio Effects tab:
A high pass filter, set at 6Hz to pass effectively all audio, feeds a delay line
set to 100% dry. Therefore, at this point, the original audio has no effects
applied. Cue 6
pauses cue 5.02
which is the currently silent copy of the
main audio cue. That cue is now ready to resume from the point at which cue 6
was triggered. A Fade cue snaps the delay effect to 100% wet with a 1/10 second
delay and 100% feedback. The result of this is to continuously repeat 1/10 of a
second of audio starting at the point that cue 6
was fired. Simultaneously,
the high pass filter snaps up to 22KHz which prevents more audio from passing
into to the delay effect.
Cue 7
resumes playback of cue 5.02
, snapping its level to full, and stops
playback of cue 5.01
with the delay effect. This has the effect of resuming
the CD from where it got stuck.