randy's Recent Posts

This is fixed and I replaced Aalto and Kaivo with version 1.9.4. (Virta has no sequencer)

It does look like seq glide got broken somehow! I'll put out a fix ASAP.

If the graphics issues persist after a restart, please send me all your system info and a video if possible.

If you need the previous installer you can still find it at http://madronalabs.com/media/aalto/Aalto1.9.2.pkg

hmm. beta testers have reported a big improvement. can you please look in the upper right and make sure 1.9.3 really got installed? (no offense meant, but this happens)

and if 1.9.3 is running, please send me more details about your system via email. Thanks for your help.

Hi and welcome.

I haven't seen any spring models in open tools like the STK. One reason might be that it's a lot more art than science at this point. Making spring sounds from a physical model based on the actual geometry and material properties of a metal spring is possible, but requires a lot of computation, too much to do in real time. Very roughly, it's in "devote a whole GPU to it" territory.

Any software spring models running in real time now are black-box models, in the sense that they make a springy sounding signal but are not based on an actual spring's geometry. Rather, a phenomenological approach is taken, where DSP blocks that we can run in real time are combined to produce a system that sounds spring-like. To mimic the way the sound scatters, allpass filters are used. These have the effect of making high frequencies travel faster than low ones (or vice versa) and when lots of them are combined in a feedback loop, the characteristic "dewp" of a spring results. Kind of.

If you look for the sounds people have generated from this kind of model in open research (search "Parametric Spring Reverberation Effect" for one starting point) generally they are not very convincing. Yet some of the spring reverb products, from Universal Audio for example, do sound very good. With this stuff that's more art than science, makers are understandably less motivated to share their work.

To make Kaivo's springs I used a bunch of very short allpass filters in a feedback loop—essentially modifying the string model to make it more like a spring. If you were to take a tunable Karplus-Strong spring, add 20–50 allpass filters in the feedback loop, and tune the parameters for maximum dispersion, you would have a good starting point.

Sorry for the delay—I've been wrestling with issues on the Windows side. Meanwhile you can download the Mac installer at http://madronalabs.com/media/kaivo/Kaivo1.9.3.pkg

I've got an update planned soon. I'll see if I can make this happen.

If you don't remove the instance, just close the window and open it again, it does remember its size, yes? This doesn't change the default size though.

Say you have made two instances of Aalto you are using at different sizes. For me it would be annoying—or at least confusing—for the last size I messed with to automatically become the default.

You're not alone though: have heard from other people who want it to work the same way you do. I plan to add a default size setting somewhere in a future update.

Oh my mistake, ~/Library/Application Support/Madrona Labs/Soundplane. Glad to hear it!

Five years ago, I did a small run of Aalto T-shirts. It was fun making them but with all the printing and shipping and paperwork it took up roughly a couple of weeks of my time so I've never done it again... until now!

aalto shirt

The key was finding a US-based fulfillment company called Printful that prints shirts to order. I made a test shirt using their process and I've been wearing it a lot. The charcoal tri-blend fabric is very soft and has a nicely textured look. This detail photo shows it after being machine washed four times, and the colors haven't faded at all. I like that the digital print is not crackly like plastic process shirt inks are and so far, it seems more durable. These are very nice shirts.

aalto shirt, detail

Another big benefit of using Printful is that they print to order in Europe! This means that my European customers can actually get a shirt for an affordable price. Wherever you are located, I hope it will be a pleasure to purchase through them because I'm very protective of your experience when you do anything Madrona Labs-related. So please keep me posted.

tl;dr: simply click the following button to...

Get that sweet Aalto T-shirt!

A form will pop up to enter your size, then a second page lets you select your shipping and payment options. I've set up shipping for North America and Europe. Shipping rates should be as follows: USA: $5 (first shirt) / $1 (each addl.) Canada: $8 / $1. Mexico: $10 / $1. Europe: $9 / $5. If you can't find your country on the form, give me a shout and I'll see if I can add it. Enjoy!

NOTE: The European shipping rates include the VAT of $4 per shirt.

Hi, it works on my Catalina machine. Can you describe what is not working?

As an all-purpose fix I would recommend to remove the ~/Library/Application Support/Soundplane directory and run the app again to redo the setup process.

I'm not sure what you mean "by folder" would do. Load samples from multiple files at once? I could see this being useful.

Almost there...

Thanks for writing. I am pretty certain I have a fix that will help. I'm wrapping up the Windows build now and some other details.

A place for Kaivo patches! Just select copy to clipboard from the patch menu, and paste here to share.

Thanks for your understanding!

aaaaggh, the week is running out and I'm still stuck on a couple of issues I need to fix. I'm sorry to overpromise—please know this is my top priority.

Thanks for the support. Sumu won't come out for Linux initially as I just have to ship it ASAP. But I would love to add Linux support along with Aalto v.2. Possibly Aaltoverb might make a nice first step into Linux even earlier, since it's simpler.

