[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::commusic_v1

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

1759.0. "PDP 11/73 Computer /RT11 - Sequencer Timestamping?" by KLO::COLLINS (STEVE) Mon Nov 07 1988 11:46

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.RTitleUserPersonal
Name
DateLines
1759.1VAXRT::GENTRYMegan Gentry MLO5-5/E76Tue Nov 22 1988 18:3012
    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.2It works ...KLO::COLLINSSTEVEThu Nov 24 1988 07:0819
    
    
    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..