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 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.
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.
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.
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.
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.
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. 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.
Still itching to try this, seems to be one of the most unique takes on additive synthesis out there.
I just feel this beta coming pprrrrrprrrrrdffff dffsshh
perhaps an ETA would be nice?.....
What do you mean @howl, he said December 2021
Sorry Randy, couldn't help it ; )
I should probably just never say dates—since there's only one of me, illness burnout or family emergencies can completely throw off my estimates. But on the other hand I do want to communicate what my plans are.
I'm still shooting for this spring on a Sumu beta.
I can say with a confidence that the Aaltoverb beta will be out later today.
I think everyone is just chomping at the bit because we all know that Sumu is going to be brilliant! Can't wait!!!
@randy, indeed that is the problem every, what is best term, indepented developer, one-person show... encounters..
but perhaps the ETA is not the most important thing, Sumu is you can see is anticipated! is that the correct term! it is a unique synth to look forward too..
so the questions for an ETA are calls out of enthusiasm.
it is evident, that developing this, there is only one of you!, is difficult to really plan.
perhaps sometimes a small update about the progress?
not an ETA?
as many others here, i repeat, it is a soft synth i am really looking forward to.
so good luck!
What Howl said. We're so enthusiastic because your synths are so special and unique. No 'me too' synths. Maybe if you just gave up sleeping for a month or so...
While I share everyone‘s enthusiasm, I strongly disagree with the (perhaps joking) calls for you to push yourself or post more or not sleep etc. - no softsynth is worth your health or not being there for your family. While I too am looking forward to Sumu, I first and foremost wish you health, ease and love. And all the musicians itching for Sumu I wish the same and patience. Rushing people is generally unkind, rushing developers is unkind and leads to bad software.
I was totally joking about not sleeping (a month or so? I don't want Randy to kill himself). Thought it was obvious.
Overall I am very appreciative of everyone's interest. In the post above I broke with what I usually do and gave a big preview. I got some good feedback from it that is helping my morale! I also knew it might make people impatient, if I couldn't release soon.
The Aaltoverb release was a big update because it means now all the common UI things are done. I still have the Sumu-specific UI elements to finish and if anything is looking exciting I might show previews of these before they are in beta. Same with good-sounding audio clips when I get them.
Right now I'm taking a few days off coding. If I type too much for too many days in a row my wrist tendons just kind of lock up and don't let me type any more. And yes, I've tried braces and ergo keyboards. What helps is not typing for too many hours/days in a row. And, oddly enough, running seems to help. I have a harder time making myself get out there for a run in the winter, though.
Thanks for the update(s) and good "off keyboard time"!
Keep your self first and the rest will flourish :)
Yep. agreed. Never rush a good thing. Be well. Fans of your work are good, fans of yourself are better. Ultimately both will admire your work and buy your great software when it's ready, but one understands it comes from a person like themselves and knows what THAT'S like. haha
thanks.
Really interesting software here coming, how about using GPU for the additive synthesis engine? Maybe not the first one here to wonder why the names of the plugins are in Finnish (aalto = wave, kaivo = well, sumu = fog etc.)?
Hi and thanks for the note. Using the GPU is something I have considered and I know others have too. When you look into what it would take to make it work and support it across all the differenct GPU configs out there, it seems to me anyway to be totally impractical. Especially for a software team of one! Also there's the latency issue getting computations on and off the GPU. If you're a tech-minded person it's tempting to think about (as I have) but probably not a useful way to spend my time.
As far as the names, Aalto came first and the the trend just kind of stuck.
I'm quite excited about this instrument and while I hope it comes out soon, I know deep down that you'll release it when it's ready so I hope you take your time :)
Your description of Sumu as "additive meets FM" immediately makes me think of the Synclavier, which also combines aspects of those two forms of synthesis. Do you see similarities or common lineage between your instrument and that one or does Sumu go in a totally different direction?
I've never seen or played a real Synclavier although I've used Arturia's emulation (perhaps you have as well).
I've played a Synclavier a bit but never really studied what it does. From what I know I would say Sumu goes in a totally different direction.
I really sort of design from the user interface in—thinking about what kinds of possibilities the player / sound maker should have. So starting with the patchable UI and being semi-modular like Aalto and Kaivo has determined a lot of how Sumu works.
/I'm aware that such questions make me a douche but are we close yet?
Nah, not a douche. It did use to stress me out a bit when people would ask for updates, not gonna lie. Because of course I'm here working on stuff and I'm very eager to have something I can share and will do that as soon as I possibly can.
But mostly I'm just happy you're interested. I'll be building more in public than usual and I'm still planning on having something you can listen to this Spring.
Speaking for myself (but I suspect lots of others too), hearing what this baby can do will go a long way to pacify me.
Understandable! Not that we need you all pacified, mind.
so very very . . Yes please! An instrument inspired by repeat visits to a creek and a patiently carefully crafted sibling to my BFF Kaivo: mmm yum! Thanks for your work Randy. beautiful structure is this instrument. lots to learn in these sketches. elegant modules. 100% it is inspiring imagined patches already. And a different way of listening to water and beneath-sand-dune samples at the core of all my music these days. “How would this be patched in Sumu?” If you need usability beta testers for the loris tool I’m down for that too.
Thanks for the encouragement! It is truly helpful.
You can sign up to the beta Discord if you like:
https://discord.gg/KFwJa5Dp
(link good for 7 days)
It's possible to compile utu (Sumu analysis tool) from the instructions in the github repo, however, it's only usable from the command line right now.
Hey Randy,
Is it possible to get another Discord invite? I just missed the 7 day window to join the beta server and I would really like to check it out!
Best wishes
Here you go!
https://discord.gg/g8e8Quxy
sadly i couldn't join in time... is there still a possibility
here you go:
https://discord.gg/RPCJBzEf
thank you Randy
!!!!!!!
Would love a discord invite!