Title: | * * Computer Music, MIDI, and Related Topics * * |
Notice: | Conference has been write-locked. Use new version. |
Moderator: | DYPSS1::SCHAFER |
Created: | Thu Feb 20 1986 |
Last Modified: | Mon Aug 29 1994 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2852 |
Total number of notes: | 33157 |
Any midi experts help me with this ? I'm writing a simple sequencer in Macro under RT11 on a micro 11/73 . So far I have a menu interface that selects which of 4 tracks is set to record , play or pause .The midi data is timestamped as it arrives and put in memory . The problem is I timestamp every midi event as it arrives (not including events that are filtered such as midi timming and active sensing bytes). This means that note on/off events are not clumped together , that is the status byte , note No. byte and velocity byte are individually time stamped .The problem with this is that when I record one track then set this track to play and set the next to record , If a note recorded on the second track occurs so that when it is played back the note number byte of the first track ocuurs after the note number of the second track it can get interpreted by my synth as a velocty byte. Now I could get round this by checking the incomming data for note on/off status bytes and recording the following two bytes and similarly binding the three bytes on playback ...except for running status. My drum machine (Kawai R50) uses running status when playing patterns . This means the abouve scenario of binding the three bytes together as an event wouldn't work as with running status I couldn't tell how many bytes there would be between status bytes. Does anyone have any bright idea's or know how commercial sequencers handle this kind of thing ? Thanx Steve Collins
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
1759.1 | VAXRT::GENTRY | Megan Gentry MLO5-5/E76 | Tue Nov 22 1988 15:30 | 12 | |
Sounds like you're not recording the channels as separate streams of data. I would suggest when you playback channel 1 while recording channel 2, channel 2 data goes into another section of memory. The program can then make a pass over both data streams to merge them into a single stream of MIDI data. I'm definitely interested in the program, as I have some -11's which I would like to use to control my CZ-101. Megan Gentry RT-11 Development | |||||
1759.2 | It works ... | KLO::COLLINS | STEVE | Thu Nov 24 1988 04:08 | 19 |
For anyone interested , I solved the problem . Firstly , when I record a track say track 1 .I record it first onto an intermediate track that's invisible to the user.Then when recording is finnished the program copies this intermediate track to track 1, processing the data to add in the missing status bytes when runnung status has been used. (This intermediate track will be very usefull when I add editing) Secondly , on play back ,I bind note on/off's together so that when the program plays back a note on status byte it will immediatly play back it's associated note no. byte and velocity byte. even if there's data waiting to be played back on another track. In theory there can be some delay when a note is played back .But in practice I've found I just can't hear it. These two fixes have solved my origeonal problem. steve.. |