randy's Recent Posts

Sumu is an additive instrument that I've had in the works for a long time. Now that it's nearing completion and heading towards a public beta soon I'm going to break with the way I normally do things and put some detailed info out ahead of its release.

Sumu preview

Sumu is another semi-modular instrument. It shares the general appearance of its patcher-in-the-center design with Aalto, Kaivo and Virta. As you can see, it's on the more complex end of the spectrum like Kaivo. Everything is visible at once and there are no tabs or menu pages to navigate, which suits the way I like to program a synthesizer tweaking a little something here, a little something there.

In the same way that Kaivo brought two different and compatible kinds of synthesis together, combining granular synthesis with physical modeling, Sumu combines advanced additive synthesis with FM synthesis.

What's most different about Sumu compared to my other synths is that the signals in the patcher are not just one channel of data, but 64—one for each partial in a sound! By keeping all these channels of data independent and still using the same patching interface, Sumu offers a very usable entry point into additive synthesis, and a range of musical possibilities that have only been approachable with high-end or academic tools or just coding everything yourself... until now.

Sumu oscillators

Each of Sumu's oscillators is the simplest possible kind of FM:a single carrier+modulator pair. And the modulator can produce a variable amount of noise, which like the modulation ratio and depth can be controlled individually per oscillator. In a single voice there are 64 such pairs. Obviously a lot of sounds are possible with this setup—in fact, with the right parameters varying appropriately we can reproduce any musical sound very faithfully with this kind of oscillator bank.

Sumu partials

There are a few ways of generating all of those control channels without the kind of painful per-partial editing that some of the first digital synths used. The first is the PARTIALS module up top, where you can see a diagram of all the 64 partials over time. This is like a sonogram style of diagram where x is time, y is pitch, and thickness of each like is amplitude. There is also an additional axis for noisiness at each partial.

A separate application will use the open-source Loris work by Kelly Fitz and Lippold Haken to analyze sounds and create partial maps.

Sumu envelopes

Another way of generating control data is with the ENVELOPES module. It’s a normal envelope generator more or less—except that it generates 64 separate envelopes, one for each partial. Generally you would trigger them all at the same time, but each does have its own trigger so they can be separate. Using the “hi scale” parameter the high envelopes will be quicker than the low ones, making a very natural kind of lowpass contour to the sound.

Sumu pulses

Finally on the top row there’s the PULSES module. This combines an LFO and a randomness generator into one module. The intensity and other parameters of the pulses can be different for every partial. So this makes modulations that can be focused on a certain frequency range, but you don’t have to mess around editing partials one by one. You could also, for example, use the pulses to trigger the envelopes all at different times.

The PULSES module was inspired by my walks in a small canyon near my house, and listening to the very finely detailed and spatially spread sounds of water running in a small creek. Each drop contributes something to the sounds and the interplay between the parts and the whole is endlessly intriguing. 

To make a water drop sound, two envelopes are needed at the same time: a rise in pitch and an exponential decay in amplitude. So PULSES lets you put out two such envelopes in sync. Then of course we generalize for a wider range of functions, so we can find out, what if the drops were quantized, or had different shapes over time? A voice turning into a running river is the kind of scene that additive synthesis can paint very sensitively. The PULSES module is designed to help create sounds like this. 

Sumu space

The SPACE module lets us position each partial in the sound independently. Coming back to the creek idea, we can hear that certain pitch ranges happen in certain locations around us due to the water speed and the resonances of different cavities. This all paints a lively acoustic scene. By positioning many little drops independently, while allowing some variation, we can approximate this kind of liveliness.

This module centers around two kinds of data, a set of positions for each partial known as home, and a vector field: a direction [x, y, z] defined at each point in a 3-dimensional space. There will be a set of both the home and the field patterns to choose from. By offering these choices, and a small set of parameters controlling the motion of the partials, such as speed, the homing tendency, and the strength of the vector field, we can quickly create a wide variety of different sonic spaces without the tedium of editing each partial independently. 

The RESONATORS module is very simple and inspired by the section of the Polymoog synthesizer with the same name. It’s simply three state-variable filters in parallel, with limited bandwidth and a bit of distortion for that “warm” sound. In Sumu, a synth we could otherwise describe as “very digital,” it’s nice to have a built-in way of adding a different flavor. 

So I have this interface you see above, and a sound engine, and I'm working feverishly to marry the two. To enable all of the animations and the new pop-up menu, I wrote a whole new software layer that provides a completely GPU-based UI kit and interfaces directly with the VST3 library. Because it's been such a long process this time, I'm going to "build in public" more than I am used to doing, and have a public beta period. My plan is for this to start in December. (Yes, of 2021, smarty pants.) Meanwhile I hope this information gives you interested folks something to whet your appetites, and even a basis for starting to think about what kinds of patches you might want to make.


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.

I'm shooting for a beta in January.

thank you! I"m getting there.

I was working hard to get it out last week but got sick and now it's Christmas eve all of a sudden. More soon, then, after a little break. Happy Holidays.

From now until December 15, all our software is 30% off. Thanks for helping us navigate 2021!

There's no code to enter for the sale this time. A code is kind of fun. But on the other hand there are always some people who don't realize there's a code, or have trouble entering it, etc. So, the discounts are now getting applied automatically at checkout until the sale ends.

