Announcing: Picodevil

Today I'm releasing Picodevil, a new tool for livecoding visuals. It comes from trying to answer the question: what if Strudel sampled video instead of audio?
Wait, that might not make sense to you if you aren't a livecode person. Let me try again: Picodevil is a website where you can type code. The code makes visuals happen — you can keep changing and executing the code to evolve them. It's designed to be simple and quick enough that you can do it while standing on stage, performing. The visuals in Picodevil come from video — you can sequence clips, control their arrangement, add filters and so on by chaining functions. One really powerful part of Picodevil is that you can control most things with pattern strings, something taken directly from a similar language for audio called Strudel. These let you set parameters that vary over cycles of time — usually you can think of this as a bar of music. So, as a really simple example, if you wanted to render a video of some ducks, and pixelate it differently on each of four beats of a bar, you could write this:
$: s("ducks").pixelate("1 64 16 128")You can go to picodevil.com right now and try that out. See what it looks like!

I've been working on Picodevil since early March. But I've been thinking about it for longer than that. A lot of time at algorave gigs watching people type Strudel patterns and other people write Hydra code and wondering if there was a way to combine them. Thinking, too, about how powerful video can be, the way meaning is changed by cuts.
If you're curious about how it works, the best place to go is the README. It's open source, AGPL licensed, so you can go poke at the internals, too. It imports Strudel directly, so it uses the same mininotation and event structure — well, there are some different defaults and adaptations for video, but it should be familiar for Strudel people, and compatible with some existing Strudel code. I am very much building on Strudel and all the other uzu languages here.
And, too, shout out to Hydra, a beautiful way to make visuals. There are a few things in Picodevil inspired by Hydra, and if I get a chance I'll add more, too.
I've played some gigs with Picodevil already — I did visuals for Glossing at Algotrance and for Shankar Saanthakumar back in April at Ultra Process 2 (fun fact: that pixelate function I mentioned in that little example was actually added because I felt like I couldn't get grungey enough for him otherwise). And at EMF in the Trash Compactor, trading off places with Ada — special for a bunch of reasons, but not least amongst them that she hadn't touched the tool until the day before.
I really like how using it makes me think about video. The magpie attitude I get, collecting clips for a library. I like the way it makes me think about clips as much as texture as anything else — the feeling of forward motion, the way fine detail compresses, how energy changes as footage is sped up or slowed down. I love the way I can get video into it so fast. One of my favourite moves is to film a gig — people dancing, someone else's visuals — and then sample it minutes later.
And — ah, I just love livecoding! The way you can build up from nothing, you can improvise, you don't know exactly where you're going to end up or how you're going to get there, but you can feel your way there, one step at a time. It's funny doing visuals, because you're collaborating with a musician, but they so rarely have headspace to see what you're doing. You can hear them, though, and you're trying to match their energy, maybe even, if you're good, anticipate it. And then trying to convey that energy to the crowd. Holding something back, building things up then taking them down.
It's nice just to be on stage. It's funny to have gone to all this trouble to make a tool as a roundabout way of standing on stage and dancing to cool music. But also, yes, totally worth going to a lot of trouble to do that. And worth going to the trouble to add all the other things which make it usable for others, too. I'm more excited for the things other people will make with this than the things I will make in the future. I can't wait to see what people do with it! I hope, as always, that it'll be something I never would have thought of.

Member discussion