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'm still of the mindset that keeping the feature set to a minimum is the way to go, for practical, musical and aesthetic reasons. I'm also in the no display camp – I think it's easy enough to represent information about zone maps or presets with only knobs, and I'm not sure that endless encoders and OLED displays really adds that much value to the module.
As far as width goes, obviously as small as possible without being cramped or difficult to navigate. Something in the neighbourhood of 16-20hp as a maximum seems reasonable to me...
Thanks for the additional input, Chris. Perhaps I was thinking too minimal - where zone maps and presets are created on a computer before a performance, downloaded into the module, and then the module could only call up presets without the ability to edit them.
I like knobs for controlling analog signals, but encoders seem better for editing discrete values such as zone boundaries. Considering the totally freeform options for zone mapping on the Soundplane, I can't actually envision a knob-based editing interface that would work. Some of the example zones have 23 regions, with multiple parameters each for extents, scaling, etc. I can't see knobs for those fitting into a module. But if someone were to draw a mock-up, I'd certainly take a look with an open mind.
Let's assume for the moment that presets and zones are neither edited nor displayed on the module's front panel. What other aspects of the operations would need to be visualized? We've discussed LED indication for each Gate, and some way to know which preset is active, but what else is really needed for performance? I think a few brave souls have put together a system with Soundplane and MIDI/CV converters who might be able to give feedback on what sort of real-time control is needed for performance. I'm hoping to get this discussion going again, now that I'm actually creating schematics and PCB layouts.
MIDI will certainly be supported, although it may not be part of the base configuration. It's just so easy to support MIDI in terms of both interface hardware and programming. I love MIDI, and the first public demonstrations of the Soundplane used MIDI, but there's no way we'd drop the ball and miss out on the opportunity to have a tightly-coupled CV output that's higher resolution than MIDI. Therefore, the primary focus will be on the CV outputs.
"zone maps and presets are created on a computer before a performance, downloaded into the module, and then the module could only call up presets without the ability to edit them"
That's exactly what I was imagining, I just wasn't able to express it properly. I personally don't feel that that is too minimal. The ability to just switch between between presets or zone maps on the module is more than enough in my opinion.
Feedback from people who have already experimented with Soundplane and CV/MIDI would be great, I agree. When I try to imagine use cases for the module I feel as though LED feedback for the gates would be sufficient, but obviously there may be some out there with experience who would say otherwise. That kind of input could only help.
Focusing on tightly coupled CV with the addition of MIDI support sounds great.
Thanks, Chris. I see now. Maybe a rotary switch or a couple of toggles. A quick thought is that one toggle switch could select between canned zone maps versus custom, and a second toggle switch could select between an A versus B option of each. If there are more than two custom presents, maybe a button with LED indication of the present number.
I would like to ask folks: Do you need just a couple of presets? Four? More? I mentioned the classic 7-segment LED array, but that idea was not popular (seen as too retro). Another minimal option might be two to four LEDs that could indicate the preset number without going to a full display.
I'm floating wild ideas now while waiting for more input from users. I've started design of the CV board, so the main board won't be started for a bit. The main board is where preset selection and other UI would live.
It might be OK to have lights indicating the active zone map, if there were only four possibilities or fewer. Any more and I want to read the name! The current selections of chromatic, rows in fourths, rows in octaves seem to be sufficient for most people's needs, so for the simplest possible release we could just include these three.
The Soundplane is really an instrument first and foremost, one you can play and not look at, in contrast to most other controllers out there. So let's not waste too much time making it a controller when it's probably more elegant for people to just put a box of sliders next to it if they want sliders.
I think it's OK if we require an external device of some kind (tablet, phone, or computer) to switch maps.
So I guess I'm maybe gradually coming around to "no display".
no display sounds good to me, i really don't think i would need a display to see where i am with presets or other functions. lights for active zone map eg preset is good, light for gate out and some kind of indication of the pressure out, yellow to red led or something, that's the thing i miss on my doepfer ribbon controller module, you can set the strenght of pressure out but if i could see it as changing color that would be great! happy to hear that this is going forward!
Great, thanks for the feedback. I think Brian and I are converging on an initial design. This won't be out real soon, but we are definitely moving forward.
Regarding size I'd vote for 10hp for the base unit. If a significant number of additional features demanding more space are envisioned the idea of an expansion module mentioned previously sounds attractive.
My main argument for a compact base module would be to better enable one to pair the soundplane with a small (but capable) system which is easily portable (say 104hp or smaller). Having both a large (immobile) MOTM system and a small eurorack system I'm struck by how wonderful it would be to be able to take the soundplane + small euro system the same places that I would take the soundplane + laptop today.
I think the computer-transfered presets choice is definitely the way to go:
- it's clean (no need for a display: a set of LEDs can show what preset is selected... multiple color LEDs or other smarter solutions can make this even cheaper and more space friendly)
- it avoids the pain of having to edit zone maps and what else on a tiny module
- it's cheaper (again, no need for a display or more than one encoder)
- being that it would make for a much simpler module, it can save a lot of space
if no display or added encoders are necessary, I'd love to see it contained in a 8-10hp module, maybe with an expansion header in case more zones are required.
Using a binary led display you could use 2 LEDs to display your 4 modes this may not be too useful unless you have quite a few modes you want included
Although over time I've gotten used to binary displays so I don't know how helpful or readable they are to others
This module sounds awesome
just another idea I'm gonna throw out there:
I have a CVPal ( http://mutable-instruments.net/modules/cvpal ) which I use to control my Eurorack via my computer. It is a USB MIDI to CV converter.
The CVPal has 2 CV outs and 2 gate outs, giving you several different control modes, each accessed depending from the MIDI channel you are transmitting to: ch1 is mono with velocity, ch3 and 4 are duophonic, etc...
Since the CVPal is recognized by the computer as a MIDI device, you can simply select it from your DAW, send MIDI to it, and it will jus work.
Since we are talking about the Soundplane module having USB and supporting MIDI... would it be a whole other project to have it integrating with the computer the same way the CVPal does?
For example, from my Maschine Studio hardware I can simply select the output as the CVPal and start sequencing my Eurorack from there... it would be incredibly cool if the same could be applied to the Soundplane module and, from the bottom of my ignorance, it doesn't seem like a hard thing to implement.
I guess it would just be a matter of figuring out which CC to assign to which output.
Am I completely wrong?
The main purpose of the Soundplane CV module is to enable Soundplane -> modular connection without a computer around. So aside from using it to load zone maps I would really resist any feature creep in that direction. For release, anyway.
This module will be a USB Host so that it can communicate with the Soundplane (a USB Device). The USB-MIDI features you're discussing are USB Device features. Believe it or not, 95% of the chips out there can only do one at a time, so it's either Host or Device, but not both. Another factor is that you need one kind of connector to be a Host, and another to be a Device. The only universal USB connector is OTG (On The Go), which is the tiny connector found on cell phones. It (OTG) seems like a horrible interface to put on a module, so that pretty much rules out USB-MIDI features. I think there are plenty of options in that area anyway, so please continue to have fun with your CVPal! I see the Soundplane as something parallel to that, rather than a replacement.
Early mockups based on actual board layouts look like 6HP might fit, but that might be tight. I'm fairly certain that 8HP will work. This is for a minimum of 2 touchs, which is 8 CV outputs, grouped as Gate with X, Y, and Z. Thanks for chiming in, ngwese and others.
Will you have an expansion board (or something) to allow for more touches, I'd like 4 :)
Also, yarns has a mode that allows you to choose how to distribute the cv outputs, eg you can choose to have 2 outputs with G/P/V/CC (=8 outputs) or 4 with just G/P
Btw on virtual modulars I rarely use gate with the SP, I just use Z, and can derive a gate from it.
if you do this, then 9 cv could give you 3 voices?
( but perhaps gate is more necessary on a real modular ?)
Note in practice I tend to use z as an envelope, so gate is a mute point.
gate out is really helpful on a real modular, or a trigger but one could always use a comparator to get gates out of the z output. like technobear wrote above, if this means that we only get 2 touches i would rather ditch the gate out for the possibility to have more touches...
There will be expansion for more touches. If you're willing to spend extra, then at least ten full touches will be possible (40 CV outputs), probably in sets of two touches each. I doubt that it makes sense to go beyond that.
Some form of configuration for the outputs will be possible (range, precision), but the minimal interface may require some or all voltage configuration to be done on a computer and then stored in the module for regular use. Presets will be available so that you're not stuck with just one setup when you don't have a computer around.
I'm fairly certain that Gate or Trigger or Velocity Gate will be possible in firmware for those who need different things. That way, you won't need to derive a gate or use a comparator unless you really want extra outputs without buying another expander.
Cool - will start building my modular once you start taking pre-orders :)
Voices - I guess most won't have high poly count ( I can't afford it) so think some of the extra touches will be more about zones. Eg 4 voices + a couple of sliders / x/y grids - the later of course could use less cv outputs ( eg a vertical slider only needs y) .
Due to this, i think it would make sense for this info to be in the zones presets - so setup on a computer.
I like the idea of alway having a default preset available, in case you haven't loaded one etc.
Will the firmware be open sourced? of course "voids warranty" as you may need jtag to unbrick. ( works for mutable )
I'm curious: How many open source products actually have compelling features available from a third party? Can you list them? I'd like to get a sense of the community's skill set.
personally.... (and hence why I asked, as I'm interested!)
I have contributed quite alot to the Eigenharps software (EigenD), created about 5 agents ... including ones that integrate with Madrona Labs software (t3d/soundplane), and recently added MPE support, and got the Eigenharps working on a Raspberry PI2 !
I'm actively contributing to Axoloti , added MPE support, and also USB midi output capablities (and have contributions 'in the works' ), its also getting me used to micro-controller coding :) (STM32F4)
and contributed a little bit here too (for the soundplane)
... and I've got more ideas, ask Randy :)
from others... on the modular side... the most obvious are new firmware (extensions) for mutable instruments... 'bees in the trees' and 'parasites' (and sheep?)
then there is the OWL pedal, which has a bit of a following.
probably are more, but those are the ones i know of... (but the 'makers' community is full of projects)
on the software side, Reaktor user library is kind of 'open source' code... and its absolutely huge :) (also Max projects)
(whilst not strictly open source contributions to the original product... they do extend the original product, are free/open, and end-users download them)
don't get me wrong, open source, is not 'easy', if your lucky you will get a few dedicated followers/contributors who can 'help out' or add features for the community, how many depends on interested parties with the correct skill set.
also interestingly for you (ML) open source, potentially opens the door for 'bending', your module if its keenly priced, some buyers might 'bend' it to other needs, i.e. just using the hardware but for a different purpose (e.g. they might create a midi to cv firmware for it), thus increasing your market.
(there are quite a few circuit bending examples out there... or the classic 'robot hoover' story)
The computer-based configuration side of this modular system could be open source, just like for the Soundplane.
"computer-based configuration side " cool - but without access to the firmware, there is not much someone could do to extend the functionality of the module?
Id guess its unlikely the firmware will have features, that are not already exposed in some way by the configuration software.... the only thing, that would allow is probably porting to a different platform ... but you could write it cross platform to start with - no?
I think the posts here, show that there are quite alot of ideas, about what the module could do (even within hardware limits)... some of these could be 'niche' and not work ML pursuing, also microprocessor boards are limited in resources, so even if you could add all features, its possible the board would not have the cpu/memory to do so.
no big deal either way... I'm sure you will do a great job, it was more a question, and something I don't really see a downside too...
There's certainly no downside to questions!
thanks for the explanation, rsdio, that clears up a lot of stuff for a total ignorant like me.
excited to read you are moving on with sketches for the module!
On a different topic, I was thinking about a name for the module again today and thought it might be nice if it was in keeping with the Finnish/water theme of Aalto and Kaivo.
The only word I know that fits is Pato, for dam. Any Finnish speakers on here that have any suggestions?
Based on my experience with a continuum + CVC I've found gate/trigger out along with Z to be very useful. For any kind of plucked sound I tend to patch gate/trigger to a fast envelope and then mix that with Z such that I get a sharper attack followed by continuous control over sustain. Further feeding the result through a slew/lag produces nice results.
Using a comparator on Z to derive gate is certainly possible at the cost needing additional modules to derive a control value which would be readily available to this soundplane interface.
Regarding the importance of open firmware. For myself the desirability of open firmware is not simply the promise of alternative features, it's also the ability to fix bugs if/when I encounter them. While I haven't contributed any public feature enhancements (yet) I have offered up a fix to maintain last known pitch on touch release in the SP client. Just the other day contributed fixes to a nested interrupt masking problem along with finding some resource management bugs which have been causing the monome aleph to lockup. Given the ultimately limited production run of the aleph, its longevity and feature set is almost entirely a function of its user base for the foreseeable future.
Thank you for the details of your patches, ngwese. This seems similar to what I needed to do with the Matrix-12 to open up the envelope. Oberheim allows multiple CV sources to be mixed in the VCA input.
If you care to describe how you use slew and/or lag, that might be helpful.