| 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..
| |||||