Re: [linux-audio-user] real-time MIDI scripting?

From: Florian Schmidt <mista.tapas@email-addr-hidden>
Date: Sat Mar 10 2007 - 20:32:56 EET

On Saturday 10 March 2007, Larry Troxler wrote:
> Hi. Is there any scripting language out there that can read and write
> Alsa MIDI? I want to do things like remapping, intelligent, dynamic,
> keyboard splitting, assigning certain notes to close-open applications,
> sending alternate notes to different MIDI channels, and things like that.
>
> pd of course is a possibility, but at the moment I'm having problems
> getting pd-extended to run in 64studio, and regardless, I'd like to
> explore the text-language route.
>
> Larry

Well, SuperCollider can hande midi on the language side (the server side of SC
doesn't even know what midi is)

Implementing a simple midi filtering function should be a three liner once one
has got a grip on SC.

(
        MIDIIn.connect; // init for one port midi interface
// register functions:
        MIDIIn.noteOff = { arg src, chan, num, vel; [chan,num,vel / 127].postln; };
        MIDIIn.noteOn = { arg src, chan, num, vel; [chan,num,vel / 127].postln; };
        MIDIIn.polytouch = { arg src, chan, num, vel; [chan,num,vel /
127].postln; };
        MIDIIn.control = { arg src, chan, num, val; [chan,num,val].postln; };
        MIDIIn.program = { arg src, chan, prog; [chan,prog].postln; };
        MIDIIn.touch = { arg src, chan, pressure; [chan,pressure].postln; };
        MIDIIn.bend = { arg src, chan, bend; [chan,bend - 8192].postln; };
        MIDIIn.sysex = { arg src, sysex; sysex.postln; };
        MIDIIn.sysrt = { arg src, chan, val; [chan,val].postln; };
        MIDIIn.smpte = { arg src, chan, val; [chan,val].postln; };
)

This code example for example opens a midi port and simply prints some midi
event informations.

Flo

-- 
Palimm Palimm!
http://tapas.affenbande.org
Received on Sun Mar 11 00:15:01 2007

This archive was generated by hypermail 2.1.8 : Sun Mar 11 2007 - 00:15:01 EET