How to Use It, Part Two
A bit more specific? Maybe
I don't know what to do with myself, so I'm going to continue the how-to I started and didn't finish. I asked the community for the video footage, so I'll wait and see until next week, and I've finished all the prep for the upcoming exhibition. Ah, if I've got nothing to do soon, maybe I'll fill in the pattern recording presets one by one. I've put that off a long time. What that is will come up as I explain the rest!
I'm also trying to make the Patternflow intro video really fun! People from different countries introducing their own ways of using it and their impressions, each in their native language. If I edit that together well, couldn't it turn into something like a fun art project? And with the state of the world being strange lately, a global project like this might land with more meaning. I think I read it in some book once, that the good thing about art is that in that space all kinds of people can share their views freely without fighting? Something like that.
I'm spitting out the how-to as it comes to me across the last entry and this one, and I'll refine it later with video and images. AI tools would probably make that very easy. Claude Opus 5.5 turns out to make motion graphics videos really well. So I tried to subscribe to Claude with the grant, but I was told no, since it's general-purpose software. Hm, I don't have money yet, so I'll consider it once the funding is paid out. If I upgrade my plan now, I'll have to skip meals for a few days.
Two days ago, was it? Where did I leave off… I probably skipped a fair bit in Pattern Lab too. Starting with the Layer feature… it's a layer feature. Anyone used to Photoshop or Illustrator will get it right away. Probably everyone's familiar with it anyway? It's for stacking several patterns or images to make richer scenes, and I built it out of wanting to add pixel art. Code has its limits when it comes to making concrete scenes like pixel art, and I figured even a few moving elements on top of a concrete scene would feel really fun. This one… just try it yourself. There's masking and color-transform logic too, so you could use it a bit like compositing.
There's also a feature called Graphic Export. Also literally what it says: it exports the graphics as images or video. About two months ago? I probably mentioned it, but when I made my Patternflow business cards I used this to create the assets. There are a lot of fun patterns, so there's plenty you could use it for. I exported one at high resolution and submitted it to a media art competition. Didn't get in!
There's a feature called Director. It lets you animate knob value changes and set them up in advance. Paired with Graphic Export, you could bake pattern changes to a specific piece of sound, export it, and play them out together. That isn't real-time, of course, so it's not my taste. And this feature is especially useful for the Performance edition, which I'll explain later.
Before introducing the editions and specific features, there's a bit more to explain about using the pattern community. It's a place to make and share your own patterns, and also to modify or improve other people's. You can open someone else's pattern in Pattern Lab and edit it. That makes it a fork of the pattern, and I set it up to be marked automatically. Which does produce a few wrong markings, of course.
Or sometimes someone makes and shares a great pattern with only the JS code and no .h code. Then you can't load it onto a device. Instead of waiting indefinitely for the owner to add it, you can open it in Pattern Lab, or copy the code and make the .h yourself. And if it works, you can propose the result on that pattern's post and have it applied. Probably… nobody's actually done that. The usability needs work, but I can't be bothered… I've been putting it off. Same goes for .pfs (Patternflow Sequence) files made with Director. That one I can't be bothered to even build yet. Soon.
Later I'd like to run a pattern-making contest around a theme too. Post them to Instagram and the pattern with the most views wins! Views are absolutely not everything, of course. It happens often enough to confuse me that something I find really cool and beautiful gets a lukewarm response, or something I expected nothing from does great.
Now let's look at the firmware features. I'll skip the very basic stuff like uploading patterns, checking status, and WiFi setup, and start slowly with the audio side. OSC was probably the first thing I added. The reason I went with that instead of MIDI was that I didn't know how convenient MIDI was, and in a course I'd taken on making interactive content with Unreal and Ableton, we'd used OSC. MIDI is so convenient that even I don't use this anymore, but for more specific work… there'll be moments it's needed! Though it's true that setting up Max patches and all is a hassle.
MIDI is really convenient. Just install rtpMIDI, a program that lets you send MIDI signals over WiFi, and there's no other setup needed. At most you change how MIDI signals are used in the program's settings? But that's a very basic setting that nobody wouldn't know, and it's hardly a hassle. Mapping knobs to parameters is so easy too: Ctrl+M to turn on MIDI mapping, click the target parameter, turn a Patternflow knob, and it's linked. Sending from the program back to Patternflow is also simpler than with OSC. Look into that one yourself if you're curious!
That isn't to say OSC is completely useless, because it's just a protocol spec, meaning just an agreement set up for efficient communication, so once you open up the path you can use it in other forms. There's a Chrome extension. Install it in Chrome and open it and you get a really fun interface; with FFT-something you can analyze the sound by frequency band. Put simply, you can hook only the high frequencies to knob 4 and the low ones to knob 1, that kind of thing. Play a YouTube video or Spotify in Chrome, set things up a little, and you've got a pretty fun audio-synced visual.
It's much simpler than setting up tracks and MIDI signals in Ableton. There are limits to binding audio and visuals in detailed, unusual ways, though. Still, it's enough to show people, because… honestly, if it's complicated it isn't intuitive and people might wonder what they're looking at. Complex and new and yet intuitive to use would be the best!
You could do it with the Chrome extension, but you might want more: to react to real sound, and work without any separate internet connection. Then you solder a PDM microphone onto the ESP32. Nothing hard about it. It's four wires, was it, to solder at most. And since it goes on the board, it's really easy. Naturally, though, precision falls short of the earlier method that analyzes the audio output data directly. The sound comes in kind of lumped together, and it's hard to fit a good mic… hm. Anyway, let's take satisfaction in the fact that it works. As I said, intuitive is best, so even just reacting to how loud it is is fun.
MQTT is a feature for connecting multiple Patternflows. As far as I know, one host broadcasts its state to multiple subscribed devices. Honestly, I don't really know the specifics…! But this way you can connect Patternflows around the world in real time, so when someone turns a knob, other people's devices change too. When we tested it and I saw Simone turning a knob in Dubai take effect on my device in Korea, it was a strange feeling. It doesn't have to be across that kind of distance either; you could set several Patternflows in a nearby space and have them change together.
There's a sibling to this called flowlocal, which hasn't been released yet, so later you can refer to the material Simone puts together! Like how I'm using it for the upcoming exhibition, it's useful for making performances or installations run standalone, unaffected by the surrounding environment, exactly as they did in the development setup. That's how I use it! There's also a feature in it for setting up patterns and sequences like a Launchpad and playing with them, and it's really fun, so do try it someday.
That's where the .pfs (Patternflow Sequence) I mentioned earlier comes in. You fix the detailed pattern changes in place and arrange and tune the big chunks by feel. I'd love for these to be shared like DJ sets someday.
A scheduling feature? Is that what to call it. Anyway, there's that too. You can set a certain pattern and sequence to turn on automatically in the morning and switch off at night. On the time front there's also a clock feature, and I think it came out pretty cool. It shows the time really big, and you pick an overlay or mask effect to taste; when the pattern is cool, the clock version is cool too. Once I have enough spares, I'm hanging one on the wall and keeping it on as a clock. There's even a feature showing the weather. It's small, so not sure how visible it is.
Someone asked me to add stock information display too… for now I think my compromise stops right at the clock. Other informational features, people who need them can build, use, and propose themselves. I won't block it. It's just that, pride maybe? I don't want to be the one doing it.
There's a feature even I only know exists and haven't tried myself yet. sep said they'd send a PR soon, and it looked really fun. It seemed like they're building their own AI agent. Anyway, it shows the status of that agent's tasks on Patternflow. With some effect appearing when a task finishes. That's informational too, of course, but the way it's expressed was really new. Conceptually I think I heard it's similar to a QR code… anyway, it's expressed in a really cool, artistic form, and it's a feature I want to try soon myself.
There's also another project that extends Patternflow further. It's motiflow, an application that uses Patternflow's patterns, makes them react to sound, and can send them to other outputs like a projector. One of the regular questions under my Instagram posts is "can it output to other devices?", and I think this fits exactly that intent. So Azmano and I talked it over and agreed he'll take the lead on motiflow. He says it's already been used at several events and the response has been great! He says he'll share it with me soon, and I want to try it too.
I think I'll stop here for today. Nothing more is coming to me, and now I'm going to the club room to solder a PDM mic and then get dinner. In a few days I'm going to test a kind of performance? with a Patternflow set next to a turntable in a cozy café space, so I need to solder. The one I did before was sloppy and came off. Anyway, I think this is quite a lot written. It isn't organized at all, of course, but going forward I can have an AI help structure it and work through it step by step.
Since the features mostly work well now and I've run out of money, I switched Claude back to the $20 plan last week. Coding less makes me feel much more at ease. The moment I'm on the $100 or $200 plan, I feel like it'd be a waste not to use every token systematically, and that makes me a bit impatient. Doing that for a whole month is too much… couldn't it switch every week or so? That much I could handle. One week going hard, one week taking it easy… doing other things too. I've barely touched sound lately! Well, I'll get to it.