ForumsHardware ← TB Soundplane Client

Since the Soundplane software is open source, Ive developed a few extensions to the Madrona Labs (official) application which I thought Id share. my changes are also open source.

you can download a build version from here click

Obviously this is not supported by ML, so post here if you have issues (unless of course the issue is also present in the official release).

also if you like a feature, let me know... or if you want other features let me know, perhaps I may be working on them, or want them too :)

which version is it? - I always keep my build in-line with the latest ML version, usually the current development version (rather than released)... assuming I don't find any major issues with the dev version.

how well tested is it? - I use it everyday, but of course my usage may vary from yours, so cannot guarantee it. personally I have this, and the official version installed. so that if I have any issues I can cross checked with the official release.

changes included in TB141

  • bug fixes (from official release) related to note on/off behaviour and sending got pitchbend and cc messages

changes included in TB140 :

  • Midi modes (click here to see screenshot)

single channel with poly or channel pressure

MPE

MPE ext - extended midi with 14 bit midi support

Multi 73,74,11 (CC x,y,z)

Multi PB,1,CP ( pitchbend, CC 1, channel pressure)

its easy for me to add more if needed...

  • unquantize mode
    when quantize is off, the touch has an indicator of how far you are from being in tune. I use this to practice playing unquantized tuning. (click here to see screenshot)

  • xyz zone
    just like the XY zone, but has a 3rd CC for pressure.

  • OSC fix
    don't send touch data when a touch is not active.

Im also working on a couple of other features,

  • Midi Pedal Input
    I want to be able to publish sustain (& perhaps expression) pedal info out on the MIDI Soundplane OUT, and also OSC.

  • Midi Program change for setups, to allow me to use a midi pedal to switch between different soundplane setups, so i don't have to use the soundplane app during play. e.g. so I can have a full surface playing Kaivo, then switch it to playing aalto

no promises, if/when this is coming... quite a few projects on the go, but I wondered if others have thought the same.

finally, a thank you to Randy/Madrona Labs for making the source code open source, so making this is possible!

Thank you so much for doing this and again for beeing so active !

It works really well !

I am now using the mulit PB,1,CP mode with Bazille and it works so great I can not stop playing :-).

All the other things you are planing to implemet sound great as well and I have not much to add.

The only thing and I think Randy is thinking in the smae way is to some ho add the Dx and Dy feauters in the client (I hope I understood this well) .

So for instance you could say that the pitch bend has the valuse of 0 on touch and then from there it adds .
This option could be something the user could choose in the client interface.

