21 September 2015

Panoramical is out, and it’s been lovely to play with: a series of visual and sonic canvases to manipulate and explore.

I’ve been keen to play it partly because of its support for interesting controllers not traditionally associated with videogames. An early version was played with the eight faders of the Korg Nanokontrol; Brendan Byrne built a limited edition controller, the Panoramical Pod, for the final release. What’s really interesting is that Panoramical also supports any controller that spits out MIDI – and so I started thinking about building my own controller(s) for it. I’ve long been interested in controller design, and have built a few unusual interfaces for music and computers in recent years. So I got to thinking about what I could do with Panoramical.

The world of Panoramical is manipulated via eighteen variables. These are describe inside Panoramical as nine, two-axis variables. With a keyboard and mouse, you hold a key (or selection of keys) to pick variables to manipulate, and move the mouse to alter them.

The Pod has a row for the “horizontal” component of a variable, and a row for the “vertical” component of a variable. I’m not sure this is a elegant or interesting as controlling both axes with a single input. I investigated non-spring-returning analogue joysticks, much like found on the VCS3, but they all appear to be horrendously expensive as components. (Cheaper joysticks, that would need the spring removing, have an unpleasant deadzone, which I don’t think would be ideal for Panoramical).

And then I had an idea: rather than building a controller out of hardware, I could start by building one in TouchOSC.

TouchOSC is a programmable control surface for iOS and Android tablets that spits out MIDI or OSC data. It’s possible to design interfaces yourself, in an editor on a computer, before transferring the UI to your tablet. You can then connect the tablet TouchOSC app to a ‘bridge’ on your computer in order to spit out MIDI data to anything that can receive it.

One of the many UI components on offer is an X-Y pad.

This is my controller for Panoramical. Nine X-Y pads, in a 3×3 grid – much like the lower left of the screen. It didn’t take too long to lay this out, although I went back and added some padding around the pads – otherwise, you’d slide off one into another, leading to unintentional lurches in values.

It didn’t take long to layout, although it really didn’t help that touchOSC doesn’t rotate its understanding of ‘vertical’ and ‘horizontal’ when you design a landscape mode – that was confusing for a while.

I also added a second ‘page’ with eighteen rotary encoders, as per the official Panoramical Pod. I don’t use this to play Panoramical, but it makes it much easier to configure the mapping.

Is it fun to play with?

I definitely think so. The multitouch UI gives you control over many parameters at once, and the coupling of the related variables (each XY pair basically control similar elements, but have different effects) makes a lot of sense – the design of touchOSC’s pads even mirrors the visualisation in the lower right of the screen. It’s also fun to be able to use ten digits to play it, manipulating many things at once; it makes Panoramical feel even more like an instrument to be played, explored, and improvised with.

You can download my TouchOSC mapping here, if you’d like, and you can find out more about TouchOSC here. TouchOSC’s documentation is reasonably good, so I’m afraid I cant provide support on getting it running. Suffice to say: you’ll need the layout on your touch device, and the Bridge running on your computer. In Panoramical, set the MIDI input to TouchOSC Bridge, and then I recommend mapping the controls from the ‘rotaries‘ page on your device – it’s much easier to map from there – then, you can play Panoramical from the ‘pads’ page.