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 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. (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.
OK, here's a new link.
Reminder that the beta is not out yet and nothing is really going on there at the moment! Right now I'm working on the app for making Sumu partial files, called Utu-view. That will be the first release on the discord, as soon as it's possible.
The main reason it hasn't happened sooner is that people aren't willing to pay a lot for iPad apps. But I do still want it for myself! So it's still on my list.
There will definitely be more voices! Computers have come a long way since 2010 :-)
The 1.9.3 update to Aalto, Kaivo, and Virta is now available for both Mac and Windows. Mac users should find a dramatic improvement because this update fixes issues with drawing speed that have crept up due to changes in Mojave and now Catalina.
To get the updates, just download and install the demo plugins from the product pages as usual.
In addition to the big changes with drawing on Mac OS, I have fixed a few lingering issues affecting both platforms. These include failure to redraw the granulator wave in Kaivo sometimes, and a sequencer triggering bug.
Lastly, I've gone over the MPE MIDI code for better compatibility with the MPE spec and with particular controllers like the Linnstrument. Pitch bend range messages are now responded to according to the spec, and separate pitch bend amounts for Main and Member channel now allow more flexibility in your MPE setup. The MPE pitch bend range is now an option under the "Settings" menu and does not change when switching patches.
Windows users please note: these new downloads may trigger the "Windows Defender" warnings in Microsoft Edge. There is no good reason for this and according to Microsoft, the warnings should go away when the files are downloaded more. Meanwhile, we all have to put up with a few extra clicks. Please write me at email@example.com if you have any questions.
It's still near the top of my list but I have to make a little more progress on Sumu before I can switch to the Apple Silicon work.
by Randy Jones
Glia makes a very refined music that explores what looping and synthesis can do in a jazz context. Though Fela Kuti's funk is one of many influences he cites, there are no freight-train sized grooves here—think instead of an intimate Blue Note or ECM trio with acoustic players and friendly AIs.
A drummer first, glia has shifted more and more creative effort towards electronic music over time. His latest album, OUANEM, ties together a variety of fruitful collaborations recorded over the last two years into a cohesive whole. It's very deliberate, but far from sterile. It's enigmatic and runs counter to so many commercial trends of this time. To me it sounds like the jazz that future hiphop will sample.
I got to ask glia some questions.
How long have you been making music as glia?
I adopted the name back in 2008 as I more fully embraced electronic music and improvisation. Prior to that I spent a few years learning the basics of production, beatmaking, and recording but considered myself a drummer first and foremost.
One thing that strikes me about OUANEM is how it's short for an album, but very condensed. Like each track was distilled down into its essence. Is "album" a meaningful category for you or are you reaching for something new, here?
You are very observant...I can agree that finding the essence of a musical idea intrigues me. It's no accident that many of the tracks feel condensed but I'm not sure it was totally deliberate. I guess part of the reason they turned out this way is that I've always liked playing with scale/duration/concision in my art and find that, as a listener, I'm often drawn to repeat-listens of the same song. Making recordings brief is one way to encourage my audience to do the same & savor or study a tune more than once.
Albums do hold significance for me and I consider this to be a proper collection in my loose definition of the term (though I know ONM might seem too short...more like an EP for others).
The short nature of the tracks also serve as a personal invitation to revisit, extend and reinterpret them on future albums or live performances.
There are a number of other performers listed. Can you talk a little about how the collaboration works?
Each collaboration was unique. The common thread linking them all was remote file exchange...all the recordings and edits took place virtually with plenty of trust and communication to ensure we were happy with the completed songs.
I usually tried to build a rhythmic foundation before getting other folks involved and just followed an intuitive flow to decide what to do next or how to adjust the parts depending on what they contributed. There were, of course, a few exceptions (Chris Hill and Logan Kane sent me things to build around or rearrange freely)
What does building one of these tracks look like?
I recorded acoustic percussion or drums as a core rhythm. Then looped those parts and layered takes with more percussion, digital synths and woodwinds in ableton. I tend to use many fx but the arrangement or structural workflow is based heavily on the simplicity of "tape" recording.
How do you know when a track is done?
When I sit with a track for a few weeks or months and "hear" nothing else. Sometimes I know as soon as I finish recording but most of the songs on Ouanem were works-in-progress for all 1- 2 years. If I could listen to a piece after that period of reflection and still see beauty in it then I know for certain it's done...otherwise it might need things slightly adjusted (or might not be worth releasing)
What do you do when you’re not making music?
Think about music! My answer is surely cliché but I spend very little time actually making music. Studying language and religion is my main diversion outside of music. I also enjoy cooking, sports and watching films.
I've met you through the lines forum- (llllllll.co) --are there other online or physical communities that sustain your musical world?
The pandemic has definitely made me more cautious about connecting in person but I really love seeing what High Zero/Sonic Circuits and Rhizome in DC have done over the years to involve the community. NPR Tiny Desk Concerts are another local favorite of mine and it's crazy to see how their popularity has grown and spread worldwide!
The people behind Experimental Sound Studio in Chicago also come to mind, especially for promoting really incredible shows across the full spectrum of improvised music during lockdown. I'm a longtime fan of Dublab and felt immediate kinship with ESS heads cause they seem to cover a similarly diverse range of musical interests.
I feel a special connection to all the artists on past Smartbomb compilations and the creative team who worked on Video Home System the past few years. Also hard to ignore the positive impact certain labels have had on my music...along with Minaret I'm indebted to friends at Leaving, Phinery and the many artists associated with Dolfin, Eglo & Touching Bass. They've found unique ways to fill virtual spaces with the same beauty and intention their in-person events are known for...so I love checking archived shows and music videos for inspiration.
Ok here's one more:
the links expire after 7 days. here's a new one!
I'm sending out a newsletter soon with more info, as soon as I can finish this sub-project (Utu) I'm working on. If you're interested in learning more about that in the meantime, there's more info on the Discord.
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.
Oh I see. I'll try to figure out some reasonable parameters for the upgrade discount but I'm not sure exactly what those will be.
There will be a discounted upgrade price for Aalto (1) owners. Or if you bought Aalto very recently, Aalto 2 will be free.
Aalto has been out for over ten years with only free upgrades...
here you go:
When Sumu is beta I'll start working also on the other updates, starting with Aalto. I'll feel way behind if they're not out before the end of this year. But honestly there's only one of me and I've managed to get way behind my plans on Sumu already, so take this with a grain of salt.
All the major updates will move from VST2 to VST3 as well. Aaltoverb is VST3 + AU right now.
When you put Aalto presets into the “Aalto/MIDI Programs” folder you can load them by sending a MIDI Program Change message to Aalto. As installed there are a few example presets “test1”–“test4”. They will be assigned numbers in alphabetical order so Program Change 1: Test1, 2: test2 and so on. This should work in every host because the host does nothing but send the MIDI message.
Here you go!
I got your emails also. I'll copy my response here for reference:
I never was able to use the VST2 format to store the patch bay data because I could not find a good way to do this. VST just stores values for single parameters like dials and this does not map well to a patch input, that can have any number of outputs. Bidule only accesses Aalto through the VST2 API and so can not access the patch bay.
I am somewhat in touch with the Bidule folks now. I will see if there’s a way for more complete automation of the patch bay using VST3 or another format that Bidule supports.
Thanks for the report. I just tried to reproduce, finally with success, I think. I could not get this to happen until I changed the display resolution for the external monitor to a higher one. With the laptop at "default for display" and the external monitor at "More Space" (max resolution) I get weird behavior like you describe.
I'll look for a fix ASAP!
Thanks for the encouragement! It is truly helpful.
You can sign up to the beta Discord if you like:
(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.
There's nothing you need to do. On any Apple Silicon Mac, just install the plugin and the system will use the Rosetta 2 emulator to run it.
the current versions work in Apple Silicon under emulation. After inatalling, can you find the plugins under Audio Units? If not, restarting may be needed.
If restart does not work, try clearing your Audio Units cache:
April 23, 2019
link: Soundplane 1.8.3.dmg, 6MB
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
- [188.8.131.52] 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
Very glad to hear it. Enjoy!