this space intentionally left blank

January 22, 2015

Filed under: music»tools

Whitman

Whitman is a simple sampler (womp womp) written for modern web browsers. Built in Angular, it uses the WebAudio API to load and play sound files via a basic groovebox interface. You can try a demo on GitHub Pages. I put Whitman together for my dad's elementary school classes, so it's pretty simple by design, but it was a good learning experience.

The WebAudio API is not the worst new interface I've ever seen in a browser, but it's pretty bad. Some of its problems are just weird: for example, audio nodes are one-shot, and have to be created with new each time that you want to play the sound, which seems like a great way to trigger garbage collection and cause stuttering. Loading audio data is also kind of obnoxious, but at least you only have to do it once. I really wanted to be able to save the audio files in local storage so that they'd persist between refreshes, but getting access to the buffer (at least from the console/debugger) was oddly difficult, and eventually I just gave up.

But parts of it are genuinely cool, too. The API is built around wiring together nodes as if they were synthesizer components — an oscillator might get hooked up to a low-pass filter, then sent through a gain node before being mixed into the audio context — which feels pleasantly flexible. I'd like to put together a chiptune tracker with it. Support is decent, too, with the mobile browsers I care about (Safari and Chrome) already having decent availability. IE support is on the way.

The most surprising thing about Whitman is that it ended up being entirely built on web tech. When I started the project, I expected to move it over to a Chrome App at some point (it'll be taught on Chromebooks). There are still some places where that would have been nice (file retention, better support for saving data and synchronization), but for the most part it wasn't necessary at all. Believe it or not, you can pretty much write a basic audio app completely on the web these days, which is amazing.

In the parts where there is friction, it feels like a strong argument in favor of the Extensible Web. Take saving files, for example: without a "File Writer" object, Whitman does it by creating a link with a download attribute, base64-encoding the file into the href, and then programmatically clicking it when the user goes to save. That's a pretty crappy solution, because browsers only expose data URIs to create files. We need something lower-level, that can ask for permission to write locally, outside of a sandbox (especially now that the File System API is dead in the water).

August 31, 2011

Filed under: music»tools»bass

Bass Check

Last week I achieved a goal that I've had for seven years, one that's even documented back in the earliest days of this blog: I bought a Jetglo Rickenbacker 4003 bass. Bass Northwest may have one of the world's most hideous store websites, but they delivered where it counts. And while I was there, putting my name on the list to get this bass, they told me an interesting story.

Rickenbacker only makes fifty basses a year, they said, and those basses are made in what (from a store's perspective, not Rickenbacker's) is essentially a random order. The company doesn't tell stores what color or type they're making on any given day, or when they can expect an item to arrive. Instead, a store will just get a note from the Rick factory in response to their standing order, letting them know that an instrument is on the way. You might think that this unpredictability would make it difficult for stores to sell these basses, but in fact the extreme rarity of Rickenbackers (not to mention the voracity of their fanbase) means that they find homes almost immediately.

Why does the Rickenbacker company make so few instruments each year? I don't know the exact reason, but I suspect it has a lot to do with it being a family-owned business--one that's extremely possessive of their designs (Ric is notoriously litigious towards "generic" versions of its guitars) and therefore still builds everything here, where they can retain close control. The management at Ric is obviously really proud of their domestic manufacturing. Each bass comes with a little "made in USA" sticker on the pickguard, which (on a black and white instrument) makes it look a bit like it's wearing a flag pin on its lapel. I almost expect it to run for office.

For whatever reason they've chosen to do it, Rickenbacker's stubborn refusal to move production overseas stands out. Practically nothing else that I own is built here, musical or otherwise. It's possible that a lot of things can't be produced domestically anymore: the New York Times had an article the other day on bringing manufacturing back to the US, and the difficulty of reviving an industry after so much of the skills and infrastructure supporting it have been outsourced. It turns out that manufacturing, which would seem like a largely solved problem, really isn't--and it's not easy to catch up if we fall behind.

Stop me if I get too Friedman-esque, but for me, seeing that little flag sticker on my new bass highlights a tremendous tension in today's globalized marketplace. I think Rickenbackers are probably designed better than instruments built overseas (they'd have to be, since there's no economy of scale to subsidized waste) and I like that their manufacturing is subject to our regulation. But the irony is that I might not have learned to play bass if everything was made like (and cost as much as) a Rickenbacker. My first bass, which I still own and play, was a $300 factory-made Yamaha BB404 from Taiwan.

So I'm trying not to be incredibly snobby about where my new bass is made, because I owe my ability to play it to cheap construction. Simultaneously, though, I think there's a lot of value in Rickenbacker's model, and I wish we did more to encourage domestic production--not out of jingoism, but as a way to keep our skills sharp and our products humane. Maybe that's a lot of baggage to lay on a single bass, but I've been waiting seven years for it, after all: I think it might be forgiveable to obsess a little.

April 7, 2011

Filed under: music»tools»digital

Touch vs. Turn

If Korg's DS-10 synth is a portable Reason, all dangling virtual cables and signal flow diagrams, Nanoloop (newly released on Android this week) is like a pocket-sized Ableton Live: simple geometric shapes laid out conceptually. It's an approach designed for screen interaction and readability instead of mimicking its' non-virtual counterparts. I like both Nanoloop and the DS-10. But I suspect I like real synthesizers more, even though they're bulky and inconvenient, solely because the real thing isn't trapped behind a sheet of glass.

Which is not to say that Nanoloop is not very cool. I never owned a copy of the Gameboy version, because I couldn't quite justify spending $40 on a cartridge for a 20-year-old game system, but its simplified layout (originally created for greyscale LCDs and few buttons) works well on a touchscreen. The built-in synths don't quite have the classic feel of a Nintendo sound generator chip, but there are more of them, including a built-in sampler (the Android version even allows importing custom samples from the SD card). Nanoloop's synth engine is certainly less powerful than the DS-10 (modulation routing is one of those things where the patchbay metaphor really does make sense), but it does fit the channel controls on a single screen (Korg's software has separate screens for subtractive synthesis and patching), and that really puts the emphasis on fast, efficient composition. So while I'm still terrible at tracking, this is an easy way to burn some time while waiting for the bus.

