Thursday, February 6, 2014
OSC (Open Sound Control ) was the missing ingredient
I can't believe I didn't see it before but I now found the missing part needed to complete a prototype of some of our new musical instruments. OSC or also know as Open Sound Control http://en.wikipedia.org/wiki/Open_Sound_Control is just what's needed to start a quick development of a new touchpad musical instrument or for that mater many. Within just a few minuets I was able to interface my new android Acer Z5 phone to PD (Pure Data) http://en.wikipedia.org/wiki/Pure_Data that I have running on a Linux Mint desktop with a wifi interface that was so easy even with a modified XML user interface, I couldn't believe it could possibly work but it DID! So the fact is that we can now design a custom touch control interface with a simple XML file on your android phone or pad with totally free software that I'm presently playing with called Fingerplay Midi https://play.google.com/store/apps/details?id=de.goddchen.android.fingerplay&hl=en . This provides me the needed interface to PD (Pure Data) that can convert the touch screen of any android phone into needed events that control ether a PD synth or make PD into a gateway to one of the many (free) midi and OSC software synths that are already available on Linux and Microsoft Windows repositorys. Oh and also yes, all this is also available on cross platforms so as we develop new XML files to run on the android OSC touch controller and new PD synth and gateway patches, it will also run on both windows and Linux and I guess on OSX (apple) also with the same file set. On the downside I'm still not sure of how fast this preset OSC software interface will be. So it might require more development when we find what we like to make it more real-time based by moving the code into C++ or asm code to allow older and present day devices to run it in real time. But I see a future when that won't be needed as computer performance improves and the code libs are improved for performance the conversion won't even be needed. For all I know maybe the hardware needed is already available and the cost of development to improve performance is minimal. So I've already started testing with this concept with my new Acer Z5 android phone to see what can be done to get us started. I'll start to publish some of my PD patches with some XML file examples with fingerplay. I also looked at a few other OSC interface software that now already exist on android repository. There are many with some free as seen with fingerplay and others that charge to install on an android system. As what I see so far none have everything that I'm looking for. The most important missing part that is needed as soon as possible is to be able to modify what image is seen below the touch pad on the android OSC software. I would at least need the lines that define the note boundary of a present setting. So after I get a prototype sound interface with what is presently available I will promote some development time to having an android OSC user configurable interface that has more options of images seen bellow controls that would include sliders, bottoms and touch-pad surfaces. At the same time we will see what can be done to improve latency time from the android device to the OSC server side interface. As I see it the bandwidth needed for OSC protocol to function on a local network or even Wan is minimal so the speed improvements in software must be possible. So that's all that I've learned today so stay tuned. I think we will have what is needed for a good start soon.