wait for user start signal which forces a pause until the user supplies a command which starts the song step 132 as soon as the user supplies the start command the playsong routine starts the simultaneous playback of the stored accompaniment i e the synchronized audio and video tracks on cd rom player 6 step 134 in the described embodiment this is an interleaved audio video avi file that is stored on a cd rom it could of course be available in a number of different forms including for example a wav digitized audio file or a red book audio track on the cd rom peripheral since the routines are 34 synchronous 34 i e do not return until playback is complete the program waits for the return of the windows operating system call to initiate these playbacks once the playback has been started every time a midi event occurs on the midi guitar i e each time a string is struck the installed midi interrupt service routine processes that event in general the interrupt service routine calculates what virtual guitar action the real midi guitar event maps to before examining in greater detail the data structures that are set up during initialization it is useful first to describe the 39 song data file and how it is organized the song data file contains all of the notes of the guitar track in the sequence in which they are to be played as illustrated by fig3 which shows a short segment of a hypothetical score the song data is partitioned into a sequence of frames 200 each one typically containing more than one and frequently many notes or chords of the song each frame has a start.