Happy Birthday!

Happy birthday to me.

And you, too: My book, Just the Best Parts: OSC for Artists is pay-what-you-want for today.

Just the Best Parts: OSC for Artists

Read the full post ...

Goodwill on Credit - Travels in Ireland

My brother Gerry wrote a book.

Goodwill on Credit – Travels in Ireland

It’s a collection of essays about (surprise!) his travels in Ireland.

Goodwill on Credit

It’s terrific; he’s a good writer. It’s part travelogue, part personal story. It funny, touching, and educational (but don’t let that last part spook you).

This is a collection of 14 stories written over the course of several years covering numerous visits to Ireland. While it contains some (hopefully) useful travel and tourist tips, the collection is mostly concerned with the wonderful things that happen between points A and B on the tourist map, and the people (and the occasional animal) that inhabit those in-between places.

If you’ve ever thought of tracing or Irish roots, or wanted to read a more personal view of the Irish people, you should get it.

You can read one of the essays here.

Read the full post ...

Setting up a WiFly RN-XV board with Teensy 3.1

So the WiFly arrived in the mail and the hunt began for a guide on getting it up and running.

The device came from Sparkfun so it was kinda-sorta but not really ready to use.

Pro tip: If you get this from Sparkfun you will probably want to get some 2mm 10pin XBee Socket things and a Breakout Board for XBee Module. The pins on the Sparkfun-packaged WiFly module are meant for XBee; they do not play nice with breadboards.

After getting the WiFly pinned-up I found a few guides. None of them worked. It’s quite possible that some initial flailing put the board into some funky state, but the guides were a problem in other ways.

For one, they all seemed to refer to either a different WiFly module version or an older version of the firmware. For another, the all used a library. What I wanted was something no-frills, bare-bones, this-is-how-it-works example.

To be fair, these guides and their libraries were a big help. Digging through the library code I could (in most cases) see what specific commands was sent to the WiFly. Long-term, a library makes a great deal of sense. My code (below, as a gist file) is a bit hacky a literal. That’s perfectly good because it works and it’s easy to follow. However, you do not want to build anything complex on top of this example. (If anything it will make you appreciate a good WiFly library.)

Read the full post ...

ImageMagick image averaging

The video for the Neurogami track Kempten used a collection of Web-cam images that show the town square (AKA Rathausplatz) of the city.

Having collected a year’s worth of such images the plan was to turn them into a proper video.

Ffmpeg is a fantastic free program that can take a series of image files and give you a video.

Very slick. The Kempten Web-cam images made for a nice video, with people and cars sliding though as the sun rose, set, and rose again, over and over. However, the direct approach with all this activity was a bit distracting. What I wanted was to show the change of the town square over time while not emphasizing all the transient details.

Read the full post ...

Renoise automation and multiple send tracks

There are at least two ways to apply a set of effects to a collection of tracks.

One is to place the tracks into a group; all filters and effects on the group are applied to the individual tracks.

Another way to use send tracks. As with a track group, any filter or effect applied to a send track is applied to the signal of all tracks routed through it.

These two are similar but not identical. Which one you use (and you can use both in assorted combinations) depends on what you are trying to do. You’ll have to read the docs and play around to get a real sense of how they work.

The option to apply a common set of effects to multiple tracks seems to be about the same for each, but there’s something you can do with send tracks that (as best I know) you cannot do with a track group: automate the selection of send tracks to be used at any given point in the song.

There are times in a piece when, for good effect, you want to keep the same set of notes on one or more tracks but apply a different set of filters and effects.

Read the full post ...

Scripting Processing with MIDI

Note: This is the article that was originally posted over on Instructables


Processing is perhaps best known as a generator of sound and graphics, but your sketches cannot only create MIDI messages but listen for them as well.

The MIDI messages can come from not just some standard MIDI keyboard, but from other applications.

Even better: Your sketch is not limited to listening to only one MIDI source.

This means you can use a music program such as Renoise or Ableton Live to control a Processing sketch both in time to music and on-the-fly.

This article is ostensibly about writing code to drive a Processing sketch from a MIDI stream, but along the way it touches on creating a configuration class for Processing, ways to structure code for the draw loop, dynamically calling methods given some text, and organizing code when you are still largely experimenting.

As happens when writing about code, the code evolved during the writing, so in some ways it's something like a travelogue, with some minor detours and false turns on the way to the final destination. However, all this should help in understanding the bigger picture.

The complete source code can be found on Neurogami's GitHub. Parts of it will look somewhat different from what is shown here because it kept evolving as this was written. That's the nature of creative coding.

That repo includes the Processing code covered here, the graphics used by the sketch, and a version of a track by Neurogami, "A Temporary Lattice."

Here's a video of what it looks like when all is assembled:

A Temporary Lattice (beta v1)

Read the full post ...

Using Lua to process MIDI messages in Renoise

Work on Maximum R&D continues, and part of the larger project is some innovative packaging.

Towards that end there have been some explorations using a custom Renoise tool designed to work with a special USB MIDI controller.

A few caveats. First, this is being done with Renoise 2.8.2, even through the current official release is 3.0. When all is done the results are expected to work with Renoise 3, but that has not yet been tested.

Second, if you are writing code to help generate music or manipulate some audio processing you often need to consider execution speed. The current code uses a technique that adds overhead. It may be fast enough, but that will have to be verified as development continues.

The key point is that the code to be shown should be viewed as one way to do something, hopefully a correct way but possibly not the best way, at least not for all circumstances.

At the very least it will show you how to get started writing custom MIDI input handlers for Renoise using dynamic dispatching.

Read the full post ...

Video for the track "Kempten"

This is a concept video for the track “Kempten”, from the taking-longer-than-expected release from Neurogami, Maximum R&D.

One the one hand there’s not much too it; a series of small videos appears within the larger frame, twelve in all. Each of these is a complete month. The come in at set intervals, play through the month, then vanish. It’s set up such that at the end of the song all that is left is December.

What’s striking is the untended interplay of the changing light and colors of the different months. It’s a minimalist approach that well suits the music.

At some point there will be a write-up of how the whole thing was made.

Read the full post ...

Morgen, a new Neurogami track

Hear more at music.neurogami.com

Read the full post ...

Tricking the Flora to do HID MIDI

A little over a year ago I ordered an Arduino Flora board from Adafruit. The board had recently been released and as a fan of wearable computing I wanted to play around with one. It looked very much like the existing Lilypad board but with a few extra touches.

For one, it had a built-in slot for attaching a battery. It also had a built-in mini-B USB connector. Best of all, it was described as being able to HID USB, including HID MIDI.

If you looked at that Flora product page you might notice that there is no mention of MIDI. Yeah, that part is gone. This is a fairly recent change. That same claim used to be on the getting started page but is now gone. But if you Google about you can find promo blurbs on other sites that copied from the early Adafruit promotional content, and they refer to HID MIDI. (For example. Also Google cache)

But why the change? And why did I just notice? For all sorts of reasons I never got around to actually working with my Flora until about a week ago. I assume I’ve been distracted by yet newer and shinier toys. Or it got buried in the pile of “get to” boxes. In any event I had the board out and was trying a few things and recalled that it was supposed to do HID MIDI so I set off to have the Flora drive some MIDI programs.

I went looking for an example but could find nothing.

If you’ve used a Teensy board you might hope that MIDI with the Flora would be as simple. But no. And the reason is because the Flora, contrary to the original claims, does not actually do HID MIDI. At least not as-is out-of-the-box.

But it is (sort of) possible with a bit of hackery.

Read the full post ...