hardware and software for electronic music 

randy's Recent Posts

Wed, Dec 20, 2017, 11:26

Soundplane version 1.6 update

Another Soundplane software update is available. This release is recommended for all Soundplane owners. It's coming out hot on the heels of the 1.5 version in order to fix a problem that some users were having under Mac OS 10.10.

To keep up with Apple's code-signing recommendations I'm now distributing the application as a signed .dmg file. Just drag the Soundplane app to the Applications shortcut to install in typical Mac fashion.

Finally, latency is also decreased with this version, for the first time since the initial release! I hesitate to throw out precise numbers yet, because latency measurements are hard to do right. Roughly speaking, an underlying isochronous USB layer that added 10–20 milliseconds of latency previously is now down to just a few ms. I'm looking forward to doing some accurate tests. Maybe this will make a cool movie?

For those of you who write computer program and are doing things like compiling Soundplane apps for Linux, the C++ API is now settled down, so that you won't have to keep up with any further changes for a long while. As always the code is available on github: https://github.com/madronalabs/soundplane

Direct link: Soundplane 1.6.0.dmg, 5.9MB

version 1.6 changes:

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

Stay tuned for a maintenance update of Aalto, Kaivo and Virta very shortly.

Sat, Jan 20, 2018, 19:42

Found another couple issues I need to fix before sending out the beta. Should be able to take care of them Monday.

Thu, Jan 18, 2018, 08:07

The low latency isoch callback routines are called by the Mac at main interrupt time in order to allow low latency, which makes them kind of dangerous. Being careful about when these are called and comprehensive about their errors are handled seems to have eliminated the crashing.

Wed, Jan 17, 2018, 08:06

This looks like very interesting work. Thanks for sharing. I would be interested to add NKS directly to Aalto (and the other synths) but I just haven't had time to look at it yet.

I'm very happy if you want to convert the factory patches as well.

I look forward to learning more about all this...

Wed, Jan 17, 2018, 07:59

Can you look in Activity Monitor and tell me what Live's CPU use is first with one instance of Aalto, then with Aalto disabled? Then I can tell you if it seems reasonable.

Your system should do well with Aalto. CPU is the only really important thing for Aalto, disk and memory won't affect it much.

Wed, Jan 17, 2018, 07:53

I ended up taking a deep dive into things and fixing some other issues that made development slow. (Kernel panics when debugging, no more!) I will be wrapping the app up and sending out a beta this week. Since the internals changed so much, I'll be upping the version to 1.7 (1.6, we hardly knew ye) and starting afresh with a proper beta.

In addition to the improvements to lower layers I did find the bug that was causing the intermittent issues with output.

Wed, Aug 09, 2017, 11:16

Kaivo 1.3.3 beta available

I've fixed a few issues and uploaded a new beta version for intrepid Kaivo users: Kaivo1.3.3b1.

This beta is for Mac OS only. I plan to ship the final Mac version as well as the Windows version next week. I'll also update the other plugins with the relevant fixes then.

changes:

  • bugfix: the sequencer was not retriggering from reset input
  • bugfix: .kbm mappings were not always using all notes
  • bugfix: .kbm mappings were not setting reference note properly
  • fixed a rare condition where the metal string resonator could lock up

If you noticed any changes in how your patches behaved after installing Kaivo 1.3.1, hopefully the sequencer fix will get them back in shape.

Wed, Jan 10, 2018, 14:10

You definitely have all the information you need in the file. Probably the line-endings are getting mixed up, depending on what program you use to save it. I'll try to find time to write a quick tutorial on this soon.

Wed, Jan 10, 2018, 07:41

We are not yet sure. It's a battle to make it skiff-friendly, but yet not overly wide, and we are still working out the details.

Fri, Feb 13, 2015, 14:32

Call for input: Soundplane to CV module

This year it seems desirable and possible for Madrona Labs to make a Soundplane to CV device. This would be primarily a Eurorack module, but the circuit could also be built into its own enclosure for use with vintage synths etc.

Normally I do most of my design work in private, and only announce a product when it's pretty much done. But we (Brian and I) are going to change it up this time. Because neither of us is that deeply into the Eurorack world, it makes sense to solicit input early on in the process this time. This is going to be a utility device (though hopefully an elegant one) — so before we get too far along, let's make sure it will be useful to you!