I've fixed this for the next update this week or next.

version 1.8.3
April 23, 2019
link: Soundplane 1.8.3.dmg, 6MB

release notes:

To install this version: move the "Soundplane" application to your Applications folder, then move the directory "ZonePresets" to ~/Music/Madrona Labs/Soundplane.

When you launch the Soundplane application, the menu at the top of the "Zones" page should contain three presets: chromatic, rows in fourths and rows in octaves, followed by a list of all the JSON files in the ZonePresets folder. If the JSON files do not appear, the ZonePresets directory is probably not in the right place.

The format of the zone .json files is human-readable and relatively self-explaining. Take a look to see how to make your own zone maps.

The Soundplane Max/MSP examples require the CNMAT Max externals to run. These can be found at http://cnmat.berkeley.edu/downloads .

The Soundplane application is open-source, available under a permissive license. For source code and more technical information see http://github.com/madronalabs.



  • fixed issue with excessive CPU use / repainting since 1.8.0


  • cmake build rewritten for compatibility with new madronalib and soundplanelib.
  • fixed graphics incompatibilities with OS X Mojave
  • fixed controller Zone outputs and reduced redundant data output


  • fixed possible crash starting for the first time with Kyma connected
  • "destination port" menu now allows connecting to other hosts on the local network
  • added wait on startup to resolve ports on other hosts
  • added clear all notes when switching OSC destinations and on shutdown
  • added test pattern mode
  • allow running app hidden / in background without added latency
  • fix redundant calibrate on startup
  • fix a stuck notes issue
  • add quick recovery after unplug / replug instrument


  • improved isochronous USB driver: lower latency, allows restart after pausing app
  • fixed an issue selecting cleanest carriers after "select carriers"
  • fixed possible crashes on startup/shutdown
  • now distributing as signed .dmg


  • new touch tracker algorithm:
    • consumes much less CPU
    • improved latency
    • improved pressure sensitivity
    • improved pressure uniformity
    • improved position accuracy
    • allows better tracking into corners
    • lengthy normalization step no longer required
    • fixed hanging touches
  • fix Kyma connection
  • improve selection of lowest-noise carrier set
  • fix a possible crash when switching zone presets
  • fixed a window-related crash on shutdown
  • fixed latency issue when in background for an extended time


  • fixed a problem with MIDI output preventing slide between rows
  • tweaked pre-touch filtering for lower noise
  • (dev) new cmake-based build system
  • (dev) experimental Linux build
  • (dev) added HelloSoundplane command line app for low-level testing


  • MPE MIDI support. Requires Aalto 1.7 / Kaivo 1.2.
  • Implemented note splits to multiple ports over OSC.
  • Improved stability and sensitivity of MIDI velocity
  • changed "z max" control to more intuitive "z scale."
  • fix crash with uninitialized driver on shutdown
  • allow 1-500Hz MIDI data rate
  • fix bug where pressure wasn't getting set w/o a MIDI connection
  • send quantized pitch bend on MIDI note off
  • fix touch tracker issues including zone-switch bug
  • fix to allow MIDI note 0
  • fix for double note off problem
  • fixes for MIDI glissando


  • [] Fixed a crash on startup if no preferences folder was present.
  • Kyma listener off by default to fix collisions on port 3124. Use 'kyma' toggle on Expert page to turn on.
  • fixed automatic connection to selected OSC service on startup.
  • restored some values from 1.1.2 to improve touch tracking.
  • add automatic saving of window dimensions. This is saved in /Application Support/SoundplaneViewState.txt.
  • fixed a problem resolving OSC services
  • fixed wrong MIDI note offsets in default Zone setups


  • rendering fixes for Retina display
  • make touches easier to get into top and bottom rows
  • code signing application
  • turned Kyma polling over MIDI OFF by default
  • fixed some state issues on startup that required reselecting zone to refresh
  • clamp zone outputs to [0, 1] as documented
  • fix touch rotate bug
  • fix OSC browser
  • made normalizing easier and mre accurate
  • sending out x, y, and z from zones via MIDI.


  • more complete fix to the note-off problem
  • restored the note lock feature for new zones.
  • fixed an odd font-related bug


  • PLEASE NOTE: moved support files to ~/Music/Madrona Labs.
  • fixed a problem where the wrong note value was sent on note-off
  • fixed a potential crash sending MIDI if a MIDI device was not set
  • made benign errors less alarming


  • two new kinds of zones: z (pressure only) and a toggle switch.
  • fixed an error where inactive touches were continuously sending their data
  • shortened some JSON zone names (just remove "controller_" to fix your presets)
  • updated Max/MSP examples
  • moved matrix message into t3d OSC bundle with touches
  • restored some debug printing in the in-app console
  • added error info for JSON parsing
  • fixed possible bug with zone parsing
  • clarified the T3D format in docs
  • fixed an error reading calibration files
  • fix view issues for Retina display

