ForumsHardware ← Call for input: Soundplane to CV module

This year it seems desirable and possible for Madrona Labs to make a Soundplane to CV device. This would be primarily a Eurorack module, but the circuit could also be built into its own enclosure for use with vintage synths etc.

Normally I do most of my design work in private, and only announce a product when it's pretty much done. But we (Brian and I) are going to change it up this time. Because neither of us is that deeply into the Eurorack world, it makes sense to solicit input early on in the process this time. This is going to be a utility device (though hopefully an elegant one) — so before we get too far along, let's make sure it will be useful to you!

The basic idea

USB jack for powering the Soundplane. Module puts out CV / gates / mod outputs for individual touches. Like the Soundplane app, a zone map decides how the Soundplane surface is divided up into notes and what those notes are. You can switch between zone maps, and the name of the current one should be displayed somehow. Aside from this, visual feedback will be at least an LED per Z value. To keep costs low, probably nothing too graphical or fancy.

We're looking for input on things like:

How many voices?

Each voice of touch output will probably have 4 outputs for pitch, x, y and z. Setting up many voices on a modular is not the way most people use them, so I'm guessing that two voices of output will take care of 90% of what people want. We would probably add an expander module for more voices.

Any interesting modes?

A switch that changes z (pressure) into a strict on/off gate might be useful. Any other things like this?


individual voice groups vertical or horizontal? voice outputs at bottom or top? I'm thinking top, because a USB jack on the bottom will go to the Soundplane.


The module will need roughly 250mA at 5v to power the Soundplane. Brian will correct me if I'm wrong. Then there's whatever computing and display the module needs to do, and the outputs. Do we need our own power supply, or a list of compatible Euro power supplies that we can point people to? Any choices in connectivity to make here?

Finally, we're still looking for a great name…

I was thinking of something, probably completely out of question, but why not asking: have you ever considered adding CV outs to the Sound Plane itself?
Not really for the convenience of having everything in there, but more to be able to have the SP connected both at Aalto/Kaivo and the modular at the same time.
I guess there is no way of modding previous SPs, but why not giving the option, with the extra cost, to new customers if space and engineering are not an issue?

Reasonable idea, talking to both modular and computer. The thing is, the Soundplane just puts out raw data, and doing the touch detection from that data takes a significant amount of CPU. So the upgrade would be a whole new processor board.

Since the computer is in your hypothetical setup already, allowing it to pass the touch data to the module somehow strikes me as a possible solution. I guess it's still not likely to happen given the time involved.

So literally putting the content of the hypothetical module (processor and what else) inside the Soundplane couldn't be possible? I am curious, what would the difference be between having the module in a rack or inside the Soundplane? Power supply issues?
Or are you saying that the euro module is meant to be connected to the computer where the Soundplane is already connected and I'm getting it all wrong?

I'm just saying if you have a computer and a rack module you want to connect to at the same time, you can use the computer as a passthru. Say out a little DC-coupled interface or something. This seems like an OK solution.

That said, if there are easy ways to allow for future expansion that don't significantly delay the release of the Soundplane, we will probably take them.

Thanks for the clarification!

One limitation of putting CV outputs on the Soundplane is the power supply. USB provides +5 V, but modular racks typically provide ±15 V and sometimes as much as ±18 V. There would be a serious drain on the USB power if it were boosted high enough to interface with modular, not to mention the noise created by a switching power supply needed for boosting voltage like that. Some of the better CV interfaces provide pitch CV from -3 V to +10 V to span many octaves, so we'd like to match that range with the Soundplane for maximum flexibility. Restricting pitch to 0V and +5 V would be rather limiting.

So, yeah, there are space and engineering issues like the power supply and processing that would make it very challenging to squeeze everything in the Soundplane case. It's much easier to start with a modular power supply and bring it down to 5 V than to go the other way.

Thanks for the idea, though. It's fun to consider approaching things from a different angle.

Thanks for another thorough explanation.
I have another suggestion (sorry, but this module would be THE reason for me to get a Soundplane).
There's been talk of a unit with 8 outs with the possibility of expansion.
The first thought one might have is: "well, 8 outs, hence gate, X, Y, Z per voice".
But what if one would want to use it as a continuous controller rather than a "keyboard," by having each parameter (X, Y, Z) of different zones modulate stuff in your modular?
I think it was Randy who mentioned editing zones via a computer and importing them into the module.
But I'm thinking: would it be feasible to have the module learn the zones by touch?