The basic idea

USB jack for powering the Soundplane. Module puts out CV / gates / mod outputs for individual touches. Like the Soundplane app, a zone map decides how the Soundplane surface is divided up into notes and what those notes are. You can switch between zone maps, and the name of the current one should be displayed somehow. Aside from this, visual feedback will be at least an LED per Z value. To keep costs low, probably nothing too graphical or fancy.

We're looking for input on things like:

How many voices?

Each voice of touch output will probably have 4 outputs for pitch, x, y and z. Setting up many voices on a modular is not the way most people use them, so I'm guessing that two voices of output will take care of 90% of what people want. We would probably add an expander module for more voices.

Any interesting modes?

A switch that changes z (pressure) into a strict on/off gate might be useful. Any other things like this?

Layout?

individual voice groups vertical or horizontal? voice outputs at bottom or top? I'm thinking top, because a USB jack on the bottom will go to the Soundplane.

Power?

The module will need roughly 250mA at 5v to power the Soundplane. Brian will correct me if I'm wrong. Then there's whatever computing and display the module needs to do, and the outputs. Do we need our own power supply, or a list of compatible Euro power supplies that we can point people to? Any choices in connectivity to make here?

Finally, we're still looking for a great name…

Wed, Jan 10, 2018, 07:29

I'm reading again where you say the format is changed. Did you try registering a plugin with the saved text? Maybe there is no problem. The spacing you see when text is centered is completely a result of the presentation on the website and not of the text itself. So the apparent change to left alignment is normal.

There may also be a setting in notepad++ needed to fix the line endings under Windows. I'm sorry I can't find details for you right now, but I know I have made this work in the past.

Tue, Jan 09, 2018, 07:07

Thanks for the good words. I'm looking forward to getting this release out ASAP so I can focus on the next plugin! Hopefully, before this month is over. Thanks for your patience.

Tue, Jan 09, 2018, 07:04

Hi, I guess you are on Windows? It's common for text editors to use a different character for "end of line" there, and maybe the slash characters are confusing your editor. But it should be no problem to find an editor that makes it look right. I have good luck with notepad++. If you can see it on the website, then you have all the data.

In any case, I plan to be still operating for years to come. I appreciate your concern about longevity.

Sat, Jan 06, 2018, 12:27

Thanks for the additional info. I put the bug in my system and will check it out for the next release.

Wed, Jan 03, 2018, 07:15

I'll have to investigate this. I'm not familiar with what you are describing.

In all the MPE and MIDI code, notes are all handled equally, so it's hard to think of why certain combinations would not be working. Can you confirm that you don't have this issue with other MPE-capable synths?

Are these failing note combinations the same if you launch the DAW and everything again?

Thu, Mar 06, 2014, 08:17

STICKY: Kaivo patch thread

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

Wed, Dec 27, 2017, 10:15

Thanks for the note. Enjoy!

Tue, Dec 26, 2017, 11:08

It is definitely possible. There's a program message, or some kind of message, to the vst~ object that should change the program and there should be a way to get a list of programs as well. I don't have Max/MSP on this computer so it's hard for me to look it up right now.

Thu, Dec 21, 2017, 19:54

What I found out today is that there is an intermittent problem. I can start up the Soundplane app and have it work fine, then start up again in the same way and it gives the symptoms you are describing. This is why I was able to test and think it was functional. I'll work to fix this ASAP.

Thu, Dec 21, 2017, 19:54

What I found out today is that there is an intermittent problem. I can start up the Soundplane app and have it work fine, then start up again in the same way and it gives the symptoms you are describing. This is why I was able to test and think it was functional. I'll work to fix this ASAP.

Thu, Dec 21, 2017, 08:28

Oh no! I'll investigate today, thanks for the report.

Sat, Jun 23, 2012, 19:49

STICKY: Soundplane Client for Mac

version 1.6.0
December 20, 2017
link: Soundplane 1.6.0.dmg, 5.9MB

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.

changes:

1.6:

  • 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

1.5:

  • 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

1.4:

  • 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

1.3:

  • 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

1.2.5:

  • [1.2.5.1] 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

1.2.4:

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

1.1.2:

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

1.1:

  • 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

1.0a2:

  • 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

1.0a1:
-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

Wed, Dec 20, 2017, 08:12

