Benodigdheden:
* virtual midi port (LoopBe1)
* Java MIDI device dat MIDI berichten kan zenden (ontvangen is niet nodig)
(* Max for Live (M4L) patch die muzikale output mogelijk maakt adhv ontvangen MIDI-bericht)
* Ableton Live 8.1
Om MIDI-berichten te kunnen zenden van Java naar Ableton is er een virtuele midi-poort nodig die in feite als kabel dient. In Java is het dan mogelijk om via MidiSystem het MidiDevice op te vragen dat overeenkomt met de virtuele poort. Dit device kan een ShortMessage doorgeven aan Ableton dat per instrument kan instellen op welk kanaal en welke poort het moet luisteren. Het kanaal dat opgegeven in de ShortMessage komt NIET overeen met het kanaal in Ableton! (setMessage(int command, int channel, int data1, int data2))
Ableton: Ch. 1 -> Java int: 31 of 63 of 127 ...
Ch. 2 -> Java int: 1
Ch. 3 -> 2
...
Aangezien er 16 MIDI-kanalen zijn is het dus mogelijk om op deze manier 16 verschillende instrumenten aan te sturen. Weliswaar op een beperkte manier omdat ik er nog niet in geslaagd ben om Midi events te sturen naar Ableton die niet alleen info over noten bevatten maar ook info over het tempo. Deze manier zou ideaal zijn en wordt daarom nog verder onderzocht. In de huidige testapplicatie wordt voorlopig nog gewerkt met een Thread.sleep(long) om het tempoprobleem op te lossen.
donderdag 18 februari 2010
Abonneren op:
Reacties posten (Atom)
Geen opmerkingen:
Een reactie posten