The same for Y (CC1 in Bazille`s case).

I am so happy and thank Randy for these great instruments and you for your work.

wishing you a nice day from Yangon

my pleasure, good to know it works for you.

adding toggles for x/dX y/dY to the client app is pretty trivial,
(guess they could go up the top with vibrato etc, as they can apply to both midi and osc)

the slight question is how will they be interpreted at the synth end, when using the dX/dY

for midi its straight forward we use 0,63,127 as -1,0,1

for osc, well its only really aalto/kaivo (& my reaktor macros etc).
will they be ok with x/y coming across as negative...

and I think they will actually be fine, as I seem to remember when I added OSC T3D to the eigenharps, I implemented this incorrectly initially, and was sending -1 to 1 , and it still worked... so as long as they have not changed i think it will be ok, but would need to check again.

personally, I'm not sure this is really the correct solution... dx/dy are easy to calculate on the synth end, so whilst i think it was a good idea for aalto/kaivo to have OSC be made compatible with midi. I think an extra output should have been added... so we have dx/dy x, y and mod , +1 +2 +3 in midi.

anyway, its not going to happen so I can add dX/dY to client.

it would be nice longer term if the soundplane client had more options for output.

on the eigenharps not only can you select absolute or relative (for every input), but apply curves, scaling etc... (you can also output to multiple CC with different scalings etc)

It might seem overkill, but it means you can really 'dial in' how a particular vst/preset feels.

HI again ,

"will they be ok with x/y coming across as negative..."

I have no idea maybe I will try something in max but one could just prevent it from doing negative or have a choice . But to be honest I have no idea bu I like the Dx as it then actually adds the x to each pad of the Soundplane. But it is coming back :-)

After my total excitement with Multi PB,1,CP mode I tried single-pp with some older soft synths and it works just great and opens so uch new stuff :-).
The only thing is that it would be great to have pitch control on the x .
Not sure why you did not put it .
cc1 on y is great and PP but x is missing :-)

I vote to have these modes in the oficall client .

Thank you so much and have a nice day

The only thing is that it would be great to have pitch control on the x . Not sure why you did not put it

not quite sure I understand you, in single mode PB is also sent, and operates exactly as official app. i.e. single PP sends out PB, 1, PP. (assuming bend range >0)

I guess we could have an option to send X on a CC (rather than PB), but usually you don't need this, since in the synth you turn bend range to 0, and then use a mod matrix to route PB to a control. (this has the advantage PB is 14 bit)

could you describe exactly what you would like... as I'm a bit confused.

frankly, I don't use single channel mode much... Ive not got enough synths (+reakto / max / axoloti) that support VpC or MPE that I just stick with them, and when I do (rarely) use single channel mode, its usually for something like pianoteq, or something with pp (alchemy)

what exactly do you use x/dX for? personally I only use pitch, as I use it for key tracking, I never used dX as to modulate it would also affect pitch which is undesirable for me.

the only use I can see is, if you are not using not using continuos pitch (e.g. synth PB range = 0) then of course you could use X as an additional modulation source.

note: PB in midi is essentially dX.

This is the great thing about the SP we all use it in different ways, but it does make it tricky when adding features, as obviously I add for how I use it :)

x/dX... yeah there are quite a few options once you get into this.. (e.g.key position)
i support with dX we could send 0 to 1 rather than -1 to 1, where 0.5 = original position. this would essentially be the same approach as midi. the 'downside' is things like aalto, currently have dY as -1 to 1...

frankly this, is what I was saying about the Eigenharp approach, its much better, as it allows all aspects to be changed... because there are just so many possible combinations, depending upon the capabilities of the synth.
check this out: EigenD Matrix
note: this is an older version, the newer one has curves, so you can choose anything from exponential/linear (by varying degrees)

I think randy is not in favour of this, due to the 'complexity', but Im getting increasingly tempted to add something like it to my setup. probably a simplified form, as its true, i tend to use only a few different combinations.

"The only thing is that it would be great to have pitch control on the x . Not sure why you did not put it
not quite sure I understand you, in single mode PB is also sent, and operates exactly as official app. i.e. single PP sends out PB, 1, PP. (assuming bend range >0)"

This is so weird as your build does not send PB on X on single mode nor does the oficial one (and it did before ufff) .
I have to check this but when I tried it I thought that you just don`t have the PB on X .. just wierd.

I am monitoring with Midi Monitor OSX and no PB.

Let me check tomorrow and try to understand what`s happening.

""I guess we could have an option to send X on a CC (rather than PB), but usually you don't need this, since in the synth you turn bend range to 0, and then use a mod matrix to route PB to a control. (this has the advantage PB is 14 bit)"

This is not neceseryI think PB is fine on X.

"rankly, I don't use single channel mode much... Ive not got enough synths (+reakto / max / axoloti) that support VpC or MPE that I just stick with them, and when I do (rarely) use single channel mode, its usually for something like pianoteq, or something with pp (alchemy)"

I just tryed the demo of XILS4 and I think it sounds reall really great . For that I would use the single mode.

But sound is really subjective as for instance I really do not like Reaktor and I do not know why :-).

"what exactly do you use x/dX for? personally I only use pitch, as I use it for key tracking, I never used dX as to modulate it would also affect pitch which is undesirable for me."

Not sure how I used it then as in my case it did not affect the pitch . I used it in a lott of modulation very subtly .
What was importsnt for me that the value started woth 0 and then I could go plus on X .

Best would be to send you a preset , but I lost my Dx :-) . I actually have to make my presets again in Kaivo and Aalto wihich is not a big problem as it is fun .

Maybe I will send you a Max Msp patch with my idea of the DX usage.

"This is the great thing about the SP we all use it in different ways, but it does make it tricky when adding features, as obviously I add for how I use it :)"

exactly

"x/dX... yeah there are quite a few options once you get into this.. (e.g.key position) i support with dX we could send 0 to 1 rather than -1 to 1, where 0.5 = original position. this would essentially be the same approach as midi. the 'downside' is things like aalto, currently have dY as -1 to 1...
frankly this, is what I was saying about the Eigenharp approach, its much better, as it allows all aspects to be changed... because there are just so many possible combinations, depending upon the capabilities of the synth. check this out: EigenD Matrix note: this is an older version, the newer one has curves, so you can choose anything from exponential/linear (by varying degrees)"

I just want my Dx back :-)

I have to try the EigenD Matrix and software again , to be honest the first time I just found it to complicated to achieve very simpolke results but again it must be me.

On the other hand now I am very close to have enough software with my SP. Bazille is now just great , XILS4 has the sound I like and Kaivo and Aalto are like born for the SP love love love.

The one thing I am trying to achive is maybe some kind of sample manipulation not sure yet what kind or what but something . Maybe just a simple start end point manipulation , position thing but somethiong which is "fluid" and can maybe even do live sampling.

But again enough I have and I love my "problems" :-)

"I think randy is not in favour of this, due to the 'complexity', but Im getting increasingly tempted to add something like it to my setup. probably a simplified form, as its true, i tend to use only a few different combinations."

I don`t know . These "modes" add al ott to the client and they are very simple. I vote Yes :-)