I'll make an example. Let's say we have 8 outs: Gate 1, X1, Y1, Z1, G2, X2, Y2, Z2 (and so on for the expanders.)
We could:

  • Hit the "Zone Learn" button (it could be done pushing the encoder itself)

  • Use the encoder to select Gate 1

  • Touch the Soundplane on fret 5, row 1

  • Touch it again on fret 9, row 2

  • Now the Gate 1 output will only present signal when touched in that zone

  • Select Z 2

  • Touch fret 7, row 1

  • Touch fret 15, row 1

  • Now fret 7-9 on row 1 will output Z2 as well as Gate 1, and the rest is left unvaried (i.e. fret 5 row 1 up till fret 9 row 2 will still output Gate 1)

Much easier to show (or with a picture to look at) than to write about.
I wouldn't even call the outputs G, X, Y, Z... Just Gate 1, CV1, CV2, ... and then give the user the chance to assign X on CV 1 out, pressure on CV 2 and so on.
Am I oversimplifying it again?
Maybe it's way simpler in my head than it is to implement, but sounds like a nice way to me to have the module learn zones in a matter of seconds. You could reprogram the whole module in less than a minute.

I think it would be especially great, especially if there's a chance to save some presets.

I'm done with suggestions now, I promise. :)

Thanks for the suggestion. I'm more focused on supporting editing using an interface like a tablet, phone or laptop.

I have been looking for sinple ways to use SP with my Euro. Expert Sleepers does work but its a pain and I get few actual useable notes from it plus lappie is running far too many clients and cables now.. Specially since apple are trying their best to rid us of useful connections!

Oh man, a simple Euro Module with xyz outputs and a couple of offset knobs would be perfect. CV can be duplicated elsewhere. OSC is wonderful, Midi is a bloat. Loading up to three zone layouts and calibration on an sd card or nvram via the Soundplane client is all I imagine a euro person would really need! Cant wait to see how this turns out. :)!

Gotcha Randy, thanks for getting back to me.
Can't wait to see what you come up with (and Virta!!!)

Still excited about Splane to CV!
Any updates on this?

Was wondering if there's any possibility of bypassing running a modular synth or a laptop (eg: could load custom calibration data to the module via an sdhc card!).

We were music-geeking up here tonight and all want to get back to performing without cables and extra processing things. That'd be the dream; To perform with the Soundplane; directly controlling an Analogue module or synth without the need for any laptop action!

Love your work R! The soundplane certainly attracts attention!

@rsdio has done quite a bit of work on it. We've been stalled waiting for me to finish up Virta, so we can finish the project together. Virta is getting released very soon and then I can return to Soundplane-related work. I'm excited about it too.

for me it would also be good, like others have mentioned, if the module could load customisable microtunings. But I understand if this may be too complicated for the first batch.


As for bypassing running a laptop, that's the point: Performance would certainly be stand-alone, i.e., without a laptop. Just the Soundplane and your synth of choice, with only the The Soundplane-to-CV in between. It would have on-board non-volatile memory for your custom settings, and that could be easily loaded from a USB Memory Stick. SDHC card support would require dedicated hardware, increasing the cost and panel real estate, so it's doubtful that particular format would be supported.

As for bypassing running a modular synth, I'm not exactly sure that I follow. I assume you mean that you'd like to use a standard Analog synth, even if you don't already have a modular. There should be no issue with that, technologically, although there does need to be some sort of case, even if it's a small modular rack or just a metal box. We'll keep the options open as much as possible, within reason.

Are there any settings that you might need to change on the fly during a performance? Anything that a few customizable presets wouldn't cover? Keep the ideas coming!

Amazing! Thankyou. I cant wait to go straight to the old moogs with this puppy!
I cant foresee any changes I would make during performance; just a little knob tweakery at the synth and of course peoples perception of ALL THAT IS REAL. Hahaha. No?


Any new thoughts on this now that Virta has been released?

still a very exciting possibility.

Yes, we're moving forward on this now. I don't really have a guess on timing though.

@randy and @rsdio, have you guys decided if scala files and tuning support will be part of the design? This is the main reason I route OSC/CV data through a computer, and I wouldn't be able to drop the computer out of the chain without this.

I am definitely into the idea. There are some features you might like, and some features without which you don't have a product. This is one we would like. So I can't say absolutely yes at this early stage.

I actually really like the idea of Scala Tuning files used in Aalto and Kaivo. However as I use Eurorack myself so a few suggestions:

Number of Voices