On the other hand, neither program is anywhere near as much fun as mucking around with a big analog-style synthesizer--I'll get lost in one of those for hours, and I don't even like playing keyboard. What's the difference? Big, chunky knobs, switches and buttons that I can physically handle to get a "grip" on the sounds. There's just something viscerally better about tactile synth controls. I feel the same way, incidentally, about my bass effects--no matter how many cool things I could do with virtual pedalboards, I always went back to stompboxes eventually. Nor am I alone: even in the age of touchscreens and DAW plugins, people keep inventing ways to make music software physical through devices like the arc or various control surfaces. It's like there's something people just really like about turning knobs and flipping switches.

As a generally pro-digital kind of person, I was kind of bothered to realize this about myself. I have no sentimentality about e-books, for example, and I'd rather suck lemons than record on analog tape. The more I think about it, though, the more I see the role of the tool as the distinguishing factor. Stompboxes and synthesizers are performance-oriented--they're all about process and inspiration. It's important that they be responsive in ways that are instantly intuitive, even if that requires extra bulk or lowered flexibility. Recording and editing audio, on the other hand, are (mostly) results-oriented activities: I'm not trying to discover new sounds, just rearrange existing elements, so I'm happy to deal with them at as high a level as possible.

Clearly, then, there's a thin zone between abstraction and control that makes a performance instrument satisfying. Given too much abstraction, you take away the player's expressiveness. With too little, they're overwhelmed. Virtual instruments and touchscreen interfaces aren't inherently unsatisfying, but they almost always require musicians to maintain a higher level of mindfulness to use them, the responsiveness will be less dynamic, and the feel just won't have the same richness to it. Where each player draws the line is probably up to them. Since I don't really consider myself a synth player, software synths like Nanoloop and the DS-10 will be good enough for now. On bass, though, I'll stick with my stompboxes.

Past - Present