Hi, you can just register the demo versions if you have downloaded them in the past year. Before Jan 2017 I had a different registration system that required downloading a watermarked version.

Sun, Dec 10, 2017, 11:19

It's not a secret—the Madrona Labs modular environment I have been working towards for ages gets ever closer to a first release (though still, don't hold your breath) and I'm planning to put the Aaltoverb algorithm out there as one of the free example plugins people can use on release. There aren't really any more details I can spill besides that because many decisions are down the road a little ways.

Wed, Dec 06, 2017, 08:26

Makes sense. Thanks for the input.

Sun, Dec 03, 2017, 09:52

It's coming, but as part of a more ambitious project, so it's going to be a while still.

Thu, Nov 30, 2017, 08:25

Hi Timm, I hope you got my email. Sorry about the server burp last time!

Tue, Nov 28, 2017, 16:49

if we didn't sort this out, please email support@madronalabs.com and I can help!

Tue, Nov 28, 2017, 08:05

Hi nice person, thanks for the good words. I get the idea of a Kaivo audio input. When I eventually come out with a modular environment it will allow combining, say, Virta's input module with Kaivo's physical models.

Kaivo's granulator can't currently do anything with live input, because it is designed to analyze sound clips and find the best grain transition points ahead of time. So it's not as useful to have audio input for Kaivo, I think.

Thu, Jan 03, 2013, 12:40

Better workflow for Aalto

I was making a little music with Aalto over the holidays. I was trying to set up a flow where I could just tweak the knobs while recording audio out of Aalto, and record a lot of tracks that I would just mix together to get the finished piece. But, as you may have found, this is easier said than done! I have ideas on how to make things better.

Tweaking while recording


One problem is that the main DAWs don't let you record audio while tweaking knobs of a synth or effect. Logic has a real time bounce, for example, but locks out control changes while it's going on. Live won't record audio out of a synth unless you are in render mode.


One workaround is to use Numerology from Five12. It's great for on-the-fly sequencing and tweaking, and will let you record audio while you do this. It's a little less than ideal in that the audio is all sent to automatically-named files that you have to sort out later. But in even allowing recording while tweaking it offers a cool feature that the big DAWs don't. The drawback for me is that it's not the environment I want to mix in.


I checked out Reaper and did not get far enough to decide whether this would be a good solution for live recording. I could deal with learning to mix in it if it offered this capability. Anyone tried this in Reaper?


Finally, one solution might be a simple record button in Aalto. But I try to avoid adding things that the DAW should be doing well. Anyone up for writing a DAW this year with Live’s ease-of-use and timing, Logic’s MIDI implementation and Reaper’s efficiency?

Resetting


Another problem with the flow as it stands is resetting Aalto back to a patch at the start of a loop or arrangement. I'd like to set up one patch, do a take of knob-tweaking, and then automatically have Aalto recall a previous patch or saved state back at the beginning to set up the same jumping-off point for exploration. This is a little difficult now.


One way to do it, currently, is using MIDI program automation. Aalto 1.3 added the ability (underdocumented, currently) to switch programs via MIDI program change messages. See here for details. So, you can make a patch, save it to the "MIDI Programs" directory, and record a program change message in your DAW of choice. This is fairly easy in Logic, and in Live looks clunky but possible. There's an extra step of saving a patch, though, every time you want to define a new starting point. Not ideal. Maybe I don't care about the patch in general but just as an element in one song.


Resetting the patch is also needed to make the flow sort-of-good in programs like Live and Logic that don't allow control changes. An offline bounce (much faster than real time) after each tweaking pass may not be a bad price to pay for recording in my environment of choice, and so I can simply record the parameter change data---but the reset is also essential here.


There are a few ideas I have for a solution. One is to add a menu choice "broadcast all parameters." This would do what it says, allowing parameter automation systems to capture the entire state of the plugin. I think that with more than 100 parameters, though, this might overwhelm the capabilities of the DAW, and would certainly make a mess of the param menus.


A refinement of that idea is to have two menu options, one to say "start keeping track of what parameters I changed," and another to reset only those changed parameters. This would definitely work, the only drawback is a little added complexity. You would still need to be careful to save your song with all the params at their initial states!


I'm happy that Aalto 1.3.1 is very solid after the 1.3 shakeup, and I'm looking forward to working on some of these workflow details now. I welcome your suggestions!