Four voices make sense to me. It is true that big polyphony is usually not what you do with Eurorack, but in modules like Modular Instrument's Yarns you will also find 4 channels. What one could do is make a module that has 8 Jacks and you can either use them as: 2 channels with X, Y, Z and Gate OR as 4 Channels with just two Parameters OR even something nobdy has yet thought of.

Grid Layout

Instead of changing settings on the module via USB-Cable, just add a Micro SD Slot and write a software that creates certain setups on micro SD (Grid Layouts, Output Settings and so on). So a potential performer can just swap out Micro SDs instead of plugging the module back to the computer. For Firmeware updates or Calibration one could still use the USB connector the Soundplane uses.

Buttons and LEDs

I have a Mutable Instruments Tides with the alternative Firmware "Tides Parasite" installed. This firmware keeps all original functions as they are (hence the name) but adds a few more. It does this in a very clever way (look at the sections "Mode-switching interface" and "Quantizer"). I can imagine a similar interface with multicolored LEDs and maybe just 4 buttons to select at least 8 presets saved on the Micro SD. If somebody needs more just get another micro SD they are cheap.

Scala Tunings

Regarding Scala Tunings (I really love them) my idea might seem a bit radical: rather than packing this function into the Soundplane module itself (feature creep), I would make it an extra module which takes 4 times CV in and quantizes it to 4 outputs. Scala Tunings can be stored again on micro SD, and maybe there is a big Knob to select Tunings (or maybe even interpolate between them in a CV-controlled fashion).
This would have the effect that you could also use external CV sources to jam along with the Soundplane. It makes also more sense like that, because other than with Kavio and Aalto a eurorack module should integrate with other existing modules more seamlessly.

However it would not cost much to make this tunings also available on the Soundplane Eurorack Module via the preset editor.

Thanks for the suggestions! These have the right feel. We are definitely going to keep it simple.

A thought:

  • have you guys considered building a standalone unit rather than a eurorack-mountable module? CVPal works in the same way, can be both on the rack or off, doesn't matter. Since this would be more of a set-and-forget module that requires little user interaction, it could save some space to have it off the rack. CVPal

We talked about it. I think the rack version is the one to do first, if only because we don't have to worry about a case and power supply. And of course there's noting stopping anyone from making their own enclosures if they want.

I'll take a look at CV Pal for more ideas. thanks!

any news on this project?

Nothing to report.

Hello Randy,

Any news on the Soundplane-to-CV project eurorack module ?
It will be fantastic to use the soundplane directly on the eurorack system !


Hello all,

Yes, there is a bit of news... enough that I'll break it into two installments.

The first phase was research and proof of concept.

The Soundplane poses a bit of a challenge because it requires isochronous USB, and quite a bit more payload than some embedded processors can handle. The project got started with a Texas Instruments LaunchPad : the EK-TM4C1294XL. The chosen processor is an ARM Cortex M4, and it seems to have what is needed. There is floating point support and the ability to host the Soundplane.

You'll see in the photo that an adaptor was needed from the tiny USB connector on the LaunchPad to a USB A socket as needed by the Soundplane. A quick bit of development in Code Composer Studio resulted in firmware that can power up and communicate with the Soundplane, and it doesn't seem to be dropping any packets. In addition, crude touch detection seems to indicate that there are no lost packets, so full bandwidth is working.

You'll also see a tiny SMD capacitor soldered to the through-hole expansion pads. This was necessary to handle the current draw of the Soundplane at 230 mA, which is almost half the limit of USB.


After the first phase, significant time was spent designing custom hardware for a modular environment with precision D/A for CV outputs.

Stay tuned for the second phase.

This is great news. Thank you for sharing.

my experience with the BBB/Bela (A9 1Ghz running Xenomai) was it was the higher level TT code that ate all the cpu, it coped fine on the lower level stuff and 'crude detection' layer, but struggles with the full tracker. (the rPI2, now its kernel is fixed, runs fine, but thats got 4 cores)

I look forward to hearing how you get on, improved efficiency in the TT will help us all :)

will the firmware be open sourced?
it seems in many ways, we are going in a similar direction...

The TT code has been open source all along for the purpose of maximizing compatibility with as many platforms as possible. Randy is currently working on optimizations for that code which should help, as you say.

The BBB/Bela Cortex-A9 seems to be geared towards a higher-level Linux system with higher latency, while offering easier application development due to the well-known platform. This Cortex-M4 platform will not be based on Linux, and so the latency should be as low as possible for hardware - unfortunately, low-level firmware is a bit more difficult to master although the performance makes it worth the effort.