September 16, 2011

Beepcat: A Modest Proposal...

by Chris Randall
 



I've spoken to some of you in person about this idea, and received generally good feedback, but we're getting to the point in this project where we need to start committing real resources, and I wanted to open it up to the wider community for discussion and to gauge interest before taking it to the next step.

The Elevator Pitch?: Beepcat is an open hardware and software shield for the Beagleboard Linux-based SBC. The board has a 128 x 64 graphic LCD, eight pushbutton/knob encoders, and eight buttons, and has stereo balanced audio I/O with a high-quality A/D/A convertor and MIDI I/O.

Some background information: after (and indeed during, to a certain extent) our ill-fated and somewhat expensive foray in to the Euro-Rack world, we were looking in to projects that didn't involve a fairly expensive infrastructure. After much consideration and discussion, we've hit upon this idea of a totally open and somewhat freeform platform called Beepcat.

The Beepcat could be purchased fully assembled, tested, loaded with software, in a nice case and ready to go. Or you could just buy the shield and an SD card containing the disk image from us and make your own case, or use our provided schematics and information from the Wiki and provided source code files to make your own or whatever. It would just plug right in to any existing Beagleboard; we have examined the idea of making a custom Beagleboard that doesn't have all their video and shitty audio and what-not (the Beepcat shield has its own audio codec, as the one on the Beagleboard is simply not suitable for pro audio) and this is something that we believe can occur.

The Beepcat software would consist of a custom Linux kernel that kicks a Beepcat Bootloader (BeepBoot) that allows you to choose one of the available programs on boot. The disk image we would provide as a stand-alone Beepcat environment would have programs that we made in-house (and which would necessarily not be open-source, for obvious reasons), along with a stereo effect framework with code and a monosynth with fully commented code to be used as starting points.

The shield itself would have, as I said, MIDI I/O and a much higher quality stereo balanced audio I/O rig, and the LCD display and controls, all of which are controlled by an ATmega; this wouldn't be written in Wiring, so you couldn't code for it just like for an Arduino, but it wouldn't be that dissimilar.

Coding for the Beepcat would not be that difficult. (With the caveat that "not that difficult" is a loaded statement when it comes to DSP.) With a full Beagleboard backplane, you can code directly in C++ or C on the Beagleboard itself, using the Geany IDE. That's how I wrote that synth above, right on the device. With the full monty provided, you could use the hardware plane for any number of things; it would make the Beagleboard in to a whole multi-media powerhouse.

So, in a nutshell, what Audio Damage would provide:

1. Two different packages to purchase (Full assembled tested ready to take on stage Beepcat, Shield + SD card only)

2. Beepcat Linux kernel and starter software as a downloadable image. This wouldn't include any of the AD-coded synths, but would enable you to use other people's Beepcat programs.

3. Full Wiki for coding for Beepcat, a repository for non-commercial programs, a method for selling commercial programs (e.g. if DMG Audio wanted to make and sell a high-quality compressor or EQ for Beepcat, we could handle the transaction.) The repository would also contain the Gerbers for the shield, a BOM, and firmware for the ATmega, should you want to just make your own from scratch.

Anyhow, that's the general idea. Eric and/or Adam will jump in and correct me if I make any technical mistakes, and can address any deep technical questions and comments. We are totally open to any and all ideas at this juncture. We're just getting to the prototype stage, and now's the time to open the floor for comments and to see what kind of interest there is in this concept. We've seen some rather spectacular failures of this idea (the Chameleon being the most notable example) but that was before the whole DIY / Maker scene really got traction, and I feel it's a different time. MeeBlip opened the door, and I think that we'd all benefit from something like this.

Comments? Criticisms?
 
 
 

110 comments:

Page 2 of 11
 
 

 
Sep.16.2011 @ 9:20 PM
inteliko
Drums ?
 
 

 
Sep.16.2011 @ 10:01 PM
planckunit
As soon as you said "a MonoMachine that you can put your own code in" you had me.

Take my money now!

I'd be up for a fully built model and would be very happy to pre-purchase/order to get the ball rolling.

Kickstarter maybe?

AD Mojo in hardware? Yes please!

Considering how long I've been waiting for one of these:
link [www.museresearch.co...]
I'd much rather give you my monies - and my Monomachine needs a friend.
 
 

 
Sep.16.2011 @ 10:24 PM
DBM
Sounds very interesting so far !
 
 

 
Sep.16.2011 @ 10:25 PM
DBM
Automaton built in ?
 
 

 
Sep.16.2011 @ 10:40 PM
herrprof
I think that price is totally reasonable, especially compared to a designgasm like the op-1.
 
 

 
Sep.16.2011 @ 10:44 PM
seancostello
I'm going to refrain from the 10K words CR would expect me to write about this, and will simply say that I am interested and would like to subscribe to your newsletter.
 
 

 
Sep.16.2011 @ 10:44 PM
Chris Randall
To be clear, this won't just be a box for playing Audio Damage effects. We won't be porting anything directly to it. Rather, we'll make context-specific devices that lift parts of various existing products. There won't be a Tattoo device or a Phosphor device, or an Automaton device. None of those products are remotely designed with this context in mind.

I will say, however, that most of our existing DSP Just Works on the Beagleboard. That synth I'm playing in the video above is three oscs and an envelope from Phosphor (one is acting as an LFO), and the HP and LP MS20 filter models from Filterstation. I was able to drop the specific blocks in unaltered, since long ago Adam made a conscious decision to write our DSP as platform-agnostic as possible.

Any DSP that is written in C or C++ and doesn't have any strange platform-specific memory allocation or vector math will work fine on the Beagleboard, basically. And that means it'll work fine in Beepcat. And anything you code for Beepcat can also be more or less dropped right in to a VST/AU plug-in or iOS app, for re-use down the road. As such it will be a nearly perfect device for learning real audio processing (as opposed to Reaktor / MSP / Synthedit boxes-n-wires programming). Our goal is to make the lowest barrier-to-entry product that can accept real code that is humanly possible.

-CR
 
 

 
Sep.16.2011 @ 10:51 PM
DBM
Still sounds cool . Automaton was just my running joke btw .
 
 

 
Sep.16.2011 @ 10:59 PM
bongo_x
I would just say that you definitely need to sell this as A Box That Does X (oh, and you can hack it). I had to read all the comments before I could figure out what it was that was actually being proposed, and I'm still not 100% (high 90's maybe).

Then again, I'm probably not the perfect target. I'm not as hardware-centric as some, and while it sounds like something I might like to have, it probably wouldn't be something I'd spend several hundred dollars on.

bb
 
 

 
Sep.16.2011 @ 11:14 PM
seancostello
CR: I'm in agreement about "real audio programming" versus boxes-and-wires, but it should be noted that Pure Data has been ported to the BeagleBoard. So it is entirely possible that, if things are open source, someone could make it their task to do some "real audio programming" that brought Pd in some form into the Beepcat environment (probably one of the libPd variants that hooked up to your controls).

Which would make the Beepcat the hardware that is programmed like Max/MSP that people have talked about for, oh, a few decades now. Not counting Max controlling the 4X, which is great if your organization is directly supported by the President of France, but not useful for the rest of us.
 
 

 
Page 2 of 11
 
 

Comment:

 

Sorry, commenting is closed for this blog entry.