happy new year to all.
For the new years eve I was asked to make a small ambient "gig" during a church service in our local church. I worked hard
I've a small Ni Machine Mikro and a cheap Andoid 7inch tablet and I had the idea to use only my laptop and machine and I needed a free flowing looper setup.
For looping I like to use Möbius. The internal loopers of Usine are nice, but don't fullfill my needs.
So I build a setup
* Usine:
** as VST host
** as OSC receiver / sender
** Midi to OSC translator
** Audio "Master" (Echo, Limitterer etc)
** No big touchscreen. Laptop should only be used as display for Machine & Möbius. Touching the keyboard "forbidden"
* NI Machine Mikro as VSTi
* Moebius as Vst
* Android with TouchOSC (inclusive feedback/state control of Moebius) to control the whole setup.
Sounds simple, but was a lot of small things to do.
Let's start at TouchOSC.
Due to my decsision not to use my touch screen (24inch) for the live setup, I was looking for a simple solution to control the whole setup with a small display. Some days before I bought just for fun one of those cheap Android Tablets for 79 Euro as an Arduino controller, plan changed... Wlan works perfect, so I installed TouchOSC and designed my own Moebius/Machine interface which allows me to play free without the overhead of a complex display or a massive screen in front of me. 4 Channels for the looper, buttons for making Moebius and Machine visible, controlling audio out and some things like channel selection, overdub, reseting etc. And - and this was the biggest problem: Give feedback which function is running (Leds and lighted buttons) back to TouchOSC
TouchOSC to Usine. Easy living. Made a patch with OSC Receivers and use the learn function (which is great). Wrote some patches which send MIDI to Moebius (Midi Bus) and control some of the data of the VST via DataBusses.
Took the visible state from the VST Patches and created a patch which sends the currend state back to TouchOSC. Simple. But there's one thing at Usine which is no so good. I need several OSCSenders in differnt patches. And each OSCSender has it's own configuration. During my test I must change sometimes the OSC target (Which is a IP Adress as String). So I must open all patches and change the IP Adress. Later I build a sort of a configuration patch which outputs a bus with the IP Adress to have a central point where I could change the IP Adress for all patches. But this doesn't work very well. I don't know why, but sometimes some of the OSC Senders are not updated. I did not find the rule
Only a small Problem. Maybe I can build a reproducer to show the problem. It must have something to do with the update when the value is changed (String/Array) no "bang" is created, (I know, there is no bang in Usine, but Arrays and Update are a miracle for me, every time when updates are processed)
After connecting tracks and patches my setup was ready to run. Works perfekt. but "Feedback to TouchOSC?"
All people who are not working with Moebius should now stop reading.... For Moebius fanboys:
Sounds simple, sending states back via OSC. But does not work, Jeff's working on it, it's not ready yet. The OSC Implementation doesn't work stable inside a VST. OK, so why not using MIDI state (for host) information? Does not work, most of the states are not reported to this Interface and I wanted a real feedback of the state. If the red pacman starts on my tablet a red light should go onm mute a blue led (for each channel)
My solution with Usine!
I created a clock patch which creates every 500ms a message. This message is send via MIDIto Moebius. Inside Moebius the controller event is bind to a Moebius script which computes the currend state of each channel and the result is send as bitmask to midi out. Not to OSC, cause it doesn't work. I said MIDI out not Usines internal MIDI! So I used a virtual Midi (Midi Joke) to route this midi message back to Usine. In a separate track a patch split the bitmask and creates the final OSC commands and send this back to TouchOSC. And .. perfect. It works.
A complete roundtrip and a perfect state distribution. Works stable over 24 hours.
It's not normal Usine usage. But this solution, shows the flexibility of Usine. Usine helps me to create a new Instrument from exisiting components. It was great to play this live session and I made a long ambient improvisation. I was asked to do this again at some more events
A small Wifi was running in my pocket
This is what I call a success story
This setup is complex. For my own understanding I've drawn a diagram as documentation how the components work together:

Wishes / Ideas for the new year