Also, we've added more ways to pay on the site. You can now choose Euros instead of USD at checkout. This opens up a range of payment options people have been asking for, especially where credit cards are not as common. These include SOFORT, giropay, SEPA Direct Debut, iDeal, Bancontact, Przelewy24, and EPS.

Stay tuned for more info on Sumu and on the Aaltoverb 2 public beta coming next week!

Thanks for offering, I appreciate it. I'm shooting for January.

Thanks for the kind words.


@fneeee Thanks for your support!

much better, thanks!

this is not much but it's what I have:

file specs:
44, 48 or 96 kHz
1-4 channels
16 seconds long or less.

I use Audacity to put the multichannel files together. It's free and works reasonably well for this task. I use Logic to do any fancy editing or EQ, bounce each track, and simply put them together in Audacity. You may have your own good way of making multi-channel WAVs to your specifications, but if not, here's how to do it in Audacity:

To stitch files in Audacity:
First: set up custom Export in Audacity by selecting Preferences -> Import/Export -> Use Custom Mix.
then for each palette you go:

  • New file (cmd-N)
  • Import multiple (cmd-shift-I)
  • select the tracks you want to include in the palette. Having them named already so they alphabetize from low channel to high channel will make this easier because they appear in the right order.
  • for each track: if it is Stereo, click its drop-down menu and select "Split Stereo Track" then click the "X" to throw away one. You want 2-4 mono tracks. I always have to do this because Logic won't export mono files as far as I can tell.
  • do any fade-ins/outs you want by selecting all tracks and "Effects…"
  • select Export (cmd-shift-E) and name the output.
  • The export dialog comes up with lines connecting tracks and output tracks. You can use this dialog to direct tracks to output tracks, and select the number of output tracks, but I find it a little fiddly so for me it is easier to just to the Split Stereo Track thing beforehand.

Again, there might be easier ways now!

OK, things can always change if I hear about a more general need for a feature. Meanwhile I try to keep things as simple as possible.

The dial at left is the usual MIDI pitch bend range. The menu at right should control the MPE pitch bend range. So setting the octave range to 0 will turn off MPE per-note pitch bend.

There are a few choices people have made for MPE pitch bend range. The intent of the menu is to make the synth compatible with the different environments. A one-octave bend range offers quite a lot of precision. How much? Let's see: an octave is split into 16k pitch values, so roughly 1.3k steps per semitone or 0.075 cent.

If you need to get more precise, you could use the usual MIDI pitch bend monophonically or in unison mode wiht a smaller range.

I'll add ARM support for all the plugins over the coming year.

Thanks for all the kind words!

wonder if I should sell my Paca.

I wouldn't!

Will the partials file import be in proprietary format or simple text that can potentially be outputted from OpenMusic or SPEAR?

It will definitely be open and documented. It's just text for now—this could change for performance reasons.

"learn" can only be for midi learn functionality, right? Please add that to Aalto and the others as well in the future :-)

Yep! A bit annoying to do with VST3, which has been one of the stumbling blocks this year. But such is life

Is 64 partials using the parallel side of the Intel processor?

Yep! (and ARM)

That look great Randy. My only concern is the GPU utilisation.

You should not need a powerful GPU. typically I'm using the built-in one on my Macbook Air.

In my relatively short music adventure (going on 3 years now since I got into all this stuff), never have I ...

thank you!!

Wow, I´m really exited about that for a very long time. Will you publishing any peek-a-boo audiofile snippets teasers?

for sure!

Only thing I wish was a savable code-file (you know it´s still not working for me in any form, except going copy/paste directly from your homepage).

This should work, please email me for support.

If that means you're not able to use it at all and you want a refund, please send me an email.


There's currently no way to do this in Kaivo.

I appreciate hearing from you. I'll look at ways to make all the plugins as accessible as possible in their new versions.

Aaltoverb is a VST3 plugin, not VST2. Unfortunately I don't think Ableton made the decision to support VST3 in Live 9. You could try upgrading your Live 9 to the latest, or try a demo of Live 10 to see if this is indeed the problem, and then decide whether to upgrade later.

That is a very beautiful user interface, like a poem.

I think there are similarities between these art forms! collecting a set of elements and presenting them in ways they can be recombined for multiple meanings... thanks for the kind words

I'll announce the public beta soon. There will be a Discord forum and anyone who wants to can try it out.

Also more info on the popup menu later today! In the context of Aaltoverb, which also uses it. I'm really happy with this new design language and can't wait for you to see it moving...

check the News section!

Absolutely. I was just talking about this on the lines forum!

My whole new UI kit is designed with touch screens in mind, so...

I'll be sending out more info tomorrow.

This was an interesting read, thanks! Bit sweeping in some of the conclusions but I'm generally sympathetic. More people should be writing about this stuff.

I'm also happy to be reminded of the Lauris Spiegel article. Her site is such a good resource.

Hi Marc, I replied to your email on November 5. Maybe it went to your spam folder?

Anyway pdt here has the right info, thank you!

Just select your license key (including all the symbols), copy, and then click the registration area in the demo plugin. This will register the plugin and turn it into a full unrestricted version.

I sent you your license key in the email. You can also get it any time on the "My licenses" page after logging in.

Racing the clock here. Or calendar I guess.