Audiostuff
Here i will put stuff about Audio. I mainly work with Ableton Live, Propellerhead Reason, Max/MSP and Pure Data (pd). Ever if i stumble accross a problem i have to investigate a lot into i will write it down here.
Automation of MIDI CC parameters for external instruments in Ableton Live
Unfortunately it is still not possible in Ableton Lives arrangement view to automate CC parameters for external instruments right away. Within normal clips this is no problem (using the envelope button showing an "E" on the left side of the clip view and defining the according CC values for the parameter) but not in the arrangement view.
Obviously I'm not the only one missing this crucial feature - it's on the wishlist for some years at abletons already by now. However it's still not implemented yet. Perhaps this is due to the problem of having both the clip and the arrangement where the clip is currently playing altering the value of a particular CC parameter at the same time - while in the Clip it might be part of some self drawn LFO-like modulation while in the arrangement view it should affect the overall sound - who knows...
However the nice thing about things that have been worried about before: there usually exist some workarounds. At least that's the case for this particular problem: As Abletons Live grew to such a powerfull DAW and now includes Max4Live there has been some guy who implemented just this feature using Max4Live. It's a simple MIDI-Effect (as your arpeggiator in Live and what have you) which drops in right before the actual instrument (external instrument in my case). It provides 16 rotary encoders with selectable CC number + label for each encoder so you don't get confused. Those encoders can be automated in the arrangement view just like any other encoder there is in the track.
It's simply called CC Sender 16 and has becomn a quite useful tool to me.
MIDI Clock via LAN with Max/MSP
Why this?
Two computers can be easily connected with just a ethernet cable (d'uh!).
But what if you happen to run two applications on two computers, that should generate sound synchronously?
In this example i wanted to let reason run on two computers, lead the output into a dj-mixer and thereby have the possibility to mix my tracks in a live-set.
Reason itself doesn't serve the option to run a MIDI Clock for other applications - therefor a workaround must be found.
To accomplish this task pureData (pd) and Max/MSP are suitable and as i have not had workd with Max/MSP that much i thought it would be a good challenge to get this up and running with Max/MSP.
MIDI Clock Server
- Patch showing the MIDI Clock Server in Max/MSP
The above Image shows the Patch for the Server in Max/MSP. The sync~ object is the MIDI Clock itself.
It can be triggered and stopped using start and stop. It is served with the bpm value for speed by the float input.
The MIDI Clock Signal is then routed from the output via UDP to the other computer (192.168.178.67) and with a delay of 4ms (see pipe object) to localhost (192.168.178.68 in this case is the computer this patch runs on). The 4ms delay can be revised downwards usually down to 2ms (it is the delay that occurs on the ethernet connection).
MIDI Clock Client
- Patch showing the MIDI-Clock Client in Max/MSP
The above Image shows the MIDI Clock Client Patch in Max/MSP. It listens on port 2000 for UDP-messages and pipes them into the c(ontrol)c(hange) objects input of the midiformat object. The decoded MIDI clock messages are then piped to midiout and are now available on the client computer for the running applications.
Reason as MIDI Clock Slave
First of all we have to make sure, Max/MSP uses the right MIDI interface.
In locked state click on the midiout object on the client and select the apropriate output you want to route the MIDI Clock signals to to get them into Reason afterwards.
On Mac OS X
the MIDI Outputs from Max/MSP should be see- and selectable and you can right jump to the Reason Preferences
For Windows
it doesn't work that right out of the box as it does on Mac OS X as already Max/MSP lacks the from MaxMSP MIDI outputs here.
They can be installed using MIDIYoke.
On Windows 7 you first have to choose the lowest point (Never notify) in ‘System Preferences’→‘User Accounts and Family’→‘User Account Control Settings’ and restart the system.
Now you can install MidiYoke, reset the Setting to where it was and once again restart the system.
You should be able by now to use virtual MIDI ports also on Windows.
Reason Preferences
First of all you have to tell Reason, which Port to use vor MIDI Clock signal input. That's done in ‘Edit’ → ‘Preferences’ → ‘Experts Preferences’ under Port. Last but not least you have to check the Option MIDI Clock Synch once again on ‘Edit’ → ‘Preferences’ → ‘Advanced MIDI’ and trigger the start-Message in you Max/MSP Server Patcher.