Tuesday, February 14, 2012

The Big Easy

I am still throwing around ideas for dedicated Qlab control surfaces, music performance controllers, and linkage systems to allow sensor-driven sound effects, cue-driven servo events, wireless connectivity, etc.

Many of these options currently exist commercially (or semi-commercially, as in open-source kits), but they generally have two flaws; expensive, and fiddly. I'm thinking about robust dedicated systems; things with few visible controls and sealed enclosures that can be handed off to Stage Managers or percussion players or actors.

The trouble with figuring out the functions, and the form factors, of said things is the applications themselves haven't been adequately explored. There are so few options now for controlling sound effect playback from the orchestra pit, or linking a door opening sound to the physical door, or triggering a mechanical effect from a software cue package, that experiments aren't happening.

The design team is unaware of the tools the digital revolution makes available, and before someone like me gets a chance to say "I've got an Arduino-based gadget that can do that," the effect has either been semi-solved with traditional methods, or abandoned as being too difficult.

By the time you get up there and tell them the clock on the wall could easily point at a specific hour via a servo triggered by the lighting cue that is already taking place in that scene, everyone has become so adjusted to the idea that there is no practical way for the clock hands to move they reject the idea as being unnecessary.

I not too long ago went through a hellish sequence of trying to coordinate a slide projector, lighting cues, and sound cues -- when it would have been a one-day hack to control the slides from either of the previous, using DMX or MIDI or even assigning the "advance" button to a non-dim circuit.

In the long run, what I want is plug-and-play; to define a narrow subset of functions and make a device that just does that. One of the tricks to achieving that is making these devices cheap. I can't waste a full Arduino or worse on a single button. I need to work with a bare-bones purpose-designed board with no more than a cheaper AVR on it.

But until the point that tasks have been identified and the use of a digital system tried out in production, what I need instead is more of the experimental breadboards. Or, rather, the next intermediate; things with fewer dangling wires and software peccadilloes than what I have now. Yet, at the same time, devices that have more and more test bed functions on them.

Xbee networks. High-power switches and motor drivers. Sensors.

Which puts these devices in the horrible position of being development platforms in nice boxes with bland faceplates...so less-technically focused end-users can use them and not get scared.

Still, as part of the development I just need to have more building blocks already worked out. I need experience with Xbee links. With sensor conditioning. With motor drivers and high-power switches.

At this point I've generated only two specific applications, and they are so different there hardly seems to be a way to integrate them cleanly. One is the gunshot transmitter. The other is the dedicated Qlab controller.

The former is fairly easy to parameterize. The idea is that prop guns don't normally make a sound, and blank-firing conversions or starter pistols have a host of difficulties that make them less optimal for many productions. My test case was this; I gave the actor a key-fob radio transmitter, and he hid that in one hand, pressing the transmit button simultaneous to squeezing the trigger and jerking back on the prop gun.

The form I imagine is something that would clip easily and non-destructively to almost any prop firearm and detect the motion of the actual trigger via opto-interruptor or similar. Then a transmitter with a compact form factor would send a message out to whatever sound playback software is in use.

Possibly a better form is a butt squeeze -- this could be used on props that didn't have a functioning trigger -- but that would take more calibration.

Making a transmitter small enough to clip to the gun itself without it being visually distracting would not be easy, however. So you'd want a beltpack type transmitter, and a wire running up the arm. And then you have the problem of connecting...

Actually, I just had an even better idea. The "Trigger Finger." Use a bit of flex sensor in a flesh-colored finger cot. Run the wire under the sleeve back to a belt pack. In use, all the actor does is curl his finger sharply as if pulling a trigger. The sensor conditioner detects this and fires off the signal via the wireless connection. Aka it is a one-finger, no wires version of a data glove.

Because of the wireless link this is unlikely to be a cheap system. Of course, if one had spare wireless microphone packs around one could re-purpose one by sending a DTMF-type tone through it. But I find it is simpler to stay in the digital domain. A 424 MHz radio link gives you only enough range to get to a receiver planted on stage, but it is cheap. If you built the sensor conditioner and radio controller around one of the smaller AVRs, you could have a fab house run off a through-hole board that was barely the footprint of a 9V battery.

