Stoatworks Labs

Scrawl

Hand-drawn doodles to the music, for Resolume

Betav0.1.0Plugin & ModuleC++ / GLSL
Scrawl — Hand-drawn doodles to the music, for Resolume
No screenshot. This one's configuration inside another application.

What it does

Two FFGL plugins for Resolume Arena and Avenue: SW Scrawl, a source, and SW Scrawl Over, which does the same over your clip. Rings of sound spread out on the kick, spikes and a jagged star go off on the snare, a forked zigzag bolt lands on the big kicks, little curls float up off the hi-hats, and one long wobbly line across the frame is the spectrum. It's after the sound effects in Edgar Wright's Scott Pilgrim vs. the World, where a basement band's noise gets drawn into the air in felt tip. It borrows the idea and none of the film's artwork, and it has nothing to do with the film's makers.

The trick is a hand that can't hold still. Hand-drawn effects animation is drawn again for every drawing, twelve a second on twos, and no two passes of a pen land in the same place. So each doodle has an intended path, and each drawing of it gets its own error from a model of the hand: a boil across the line whose wavelengths belong to the doodle and whose phases belong to the drawing, the whole pass landing a little off its pegs, and a pen that lands, presses unevenly and lifts. The error grows with the gesture, so a big circle wanders further than a small tick, and between drawings the picture holds still to the bit. Circles don't close, strokes taper, Wobble 0 is a plotter, and Passes draws the lot two or three times for the sketchy doubled line.

The music decides what gets drawn and when. Three onset detectors on Resolume's 64-bin spectrum, one per band, put rings on the kick, bursts on the snare and curls on the hats, even when the kick is ten times louder, and a kick as hard as the hardest lately earns a bolt. With nothing to hear it follows Resolume's tempo instead: rings on every beat, a burst on two and four, a bolt on the one and curls on the "and"s. A hit is on the page in the next drawing, which on twos is never more than a twelfth of a second later.

  • A source (over nothing, on black or on paper) and an Over effect that draws on the clip, with Mix
  • Five kinds of doodle: rings, bursts with an impact star, forked zigzag bolts, loop-the-loop curls and spirals, and a wave whose wiggle is the spectrum
  • A hand model that boils every line: Wobble from a plotter to a shaky felt tip, Line Width as a share of the frame, and up to three passes
  • On ones, twos or threes: 24, 12 or 8 new drawings a second, each held to the bit until the next
  • Driven by the music (three-band onsets on Resolume's FFT, with band edges you can move), by the beat, or Auto, plus a Hit button for a pad
  • Scattered, round a centre or off two speaker stacks, in white, ink, neon or a colour of your own, with a glow
  • Universal macOS bundle and a Windows x64 DLL

Where it stands

v0.1.0, and early days. It's measured by an offline harness driving the real plugin code on an Apple Silicon Mac: over four seconds the picture changes on the frames a new drawing starts on (96 on ones, 48 on twos, 32 on threes) and on no others; 400 drawings of a circle spread between drawings as the hand's law says, to within 1.5%, and one ring read back out of the rendered picture spreads by the law to within 3%; a line's cross-section adds up to Line Width to 0.0023 of a pixel; and a kick is on the page in the first drawing made at or after it, at 24, 12 and 8 drawings a second. On Resolume's own six drum loops, each band's onsets land on the sixteenth notes 80 to 100% of the time against 36% by chance, but that's through a stand-in for Resolume's FFT, because nobody has measured what's in its 64 bins, so Bass Bins and Treble From are there to move the bands. With nothing drawn, or at Mix 0, the clip comes through bit-identical. It catches 14 models that are wrong on purpose and eight one-character sabotages of its own code, and every parameter but the audio input and the About block changes the picture. It hasn't been loaded into Resolume on macOS yet. On Windows, both plugins load, register and draw in Arena 7.27.1 on software rendering (no GPU, no sound), on the beat, with every control as declared, and passed all 15 of the fleet's checks; the doodles change too much between its frames for it to tell most controls' effects apart, but it found none dead, and Arena's own frames, looked at by eye, showed the palettes, Passes, Wobble, Line Width, Size, Placement and Mix doing their jobs. The film's lettering and the crackling aura round a character aren't in this version. There's a user guide, but no presets, browser demo or OpenFX port yet. Try it in your own rig before you trust it in a show.