But I know Randy is doing a lot now and he is super busy but really he should be proud of these instruments he created.

I wish you all a good night here from Yangon and thank you for making this version of the client

I have to try the EigenD Matrix and software again , to be honest the first time I just found it to complicated to achieve very simpolke results but again it must be me.

It's not just you.

Having lots of options is fine. But if they not are presented to the player with great care, more options result in less music being made. I've seen this time and time again with music systems. I'm doing my best to create new environments that are humane and musical.

I just want my Dx back :-)

I'm listening. It's easier for me to do a Soundplane release than a plugin release, so I'll see what I can do to speed this up.

agreed, good software design is about clean interfaces which hide complexity, and yet provide functionality its users require.

with expressive controllers its a tough area, they are a musical instrument but at the same time they are required to interface to existing vsts/hardware which take no heed of their requirements. (e.g. they are much more sensitive than keyboards, AT is not the same as continuous pressure) ... so 'tuning' them in, unsurprisingly takes a bit of customisation either on the synth side or the controller.
(MPE is only going to make a small in-road into this issue)

imho, this is why Kaivo/Aalto are so good with the soundplane, they are designed with it in mind, they work as 'a whole'
(its the same reason EaganMatrix + Continuum ... and perhaps Seaboard + Equator, make good pairings)

"Everything Should Be Made as Simple as Possible, But Not Simpler" A. Einstein (?)

Greetings,

well, this morning again there was no PB information either from the official client nor from the TB .

But then it came back .. I really dont know how , why and i will look into it more if it happens and tell you.

It could be of course me but it was a bit wierd.

In any case I than kyou again and wish you a nice day here from never ending moonson land

rastko

cool, just be careful with midi monitor, I know sometimes I forget Ive filtered out certain messages when Ive been looking for others.

I can really think of any reason why the soundplane app would stop sending, but if you can find a reproducible scenario let me know, and I will look into it.

greetings from sunny spain :)

updated version TB141 - I found a number of bugs in the midi handling from the official release concerning note on/off and the pitchbend and CCs sent.
These are now fixed in TB141

Randy, if you look at my latest checkin on my repo it will be pretty obvious the issues.

unfortunately, I can't issue a pull request as my code base now contains quite a few 'enhancements', so there a bit I divergence. and I dont have the time to do changes on both my build and yours.
(my build is a superset of yours, i.e. includes all your changes, should you wish to 'take as is' )

Thanks, I'll take a look.

You are right!Randy, Simplify is one of the esthetics that Soundplane has.