Smart PianoSoft files
2004-01-03 by PianoBench@aol.com
Good morning, everyone.
Regarding the on-going discussion Smart PianoSoft files and the cryptic data that they contain:
(1) Although I don't know the details as to how the synchronization is maintained between the floppy disk and the CD, I can tell you that a Smart PianoSoft MIDI file contains System Exclusive messages throughout. It appears as though these messages maintain the synchronization. They are not present in a normal Disklavier recording.
(2) It was mentioned that there was a lot of mysterious data observed in a hex dump of one of these files. I suspect that this additional data consisted of sequencer-specific meta events.
For example, I am looking at a Smart PianoSoft file right now that has these 4 sequencer-specific meta events at the beginning:
FF 7F 43 71 00 00 00 41
FF 7F 43071 00 01 00 00 00 20 20 20 20 53 6F 57 68 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
FF 7F 43 71 7D 00 02 00 07 00 02 00 09 1B 20 13 10 25 18 36 05 24 1D 3E 2D 37 3C 37 1B 43
FF 7F 43 7B 0C 00 01
Sequencer-specific meta events always begin with FF 7F. "43" is the Yamaha ID.
I don't know the purpose of most of these events. I can tell you that the last event tells the Disklavier (or a CVP Clavinova) which MIDI channels contain the Right and Left hand parts and should, therefore, be mapped to the R and L Part Cancel buttons. In this example, "00" means that there is no Right Hand part and "01" means that the Left Hand part is on channel 1.
This last meta event is an interesting and important one. Disklaviers, by default, traditionally assume that the Left Hand part is on channel 1 and the Right Hand part is on channel 2. Clavinovas, on the other hand, make the opposite assumption.
Pedagogical MIDI files from the major print publishers (Alfred, Hal Leonard, Warner Bros., FJH, et cetera) generally follow the Roland standard of putting Left Hand on channel 3 and Right Hand on channel 4. In recent years, I have been able to pursuade most of these publishers to add the appropriate sequencer-specific meta event so that Disklaviers and Clavinovas will know how to map the proper channels to the Left and Right Part Cancel buttons.
The meta event that they now add to their files looks like this:
FF 7F 43 7B 0C 04 03
Most people are completely unaware of the existance of sequencer-specific meta events because almost every software sequencer for computers ignores these events. In other words, if you open one of these files in a typical sequencer, the meta events will be blown away.
The only two sequencers of which I am aware that recogize and display these events are Yamaha's XGWorks for Windows (and possibly for Mac) and MidiGraphy for Macintosh.
Regards,
PianoBench
Regarding the on-going discussion Smart PianoSoft files and the cryptic data that they contain:
(1) Although I don't know the details as to how the synchronization is maintained between the floppy disk and the CD, I can tell you that a Smart PianoSoft MIDI file contains System Exclusive messages throughout. It appears as though these messages maintain the synchronization. They are not present in a normal Disklavier recording.
(2) It was mentioned that there was a lot of mysterious data observed in a hex dump of one of these files. I suspect that this additional data consisted of sequencer-specific meta events.
For example, I am looking at a Smart PianoSoft file right now that has these 4 sequencer-specific meta events at the beginning:
FF 7F 43 71 00 00 00 41
FF 7F 43071 00 01 00 00 00 20 20 20 20 53 6F 57 68 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
FF 7F 43 71 7D 00 02 00 07 00 02 00 09 1B 20 13 10 25 18 36 05 24 1D 3E 2D 37 3C 37 1B 43
FF 7F 43 7B 0C 00 01
Sequencer-specific meta events always begin with FF 7F. "43" is the Yamaha ID.
I don't know the purpose of most of these events. I can tell you that the last event tells the Disklavier (or a CVP Clavinova) which MIDI channels contain the Right and Left hand parts and should, therefore, be mapped to the R and L Part Cancel buttons. In this example, "00" means that there is no Right Hand part and "01" means that the Left Hand part is on channel 1.
This last meta event is an interesting and important one. Disklaviers, by default, traditionally assume that the Left Hand part is on channel 1 and the Right Hand part is on channel 2. Clavinovas, on the other hand, make the opposite assumption.
Pedagogical MIDI files from the major print publishers (Alfred, Hal Leonard, Warner Bros., FJH, et cetera) generally follow the Roland standard of putting Left Hand on channel 3 and Right Hand on channel 4. In recent years, I have been able to pursuade most of these publishers to add the appropriate sequencer-specific meta event so that Disklaviers and Clavinovas will know how to map the proper channels to the Left and Right Part Cancel buttons.
The meta event that they now add to their files looks like this:
FF 7F 43 7B 0C 04 03
Most people are completely unaware of the existance of sequencer-specific meta events because almost every software sequencer for computers ignores these events. In other words, if you open one of these files in a typical sequencer, the meta events will be blown away.
The only two sequencers of which I am aware that recogize and display these events are Yamaha's XGWorks for Windows (and possibly for Mac) and MidiGraphy for Macintosh.
Regards,
PianoBench