Beepcat: A Modest Proposal...
From the original Analog Industries archive. Some links and images from that era no longer resolve.
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 and a… okay, I’m gonna go ahead and say “slightly crazy” userbase. There. It’s out. 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?
30 comments
and the bit length of the a/d d/a is?
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
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.
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
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.
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
@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?
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? :)
@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.).
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.
Drums ?
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:
http://www.museresearch.com/products/musebox.php
I'd much rather give you my monies - and my Monomachine needs a friend.
Sounds very interesting so far !
Automaton built in ?
I think that price is totally reasonable, especially compared to a designgasm like the op-1.
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.
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
Still sounds cool . Automaton was just my running joke btw .
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
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.
I'm with boobs.
I'm with boobs in perpetuity. I will inform you if i am ever not with boobs.
There's a lot of people reading this post from the Beagleboard RSS feed, IRC, and what-not, which leads me to wonder how the "I'm with boobs" thing is received by a populace that has no idea whatsoever of what it's for.
That said, you can assume that I'm with boobs unless I say otherwise.
-CR
I'm with boobs.
Okay, this falls under crazy Euro-Rack thinking(although I don't own one) and I'm
not saying any of this is a good idea....But why not go full Voltron? You already have the Beepcat name.
That is, make a few with different controls* and colors with the same guts, stick in a USB port to link Beepcats together, make and package tools that allow devs to distribute processing and allow different programs to easily communicate between multiple devices.
Stagger the release of the interface options and release one simple tool that shows off something unique and works great standalone, but if you "catch 'em all" does something special.
I think encouraging devs to make tools that play nice together would be beneficial in getting the non coding musician using it, which in turn would attract developers. I mean, I have a stupid amount of reaktor user ensembles that I have no motivation to break down and mess with the behind the scenes.
The nord modular was mentioned and if the Beepcat came packaged with software that was an extremely cut down version of the g2 software (basically audio+MIDI in/out), but allowed new modules to be built I would be excited. No one has done software modulars "right" yet in that they are all too insular.
Yeah, it'd be a ton of work to make a DIY host like this, but you wouldn't have competition. You (and the users) would have the opportunity to show up apple and steinberg too (that's gotta count for something), yet still port over if it's commercially unsuccessful or new, better hardware is available.
*Pots, endless encoders, faders, pressure sensitive ribbons, and, my personal dream, a 32x32 patchpin matrix, like a usb/MIDI lite brite (would buy 2) are all ideas.
Not sure why I made so many toy references.
I think you're laboring under the impression that the guts are the hard part, while the panel is easy. Believe me when I say nothing could be further from the truth. I can go to Digi-Key and buy all the guts I want. The panel, on the other hand, has been in design for 6 months now, with another 6 months before I actually hold one in my hand.
If you're actually wondering why not, that's the reason. These are the opposite of a VST, where the part you see is easy and the insides are tough.
-CR
Go kickstarter for the initial buy-ins imo. I think there's nothing wrong with that even for people who have cash on hand, as long as the project comes to fruition it's just a win for everyone.
In addition to the 'live rig' thing small box, what I wouldn't mind seeing is something I can hang off a laptop running Ableton to access a low latency signal chain of fun...think filter/fx/limit or maybe a series of sends summed to a single output that can plug back into the mixer. Eventide Timefactor on steroids or Stutter Edit box o fun...
Providing good A/D/A converters , a display and knobs Beepcat could also be the basis for a high quality audio recording device. Do you plan to provide software for such an application?
@Chris Randall, I was having a bit of a fantasy wank, sure. :) Although Livid and Steinberg just announced new modular MIDI controllers. Something in the air?
http://www.synthtopia.com/content/2011/09/24/new-modular-midi-controller-modules-from-livid-sneak-preview/
http://www.synthtopia.com/content/2011/09/22/steinberg-intros-cmc-modular-controllers/
I'm with boobs.
Comments are closed on this post.