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 1 of 11
 
 

 
Sep.16.2011 @ 7:13 PM
rawore
and the bit length of the a/d d/a is?
 
 

 
Sep.16.2011 @ 7:25 PM
Chris Randall
We'll shoot for 48/24. That'll end up being the most expensive part aside from the BB itself. But 44.1/16 at the bare minimum.

EDIT: I've been Informed that the codec we've selected (and by "we" I mean people smarter than me) is capable of 96/24, but we'll be running at 48/24 for the CPU.

-CR
 
 

 
Sep.16.2011 @ 8:06 PM
RGiskard
Based on your description, Beepcat sounds like a cross between a Line6 ToneCore DSP Kit and a Arduino. Assuming the price (excluding the BB) will be close to the former and coding ease close to the latter, I'll be very tempted to buy one to learn some DSP programming.

The problem I see is bootstrapping. I'd like too see a decent wiki with some real code examples to gauge the pain of the development process. This would be as important as price to decide a purchase. I'd be very happy if all I need to do is provide one function to process audio (e.g. a function that's called at the audio clock rate with a pair of floats representing the L & R channels, or an audio buffer pointer).

Would it be possible to use the audio I/O to process CV?
I'm not terribly interested in that feature, but I bet the eurocrack cheering squad is.
 
 

 
Sep.16.2011 @ 8:17 PM
Chris Randall
It isn't a cross between either of those things. I would liken it more to a MonoMachine that you can put your own code in. Programming the LCD would be similar to Arduino programming, but the Beepcat software is running on a computer you can plug a monitor in to and look at porn with. Far easier environment than Line 6's shit, and far more powerful than the Arduino.

As far as programming it, it'll basically be as easy as you said. You'll get a process() loop that has inL++, inR++, outL++ and outR++ as floats, and you just make 'em equal something. The MIDI stuff is just as easy.

That said, I am of the opinion that anything like this is doomed to fail as long as it isn't interesting in its own right. The MeeBlip is a good example of how to do it right: make an awesome synth for a great price that also happens to be hackable. Same thing here. This would essentially be an AD hardware unit that ran several of our products, and also happened to be hackable.

-CR
 
 

 
Sep.16.2011 @ 8:32 PM
inteliko
Nice...

Fill me in here. I'm taking that if it can run AD products it can load other vst's on it ?

You can plug a monitor into it ? If its running an AD plug say BS2, will I be able to view the actual BS2 gui or some other design on the UI.

but wow... plug a monitor into it... im thinking ipad it ... BS2 and Tattoo will be nice multitouch...

Please let me know if my mind has gone to astray in thinking of it as something it is not.
 
 

 
Sep.16.2011 @ 8:44 PM
Chris Randall
Your mind has gone astray.

There's a full Linux computer living inside, but as far as you're concerned, this would be like a MonoMachine or Eventide Space or something. You'd turn it on, select the engine you wanted it to load, and that's what it'd be.

-CR
 
 

 
Sep.16.2011 @ 8:52 PM
RGiskard
@CR You have a very good point re. functionality. I've read "open source" and automatically thought "some assembly required", heh. Anyway, it looks even nicer now.

Have you defined pricing for the two packages?
 
 

 
Sep.16.2011 @ 9:00 PM
herrprof
Awesome. I've been looking for a sampler esque companion for my micromod, and depending on how this pans out it would fit my workflow VERY nicely. Hell if it only runs AD ip, thats pretty value right there.

Preorders? :)
 
 

 
Sep.16.2011 @ 9:10 PM
Chris Randall
@RGiskard: Every time I see your name, I chuckle. Those three books are long-time favorites. Anyhow, we don't even have a ballpark at this point. More than a MeeBlip, less than a TETR4, of that I can be certain. But figure the Beagleboard _alone_ costs about $150, never mind all the other shit we're hanging off it, plus the work coding. I would _really_ like it to come in under $500 for the whole kit and kaboodle. We'll see how that plays out.

@herrprof: We don't even have a final design yet. We've been pondering a Kickstarter-type scenario to level off the risk. Writing that check to the fab house is gonna be painful, and equally painful will be writing the one to TI for the Beagleboards. If we make 100 of 'em, that's about $30K we're gonna have to cough up right off the bat.

We'll see how things shake out. This is in no way pr?t-?-porter. As I said in the OP, we're just trying to gauge interest. I will say that, all other things being equal, it would definitely ship with an MS20-style monosynth (what I'm playing in the video), a live multi-effect (Filterstation + Replicant, basically), and a more studio-friendly multi-effect (think Discord3 + Eos.).
 
 

 
Sep.16.2011 @ 9:20 PM
kid vs chemical
Sounds awesome, I would buy it. Me personally, I would like the beagle board included, as well as the monosynth and the effects. Your saying they all can/will be included, sounds good to me.
 
 

 
Page 1 of 11
 
 

Comment:

 

Sorry, commenting is closed for this blog entry.