Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!ginosko!uunet!mcsun!ukc!servax0!ese!chena1 From: chena1@ese.essex.ac.uk (Chengodan A) Newsgroups: comp.music Subject: Need help With MIDI interface S/W Ideas. Keywords: Keyboard to IBM via MIDI. Message-ID: <2211@servax0.essex.ac.uk> Date: 21 Oct 89 12:04:37 GMT Sender: news@servax0.essex.ac.uk Reply-To: chena1@ese.UUCP (Chengodan A) Organization: University of Essex, Colchester, UK Lines: 76 *************** A.Chengodan, ESE, Essex University, Colchester,CO4 3SQ, Essex, UK. 21/10/89. Hi, I have got more problems to solve with MIDI. I'm trying to interface an IBM-AT with a keyboard via MIDI. Now I`m not sure the actual DATA structure I need to use on READING THE MIDI MESSAGES; especially the timing information of each MIDI MESSAGES i.e: In storing the MIDI MESSAGE ( key on/off ..), how do I include the time field indicating when each note/event ( key on/off ..) has occurred (relatively/ ??). This is to make sure the MIDI MESSAGES are sent at a right time on playback. How to incorporate this timing in the MIDI MESSAGE structure? So far I could only think of these, using: (1). hardware: Reading a Real-Time clock with high resolution. or A special timer set after each key is pressed and reset it as it's released. ( not sure this is that simple when 16 keys are pressed simultaneously ....) (2). software: Reading a computers Real-Time clock and calculate the time interval between each event. ( this might eat-up a lot of CPU's time and miss reading the incoming data..). The structure which I think suitable in C is: struc MIDIMSG { int status; /* 8 bit integer */ int data; /* to make a full */ int speed; /* use of memory */ int time; }; (3). SYSTEM REAL-TIME MESSAGES: Using the System Real-Time MIDI Messages which provide a TIMING-CLOCK at a rate of 24 beats per quarter notes. If I could use this, what sort of calculations or steps I should take to make it work? I hope to get some comments and ideas of how I can go around solving this problem. I wish you will be able to send some Email for me. Thank You Very Much. *************** *************** Email: chena1@ese.essex.ac.uk. ***************