-new Zone features allow mapping notes and controllers to key grid
-changed t3d format for wider OSC compatibility
-OpenGL accelerated graphics
-fixed graphics for Retina display
-fixed a bug where SoundplaneController was initialized twice
-fixed OpenGL errors on quit
-fixed a possible crash in adjustPeak()
-fixed note release when quantized
-new raw matrix output

Sumu is going to be a while still. I'll be releasing an update to the other instruments first to address this and a few other issues.

I might put out another call but I'm focusing on getting something out to test—please stay tuned.

Thanks for the update.

Dear music makers,

In appreciation for your support, Madrona Labs is having a summer sale this year. Use the code PARTICLES on any of the product pages to get 30% off any Madrona Labs plugin. From now through the end of August.

I haven't used Max on Windows so hopefully someone who uses this combo can chime in. That looks like a good place for the VST but I'm not sure if it's the right one. You might find more info on the Cycling '74 forums and in the vst~ example patch and reference.

Yes it will! Resynthesis with a very modular approach in between analysis and playback, so that the information of "what are all the partial volumes" for example can be patches to other things as well.

Hi friends,

It's tough times. We hope you and your families are in good health. We know you know what's going on, and you have probably heard a lot of takes on it from a lot of companies so we're going to keep this to the point.

Just over a week ago, Minneapolis police killed George Floyd, the latest in a long history of unjust Black deaths at the hands of law enforcement. Since then, the outcry has been ringing out in protests all across our country. The violent suppression of these protests by police has resulted in more injuries and deaths. We stand in solidarity with the protesters and with the Black community.

How can a music software company contribute positively and constructively in this moment? For us, the answer is: by sending funds to those doing front line work. We're writing to ask for your support.

The Black Youth Project is an organization that both provides emergency funds to Black community members in need, and invests long-term in the future of Black leadership. They have chapters in many U.S. cities including Atlanta, Chicago, Dallas, DC and Detroit. From their website: "Our work is generally centered on ending systems of anti-Blackness and emphasizing the urgency of protecting folks living on the margins of the margins, including women, girls, femmes, and the gamut of LGBTQ folk." To find out more, please visit https://www.byp100.org/about.

From now until the end of Friday, June 5 (Pacific Time) we'll be donating 100% of our sales to BYP100. As a family business, our pockets are not deep enough for an impressive direct donation right now, but this way we can leverage the software we've made to direct some funds where they are sorely needed. We hope you'll help.

We and some folks we know have been contributing individually to community bail funds around the country and that is another way to help right now. If you are interested in contributing to these efforts, here’s a link to donate to many community bail funds at one time: https://secure.actblue.com/donate/bail_funds_george_floyd

There will be a time soon to get back to music, which is more important to us than ever as a force for change, as meaning and community and connection. But this week is not that time. If it were not for the inspiration of great Black music, Madrona Labs would not exist. We owe the Black community our help.

with all best wishes,
Randy Jones
Madrona Labs

photo: Nathalie Graham

I remember that option and it's a promising idea. Thanks for writing.

Thanks for making the video. Of course I see the problem. Unfortunately it's totally baffling right now. I have basically the same setup on Mojave, on a less powerful Macbook Pro, and it works totally smoothly.

Also unfortunately, there's no crash log to look at so I have no obvious point of failure.

A way I often stress-test CPU use is to turn the process buffer size down in the DAW to 16 or so. This usually generates clicks, but even so, the GUI stays smooth when I do it. So I don't think this is overall CPU related.

The only way forward I can see is to make some experimental version of the plugin that tries leaving out or changing parts of the graphics code so we can narrow this down. I'll send you an email when I have something.

I am sorry to hear about the frustration you've been putting up with to use Aalto. I'll work here to fix the issue.

Frankly I haven't put any significant time in on this problem so far. That's because it's been reported to me a handful of times over the years, but I can never reproduce it here, and meanwhile I usually hear "it's sorted itself out" or stop hearing from the user. In the latter case, has it been fixed? I don't know.

My best educated guess, currently, is that this is a bug that manifests semi-randomly, due to disk access or CPU use. I'm also guessing that your system is somehow running into it much more commonly than most. That's good in a way, because it means you should be able to know whether a fix is working pretty quickly. If you are willing to stay in touch and try some beta fixes, I will stay on this issue until it's fixed. I can send you a version that prints diagnostics while it's looking for the license file.

Please send all the versions of software you are currently running—hopefully I can get the same Reaper version and test with that on Windows 10. You can either post here or send me an email. Also if you have any sort of utilities you can think of that might affect disk access (drive encryption, for example) let me know.

Thanks for the additional info Erik—it's weird how I still can't duplicate this, even though the setup I'm often using is so very similar—Mojave, MBP.

When you get a chance, if you are willing to, please give the latest Logic Pro a try and let me know if anything changes. Meanwhile I'll puzzle over the code.