PDA

View Full Version : Midi


infopocalypse
13th July 2002, 08:41 PM
MIDI -- Musical Instrument Digital Interface data will be found here, including relevant data on how to program MIDI, MIDI specs, etc.

Open Directory's MIDI links can be found here:

http://dmoz.org/Computers/Multimedia/Music_and_Audio/MIDI/

infopocalypse
13th July 2002, 08:42 PM
http://www.borg.com/~jglatt/tech/midispec.htm

That link uses frames :-( ... will try making a mirror avaliable on my site. It also is put in much more layman's terms than the actual specs, which are HERE:

http://www.gweep.net/~prefect/eng/reference/protocol/midispec.html

infopocalypse
13th July 2002, 09:06 PM
Linux:

http://ccrma-www.stanford.edu/~craig/articles/linuxmidi/

What MSDN has to say about it:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/midi_41ux.asp

Apple's core audio data:

http://developer.apple.com/audio/pdf/coreaudio.pdf

MIT's programming library for MIDI:

http://www.media.mit.edu/hyperins/rogus/

mkl
14th July 2002, 04:19 AM
thank you very much!

i look forward into digging into MIDI programming

..that probably won't be until the weekend is over ;)

mkl
15th July 2002, 08:27 PM
For MSDN, there seems to be three options.

- Media Conrol Interface (MCI) : it can play midi files, but not so useful, since it only supports MIDI out

- Stream Buffers/MIDI Services : the low level API. direct access to registered midi devices, and the ability to directly manipulate MIDI messages. Perhaps a bit
complicated for straightforward things, since MIDI data blocks need to be manually constructed. Could benefit from some abstraction classes, perhaps the MIT library.

- DirectX : I haven't found any documentation or examples beyond loading and playing a MIDI file, so I'm not sure DirectX adds anything for MIDI beyond what's in MCI.

mkl
15th July 2002, 09:42 PM
I thought I'd post details of the project in my head, so that it's clearer what functionality is needed from the MIDI api. And comments and suggestions are appreciated.

The project is to create a framework where detailed data from a MIDI stream can be assigned to graphic elements in a visualization. So, each note, velocity, duration, etc. is accessible to the visualization. This would primarily be useful for "live" electronic music performances. I believe this level of detail could create some especially wonderful audio-video mappings.

No doubt some software, or set of softwares, has this functionality (I'd be interested to hear which). So, to do something different, I plan to code the framework so that MIDI events are accessible from Flash MX animations.

In order for Flash to receive MIDI data, in Flash I would use the XMLSocket interface. This is the only way to receive an external stream.

So, I'd code a small .exe proxy, to receive MIDI In (configurable and filterable), and send a lightweight XML stream to a socket. Depending on efficiency of Flash, the XML could be little more than <MIDI data="0xXXXXXXXXX" />, or it could break the MIDI down into its parts.

Within Flash, there would be a component to register callbacks to classes of MIDI events. These callbacks could then manipulate some part of the animation.

That's it!

MoRpH
16th July 2002, 02:25 AM
Are you sure you wouldn't rather write a Commandpost2MIDI software instead as your project :D

Anyone
16th July 2002, 08:27 AM
FYI,

I have started recently to give out
MIDI workshops and consultancy sessions
with my mate Nic.

For more info, go to this site:
http://www.technicalskillslab.com/