ForumsNews ← Soundplane software update

Soundplane application v.1.0a1 is now available at the usual spot in the hardware forums.

This is a preview release, meant to give you a chance to use the new zone mapping features before version 1.0 is feature complete. You can edit zone maps using the JSON files directly, but not through the GUI.


  • new Zone features allow mapping notes and controllers to key grid
  • changes to 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

NOTE: the t3d format has changed slightly for better compatibility with TouchOSC and other apps going forward. So this version will not work with the current version of Aalto. If you are currently on a big US tour or something, don't install it! An Aalto update for compatibility will be coming soon.

There are currently four types of Zones available: note rows, x sliders, y sliders, and xy sliders. All of these are shown in the zoneExample1.JSON map. More control types and many refinements are on the way, to be documented and rolled into version 1.0. So if you have ideas for controls you want, now is the prefect time to give feedback. The new Max/MSP example shows how to receive

I am calling this release 1.0a1 because it has a 1.0 feature set that is not complete. However, in my experience it is at least as stable as the previous version. If you don't need Aalto compatibility it should provide a solid platform for your MIDI or OSC-based work. Please send me any bug reports or feature requests by posting to the Hardware forum, or by email.

Randy this looks GREAT! Level up! Thanks very much.

Edit: wow, there's something perversely satisfying about turning a section of an x/y/z controller into an x/y controller.

Looks incredible!

'Morning Randy, this has been pretty fun to play with so far!

If we were living in a utopian, feature-complete paradise, would we be able to

A) specify the max. number of touches in each zone? For the note rows anyway?

B) route the note rows separately, so like /t3d/row_one/tch1, etc?

C) exclude any Controller movement from Touches? So that, say, moving a fader doesn't register as a "touch" when we are also playing a note row? (I guess this would be sort of irrelevant if we could set the number of touches in each zone)

D) use different pitch scalings/mappings (and/or other performance parameters) for different note rows?

E) ever leave the house again? Zone mapping is fun.

glad I sold my soundplane before this landed or else I doubt I would have let it go.

Hi Charlie,

Thanks for the feedback.

I could think about specifying a maximum number of touches in each zone. I never thought anyone would want this. Would a 'mono' switch take care of your needs? In other words, you could set the number of touches to either 1 or the maximum available.

The thing is, Zones don't detect touches. The touch tracker does that and then sends them to the Zones and Controllers.

I'm wondering what the typical way to do a "split" will be over OSC. My plan is to have a channel number on each zone, this would allow easily splitting different sounds out to different OSC channels just like with MIDI. The OSC channel would use a different port. This seems to make sense because you can set up a couple of synths that listen to different OSC ports, and don' t have to know about each other in order to function together.

I definitely have a scale map per row planned with different modes, pentatonic etc.

Hi Randy, thanks for talking about this. My post above is not to be construed as feature requests - just wondering what will be possible/how it will work.

Yeah something like a mono switch in a note zone would do the trick.

Doing an OSC split into different ports sounds good; the only thing is, the way I understand it, the messages arriving at whichever port are still going to have a Touch ID (/tch1, /tch2, etc) attached to them, in the order that they happen across the entire Soundplane, so that depending on how you were playing, you could have the same touch ID being sent to different destinations.

I'm thinking in terms of a "multi-phonic" setup with something like the Silent Way/Soundplane plugin where each instance of the plugin is listening for a specific touch ID - things would get jumbled up if you had more than one zone going. I guess this may not be a problem in a polyphonic patch...

But even in Max or whatever other environment, the messages are routed according to their Touch ID number - it seems like it would be best if each zone had their own set of sequential /tch messages.

Last thing on that note: I noticed that when you are using a Controller zone, the controller messages are working fine, but since a controller movement registers as a Touch, the outlet associated with that Touch will also fire at the same time. So again, if the Touch IDs need to be kept in order, this doesn't really work. This is mostly what I meant by items B) and C) in my post above.

Sorry if I'm not communicating ideas very well - my brain feels like a rock today. And I could be misunderstanding how this all works!

I see your point about the touch messages. This should not be too hard. The first point of mapping is definitely to make splits and the like easy, so if that's not working well, I'll change it!

OK, see what you mean about Controllers and touch messages also.

this is great!
i've been able to make several custom maps just from studying the example 'json's. could we get an example patch that uses pressure in a zone mapped to a midi cc? or perhaps i missed/overlooked that. thanks!

There is currently no pressure-based zone type. I plan to add a z option to both the 1D and xy controllers. I'm collecting ideas for other zone types too, so let me know if you have any requests!

i'm not asking for a specific pressure-based zone type. i just want to output a pressure cc from the note row zone type.
is that what you mean by a 'z option' to the 1D and xy controllers?

MIDI key zones should transmit pressure for each touch if the "pressure" toggle is on. Looking at the code, I see this is mapped to cc11 now. It also sends on channel pressure for each touch.

Since ccs and channel pressure have only one value per channel, the "multi chan" toggle has to be on, to send one note per channel, if you want separate z values per touch.

I know this may be a bit confusing explained piecemeal like this! Thanks for bearing with me while I make the time to write proper documentation. Meanwhile if you have any questions, please ask.

ok, got it. thank you for this.

spent some time with zoning today. not sure if you're already working on this but a midi cc toggle mode would be nice - just for on/off button states. also sending MIDI program change data would be nice for preset changing.

one issue i'm having is that the top and bottom of the soundplane's physical surface doesn't correlate to the absolute top/bottom of the zone layout in the software. for example, ctrl_y1 in the zoneExample1 only reaches a minimum of .08 and a max of .92. this isn't a huge deal except if you shorten that vertical slider to less than the full span of the soundplane (ie. 3 or 2 segments), those numbers get unusable narrow for any useful param control. is this a known issue that i missed or is it just me?