randy's Recent Posts

Have you updated an Audio Units plugin, and then found it missing next time you launch your DAW, even after rescanning plugins? You probably need to clear your Audio Units cache. For whatever reason (please visualize me serving my strongest side-eye towards Cupertino here) this has often been needed.

The first hit on Google for "clear audio units cache" no longer reflects current best practices on this, so I'm adding my own instructions here:

  1. Close any DAW or AU host you are running
  2. in Finder, hold down the Option key, click on the Go menu at the top of your screen and select Library
  3. Delete the following files from ~/Library, if they are present:

  4. Restart your computer

That should do it.

Aaltoverb, our tweakable reverb for sound design and live performance, has been updated to version 2.0.

Aaltoverb now supports both Intel-compatible and Apple Silicon (M1) processors natively. In addition, it brings several new features, including:

  • MIDI Learn for all parameters.
  • LFOs for all main parameters.
  • Patch storage and new example patches.

Aaltoverb 2.0 is available now as a free update.

@3david3 Reinstalling would not do anything about the MIDI issue you're seeing.

Does CC not work in DP for Aaltoverb?

I'll look into the issue in Live and if I can, maybe post a short video showing MIDI mapping.

With Aaltoverb 2 I added a MIDI input. This means that it won't be able to drop in and replace Aaltoverb 1 in current projects. Which, honestly, I didn't think through fully because it never came up in beta testing.

So very soon I'll be releasing an update that treats Aaltoverb 2 as a different plugin from version 1. This way both versions can coexist in your DAW.

Meanwhile, if you want to restore Aaltoverb 1, please use these installers:

Mac: https://madronalabs.com/media/aaltoverb/Aaltoverb1.0.0.pkg
Windows: https://madronalabs.com/media/aaltoverb/AaltoverbInstaller1.0.0.exe

If you've already installed Aaltoverb 2 version 1.0.1 or lower, where the plugin is just called "Aaltoverb," you may need to remove the plugin file manually before installing version 1.

On Mac OS: AU plugin files are in /Library/Audio/Plug-Ins/Components, and VST3 plugin files are in /Library/Audio/Plug-Ins/VST3.

On Windows, plugins should be in your VST3 plugins directory, C:/Program Files/Common Files/VST3.

Hi David,

This is a typical issue with all AU plugins. You may need to clear the AU cache, it sounds like. Please try this:

  • Close the DAW
  • in Finder, hold down the Option key, click on the Go menu at the top of your screen and select Library
  • Delete the following files from ~/Library, if they are present:
  • Restart your computer

About the CCs, there is so much to configure, it's hard to deduce from here. If you have a different DAW to try, that could help isolate the issue.

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.

Thanks for the feedback.

I've done that. Thanks for your patience with this. I'll be updating all the plugins to take care of a couple of lingering bugs like this as soon as I can.

Thanks for the info— I'm aware of that issue in VCV Rack, which I need to figure out.

All other hosts I've tested have worked OK though. It looks like there is something weird with the 2.0.1 build, I'll look into it ASAP.

The actual structure of the VST is a folder, so this may just mean the VST icon is missing. Does it run?

In any case, thanks for your patience: I'll have to look at this Monday. Meanwhile, you should be able to use the 2.0.0 installer if you need to, which is still online at http://madronalabs.com/media/aaltoverb/AaltoverbInstaller2.0.0.exe

@mhazdra on Mac OS or Windows? Can you tell me where you got this message? Were you running the installer?

I did test installation and running 2.0.1 on my Windows 10 machine. I'll look again on Monday and also try in Reaper to see if there might be some build issue.

There was an error in my code creating the permissions file, if the Licenses directory was not there. This is fixed and I put up a 2.0.1 update. Good night!

I think it makes sense to offer maintenance updates for free, and charge for significant new features. Apple Silicon support was a more major project for "maintenance" than usual! But presumably Apple won't be releasing another new CPU architecture anytime soon.

Thank you for the info, can you please email the full crash report to me at support@madronalabs.com?

This looks like VCV Rack (?) which is the one host I do know about issues with. If you have any more crash reports from different hosts please send them also.

@neccss I'm glad to hear it! Enjoy.

@bobswans Glad you're having fun with Aaltoverb—thanks for sharing!

@neccss sounds like a permissions problem, possibly. If the Aaltoverb plugin does not have permissions to write the license for some reason you should be able to do this to get a permanent license:

  • make the directory ~/Music/Madrona Labs/Licenses
  • save your license key to a plain text file called "Aaltoverb.txt" in the Licenses directory.

@neccss - the license should be written to ~/Music/Madrona Labs/Licenses/Aaltoverb.txt. Can you check and see if the license is there?

(EDIT) and also, please try creating a preset file when you have the plugin registered—does that work? I'm wondering if the plugin has the entitlement to write to the directory. I have not heard of this issue before.

This thread has become a catch-all for various slow UI issues in one or more plugins, so I changed the thread title to reflect that.

I understand that "use a different resolution" might not be a good fix for you.

Have you tried Kaivo? Does it behave in a similar way when using a similar amount of CPU? If you try Kaivo 1.9.4 (or demo) and let me know, it might provide a clue.

Hi Robin,

The files are still on the server. If you copy the current links for the installers and substitute 1.9.1 for the version number, you should be able to download the older versions.

I might be able to add this behavior back to the new version as a different voice allocation mode.

Have you tried Virta without running other plugins at the same time? Virta is currently relying on the JUCE framework for graphics and when other plugins using JUCE are also open there can be big slowdowns. I'm switching to my own framework partly because of this. I don't have a release ETA right now.

Some of the first Retina MacBook Pros were the worst for this issue because they have big screens and relatively underpowered GPUs. What year is your machine from?

If you try all the 4 or 5 different resolutions that the system provides you with there may be one clear winner.

Thanks for your understanding!

No news yet—I have at least get Sumu to beta first.

It's a fair question about buying Aalto. Given that M1s have been out for a while, I think it's only fair if M1 compatibility is a free upgrade path for anyone who has bought recently.

What I am leaning towards is releasing M1 compatibility across all the plugins ASAP as free updates, then any v.2 enhancements (there will be a lot) as a separate paid upgrade.

Some combinations of computer and graphics card and screen scaling are particularly prone to slowdowns. It's possible you can find better settings.

First, turn animations off in the plugin's settings (gear) menu and see if the helps.

Next, you can try different Resolution settings in your Mac's System Preferences/Displays. The problem with some of these is that they draw a ton of pixels offscreen and actually downscale the result to the screen. So the hybrid software/GPU graphics engine of the plugins is really hurting.

Of course, just making the plugin window smaller may help, if you can use it that way.

I've finished a fully hardware-drawn graphics engine and will be rolling it out across all the plugins this year. This should fix all issues with slow drawing—meanwhile, I hope the tip about resolution settings can help.

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'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.

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.

Hey that's great! The path is not always clear for new Soundplane users now so I'm glad you were able to find what you needed. I'll be around when you have more questions.

Searching the forums here using the support page should turn up a lot of info from back when more people were getting started.

Do you have your heart set on building the source? If not, you can try the released version at the Hardware forum: https://madronalabs.com/topics/1691-sticky-soundplane-client-for-mac

There's also a manual and some Max/MSP patches on the hardware forums.

I don't know why you are getting this CMake error. It's not one I've encountered. Google turns up some related threads.