Alternatively, an Xbee or similar, though more expensive, can be eventually part of a complete Xbee sensor network. But as long as you are putting fifty bucks of computing and radio hardware in the belt pack, plus the cost of the housing itself, you'd best add battery charging and management as well, plus system monitors. Which brings us up to a multiple-unit kit cost in excess of $100 each.

So...I was wrong. The application is well parameterized, but the solution has not been properly designed yet. And even in prototype form, way too much fun not to try to have built by the next Makers Fair.

(Actually, the show I've got coming up includes a chainsaw that won't be practical but should sound like it works. In some other universe I'd be playing around with Kinect or Wii remote ideas to make the sound follow the prop...but for the flow of this show, a canned sound effect will be just fine.)

(I almost forgot an alternate strategy. Instead of going wireless, go light. Basically make a laser tag device, only with a bigger fan-shaped beam. If you want to be really clever, squirt a coded series of pulses like a TV remote does. Otherwise just tune your sensors. The cute idea...although it is of little use in the highly-rehearsed world of traditional theater...is that the gun can trigger multiple sound and/or practical effects by aiming at them in turn. It is possible existing laser sights could be re-purposed for this.)

((And as long as you are being silly, an infrared laser finger could serve -- so could a Wii remote -- to allow a person to play Tim the Sorcerer and trigger effects as he or she pointed at them)).

Anyhow. One of my flaky-pastry-item-in-the-stratosphere desires has been to wire up a Sonic Screwdriver prop with useful functions: Radio link to fire sound effects without having to go back to the sound board (very useful for a quick listen-through, checking stage monitor levels, troubleshooting, etc.) Laser pointer for explaining to crew which speaker is which, and also for use in rough-aligning speakers (I use a crazy device I call the tri-laser now; two laser heads glued to a carpenter's framing square). Emergency flashlight, which in the nature of such things is likely to be used far too often and run down the batteries all the time. Oh, and I'd love to have an SPL meter, a polarity checker...but by this point the device would be considerably larger than a tricorder and that's the wrong TV show entirely.

The other actual parameterized idea is the dedicated QLab controller. There are twin aspects to the application; the first is that while the "Go" button works fine, jumping or repeating cues requires hunting around on the keyboard, and editing cues puts the "Go" function out of focus. MIDI is always "focused"; even if you have hidden the QLab application and are working in a different one altogether, a MIDI "Go" command will work.

The second is that often booth or sound board space is limited. You can't always put a laptop where you can reach it easily. I'm actually quite fond myself of using a keyboard -- usually a battered old Korg Nanokey -- to control Qlab without having to have the laptop within easy fingertip reach. But I think there is a bonus, especially for less technical people, in having a small-footprint controller with big hardy buttons labeled with the universal standard "tape deck" symbology.

Actually, I just thought of an answer to a caveat I've had...the problem with remote use is you really, really want to see the computer's screen and know you are about to fire the right cue. However, nothing says you couldn't hack in a simple character LCD display showing "next" and "playing" cues. Since Qlab doesn't normally care about that, you'd have to leverage something like the MIDI or DMX functions and spend the time to add and write out special "invisible" cues that would send messages back to the remote console. So not really that elegant a hack!

A more complicated but satisfying routine might be to install a full graphic LCD...but then you'd have to both get that to be recognized by the laptop's video out, and drag the right items on to the resulting window.


Today, I am going to stop by Staple and purchase one (or more) of their "Easy" buttons. This will be my next proof of concept. I have already a few options in arcade buttons and the like, but I'd like to try wiring up this as a big red "Go" button. Or a "fire the sound" button for orchestra pit.

In the development form, just use an Arduino to spit MIDI or MSC. Or use my AVR-USB development board to spit out an HID-standard "space bar."

In the next ranging, figure out how to do MIDI on a naked AVR, or even bit-bang MIDI on one of the ATtiny's with no UART (which is really just an exercise in clever...there is no good reason not to just use an ATtiny45 instead). And then, figure out how to do MIDI-over-USB....HID is relatively easy (or so I am told!) but MIDI-over-USB is a tougher trick.

The ultimate controller form would be USB-powered and USB-linked, with some degree of feedback (at least lighted buttons) and a minimal display to allow entering program mode and changing the system defaults (such as, switching to MSC protocol).

Anyhow. Swartzbrot awaits. I'm off to run errands.

No comments:

Post a Comment