hardware and software for electronic music 

randy's Recent Posts

Wed, Mar 29, 2017, 07:59

It makes sense that a "Madrona host" would have Soundplane input.

For something very minimal, savihost is a pretty cool idea.

Ableton Link looks interesting for syncing with other apps.

Fri, Feb 13, 2015, 14:32

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…

Tue, Mar 28, 2017, 17:00

I have been thinking about a very simple host with an audio recorder. doing it that way keeps the number of versions of things I have to build lower, which lets me make more things.

Thu, Dec 02, 2010, 09:35

STICKY: Aalto Patch Thread!

I'm going to make this thread sticky. It should be a good place to find and share Aalto patches. I'll try to post one every day or two for a while.

It would be cool if we could embed Soundcloud links here, but setting that up will take some time.

Tue, Mar 14, 2017, 14:28

Hooray, it’s a spring all-plugins update!

All of our instrument plugins, (that's Aalto, Kaivo and Virta, for those of you listening at home) have received essential updates. Please download and enjoy.

If for some reason you skipped the previous release or two, note that back in December I rolled out a new registration system. Instead of the old "My downloads," there is now a "My licenses" link where you can get the license keys for all your purchased plugins. Just paste the key into the demo plugin to register it. If you have any questions, I'll be here.

My work the past two months has been on platform compatibility, bug fixes and optimization. The stuck notes in certain hosts including Reaper are no more. Audio glitches that popped up sometimes in Kaivo have been put to rest, I think. CPU use should be around 20% less across the board.

I'm particularly excited about the CPU improvement this time, because there's more on the way. The gains this time came from rewriting parts of madronalib, my DSP library, but the plugins haven't been completely converted to use the new code. When I can do that, there should be another big boost in efficiency.

First, though, the Soundplane app needs some much-awaited love, and I have a shop to put together so I can prototype instruments here again. Stay tuned for gripping wood shop action. Stepper motors! Sawdust!

Mon, Mar 27, 2017, 08:59

Hi and welcome aboard! Thanks for the nice feedback.

Thu, Mar 23, 2017, 11:41

Safe travels!

Mon, Mar 20, 2017, 08:48

Hi Michael. Thanks for the report—I'm sorry you're having trouble. Can you send me the patch you are using? You can just choose "Copy to clipboard" from the main menu then email it to support at madronalabs.

I'm surprised to hear that freezing has become worse for you. I tested here any couldn't get any freezes with these versions. But maybe there's something that instigates the freeze that I was not doing. I would love to fix this once and for all.

Fri, Mar 17, 2017, 12:08

Not a great forum for general DIY

I see a few requests for help about electronic circuits. That's fine but this probably is not the best place to get an answer! I started this section more to answer questions about the Soundplane theory and help people making a homebrew version. I'm not that skilled at electronic design myself, in general.

Here are a couple of online forums where people seem willing to respond to newbie questions:

Thu, Feb 23, 2017, 13:40

1.8.2 / 1.3.2 betas for Mac OS

Here are links to the Mac beta versions of everything. These should fix the major outstanding bugs and improve performance significantly. Fixes include:

  • fixed dial display updates when changing number of voices
  • fixed hanging notes problem with some hosts including FL Studio, Reaper
  • fixed an issue with dial quantizing
  • fixed a problem that could cause Kaivo audio to freeze

CPU use for Aalto and Kaivo should be reduced by around 20%.

Please see the readme files in the installers for more info.

Windows versions and a release will be coming early next week, hopefully.




Thu, Mar 16, 2017, 11:04

Oops! Will do a quick fix release soon.

Mon, Mar 13, 2017, 11:40

Also any thoughts on the quantisation issue posted above ?

It's clearly a bit out of whack, and something I will look at after this version is out. I've noticed that certain scales are not loading correctly, so a review of all scales / tunings / pitch related code is probably in order.

Mon, Mar 13, 2017, 06:54

I see! I can reproduce this. I never tried it before because I never load Virta as an instrument. Out of all the DAWs I have, it looks like Logic alone presents Virta as a software instrument. I'm not sure why it does this. Virta is intended to be used as a MIDI-controlled audio effect. I'll see if I can stop it from showing up as a software instrument in Logic.

Sat, Mar 11, 2017, 09:17

Here's how I tested your issue:

  • open Logic
  • add a new mono track with an "ES M" (track will be mono)
  • add Virta in the Audio FX slot (track will turn to stereo)

now Virta takes the mono input and generates stereo output. It also works with a stereo synth as before.

Can you confirm you see version 1.3.2b5 at upper right? If so please give me detailed info of how I can reproduce your issue.

Fri, Mar 10, 2017, 21:01

One hopes, please try it.

Fri, Mar 10, 2017, 16:04

OK, these should be the final betas. I'm planning to release on Monday.

I fixed an issue with the mono->stereo processing and channels for Virta. Hopefully this works better for people who were having trouble using mono synths.



Thu, Mar 09, 2017, 16:23

That doesn't sound familiar. MPE has something similar but I'm not sure if they use the same control #.

Fri, Jul 31, 2015, 10:24

KEY outputs by protocol


All Madrona Labs synths can receive notes and control information over one of three protocols: MIDI, MPE, and OSC.

MIDI stands for Musical Instrument Digital Interface, it's been around since 1983, most synths understand it and you are probably familiar with it.

MPE, which stands for Multidimensional Polyphonic Expression, is a more recent way of using MIDI to enable new controllers like the Linnstrument, Continuum and Soundplane. The short story with MPE is, each note gets its own channel. There are a lot of details to enable this to perform well---see the MPE specification (currently at expressiveness.org) if you are interested in them.

OSC stands for Open Sound Control. It's a very cleverly designed protocol that takes advantage of what modern computers and ubiquitous networking hardware can do to provide high-resolution, jitter-free connections. The newest protocol of the bunch, not as many synths and controllers understand it as MIDI, but it has a bright future ahead of it. For more info, see http://opensoundcontrol.org.

KEY module signals by protocol

Selecting different protocols in the setting (gear) menu of Madrona Labs instruments causes different kinds of incoming information to be turned into signals and sent out of the KEY module. Here is a table of what
information each protocol sends.

        out1    out2    out3    out4    out5    out6    out7    out8    

        ------- ------ ---------------------------------------------------

MIDI    pitch   gate    vel     vox     after   modcc   modcc+1 modcc+2

MPE     pitch   gate    vel     vox     after   modcc   cc73    cc74

OSC     pitch   gate    vel     vox     z       dy      x       y

pitch: The pitch of the played note, on our familiar 1.0 / octave scale.

gate: High while the key is held down, low otherwise. Kaivo only.

vel: This signal represents the velocity of each note. It goes to a new value when the note starts, then stays at that value, even after the note is released. Very useful for controlling sounds that may ring out after the key is released.

vox: Which voice of the synthesizer is playing. Voices have values 0.0, 1.0, 2.0...

after: MIDI aftertouch. In MIDI mode, channel pressure and poly key pressure (aftertouch) are added to make this signal. In MPE mode, only channel pressure is used. Using poly key pressure, each note can have its own envelope played live, even with all notes on the same MIDI channel.

modcc: The MIDI continuous controller with the number selected in the KEY interface.

modcc+1: The MIDI continuous controller with the number selected in the KEY interface plus one.

modcc+2: The MIDI continuous controller with the number selected in the KEY interface plus two.

cc73, cc74: Continuous controllers 73, 74. From the Soundplane app these are how x and y are sent over MIDI. 74 is the standard per-note expression control in the MPE specification.

z: Per-note pressure from the Soundplane or any t3d touch messages.

dy: Change in y for each touch. This control is 0 at the start of each touch, then changes as the touch moves up or down. Calculated from y in the t3d messages.

x, y: The x and y positions for each touch. The behavior of these signals may be configurable through the app or instrument sending t3d data. For example, x and y may range over the entire playing surface, or over each note, be unipolar or bipolar.


In MIDI mode without MPE, all the touches will be on the same channel, so touches cannot send pitch bend or other controllers independently. In this case the most recently played touch is used to control the pitch or controller value of all held touches.

Ableton Live, unfortunately, has a simplified approach to MIDI in which all MIDI notes play on the same channel internally. As far as Aalto or other synths can see, all MIDI notes sent to them from Ableton Live are on channel 1. So it is currently impossible to implement MPE mode in Live. Soundplane players who want to use Live can choose between MIDI without MPE (no independent pitch or controllers, but recordable) or OSC (great individual control, but not recordable).

In addition, Ableton does not pay attention to the Poly Key Pressure (Poly Aftertouch) part of the MIDI specification. So in single-channel MIDI mode, there is no control possible over invididual notes.

Wed, Mar 08, 2017, 09:27

A lot of presets i had which were functional in the last release are no longer functional . these exploited the previous behaviour whilst rate was 0.00

This was pointed out here and fixed.

I also note that when changing between presets which both share a Rate of 1.0, the rate dial will momentarily jump up to 220 for a split second then revert to 1.0, it is interrupting audio

That's new to me, I'll investigate.

Wed, Mar 08, 2017, 09:26

One other comment, i'm curious, has anything changed with regards to the output of the sound engine in a manner which might affect the tone, something isn't quite right with my presets, i can't quite put my finger on it ..

It's possible that the sound has changed very subtly. My intention was not to change the sound, however many things have been rewritten. When I make changes to the audio engine I listen to a series of reference patches I know very well. If these sound as they should, then all is well.

If you have a patch that sounds different enough between versions as to constitute a bug, you are welcome to send it to me for listening.

Tue, Mar 07, 2017, 14:23

Thanks for the comments. I could not reproduce the issue with 0 giving any change or +12 not being an octave.

Are you sure you have your attenuverter set to 1.0? Try double-clicking it to restore the default.

Do you have glide on? If so, the output value will always be a linear combination of two adjoining sliders based on the current time value. So if you are doing testing like this you have to make sure glide is off, even when the rate is 0.

I tried all the quantize ranges, and I did find some oddness with |range|

Tue, Mar 07, 2017, 08:55

Out of all of these, Reaper is the one I have tested with and, I think, that the most people use. So that may be a plus. Not to say the others won't work and maybe provide some advantages.

Reaper does have a down side in that the graphical handling of plugins is not the smoothest. But that's improving and I've always found its audio engine to be top notch, it's an excellent value.

I would check the Live intro as well.

Traction has a sort of simplified approach to a DAW that you may find very usable.

On Audacity: I don't know why it would sound "thin." Basically any program capable of recording should be getting the same bits from your interface to the hard drive. I would look at your interface setup to see if there's some big incompatibility, or, failing that, use a spectrum analyzer plugin to try to quantify the difference.

Mon, Mar 06, 2017, 09:59

That's great to hear. New betas for Windows coming very soon, I think.

Mon, May 13, 2013, 13:45

Aalto T-shirts!

Just in time for summer, Aalto T-shirts are now in stock! Oft-requested and long-awaited, these shirts are the first physical artifacts besides the Soundplane to come out of the Labs. They start out soft, will wear in gracefully and are likely to give you super patching powers.

We asked our good friend David Chandler to tidy up his Aalto manual cover for a larger reproduction size, and printed it in a subtle aqua gradient on American Apparel’s Sustainable Edition organic cotton shirts in Galaxy Blue. Nerdy yet surfy!

We are selling these nice shirts for $20. Shipping is by US First Class Mail, for $4 within the USA and $16 internationally. PayPal will add these costs automatically when you enter your shipping adress.

Select a unisex size and click to buy:
SOLD OUT except for size small.

Mon, Mar 06, 2017, 09:58

I really want to. Need to find some reliable local help to do provisioning.

Fri, Mar 03, 2017, 12:25

I'm making progress here. To get some of these big speedups I moved the plugins onto my new madronalib framework sooner than I had planned to. (More on that soon.)

Unfortunately there was a big hurdle with this new and awesome code on the 32-bit Windows platform in particular. It's taken me some time to figure out a solution. I just compiled something that works on Win32, so I'm hopeful that I can get to these other reported issues and release soon.

Wed, Mar 01, 2017, 11:08

I think what the original poster is referring to may just be the oscillator drift. I can investigate more after this release.

Mon, May 13, 2013, 13:57

Hi Brendan,

Sorry, I don't do license transfers. I have a very unobtrusive demo version, and I advise people to try before they buy. Please see the License Terms section on the Aalto page for all the details.

[EDIT March 2017] NOTE: This conversation is from 2013! Currently license transfers are allowed for a small service fee. Please contact me for details.


Tue, Feb 28, 2017, 20:35

I'll send out a new Windows beta soon. Please stay tuned and give it a try.

Tue, Feb 28, 2017, 10:33

Thanks a lot! There is so much stuff rewritten for this update, we're bound to run into a few things. Will investigate.