Purple Hearts hpmusic



PSRMIDI is a tool that scans GM, GM2, XG and XF MIDI-files of format 0 or 1, style-files for Yamaha-keyboards and Cakewalk XG-SysEx bank-files. You will get an interpretation of all elementary midi-events included. The program has been developed to get knowledge about the interior of the songs which are produced by the Yamaha keyboards with its special XG-SysEx and voices, but it can also be applied with all other XG, GM and GM2 MIDI-files. The type of protocolized events can be selected by filters. There is no manual needed with the program.

SysEx bank-files are binary files with the extension .syx, including a sequence of SysEx-byte-strings. The files are created with Cakewalk.

In the listing you will find the time- and byte-position of each event, the message in hex and the textual interpretation of the message. If you want to learn something about the structure of midi-files, PSRMIDI will be useful.

PSRMIDI is programmed with Visual C++ for Windows. The program gets information from a Cakewalk instrument-definition-file (.ins), which should be selected to get better interpretations.


Unzip the file psrmidi.zip. You get the files:

1. PSRMIDIxxx-Setup.exe
Start this program to install PSRMIDI
2. yamaha_kbds_xxxx.ins
Cakewalk Instrument Definition File, including the Keyboards PSR-8000, PSR-9000, 9000 Pro, PSR S700 and PSR S900.
3. tyros_kbds_xxxx.ins
Cakewalk Instrument Definition File, including the Keyboards Tyros, Tyros2 and Tyros3.
4. SysEditor_DataList_xxx.4xg
includes the meanings of Yamaha XG Effect SysExes

You may use the always actual Cakewalk ins-files from my site Downloads - CW Ins-Files.
You get the always actual SysEditor Data List from Rainer Martin: http://www.go4musik.de/musikerseite.html


PSRMIDI is freeware, but it is not allowed to publish the program without my permission to be downloaded from private or commercial websites. It is not allowed for firms, to put the software on disks or CD without my permission. It is allowed for everyone to get information from the source-code.




Wednesday, 21 July 2010
  • New: SysEx Protocol using SysEditor XG Effect Data file (.4xg)
Tuesday, 27 October 2009
  • Bug repaired: Crash with system effect Chorus
  • Bug repaired: Protocol of Yamaha SysEx Guide
  • Octaves of note names now count from -2 and not from 0
  • Protocol of some Yamaha meta events improved
Tuesday, 18 September 2007
Protocol improvements with:
  • MHd and MTrk
  • Dump Request SysEx
  • Plugin Board SysEx
  • Clavinova Quantized SysEx
Tuesday, 31 January 2006
SysEx protocol revised
Monday, 21 November 2005
  • Better error-detection with XF chord-events
  • Better documentation of Vocal Harmony SysEx
Sunday, 21 August 2005
  • Bug with SysEx Style Tempo Control repaired.
  • Bug with Chord Control SysEx Type 1 repaired.
  • Bug with Music Finder chunks in styles repaired.
  • Protocol of Treble frequency correct now.
  • Numbers of Effect Blocks of Insertion SysEx start now with 1 instead of 0.
Wednesday, 20 April 2005
1. Protocol of XG SysEx "Rcv Channel" repaired.
2. Close of source midifile on Exit added.
Friday, 18 March 2005
new program icon
Sunday, 13 February 2005
Detailed protocol of XG Effect SysEx (Reverb, Chorus, Variation, Insertion)
Friday, 26 November 2004
Some Clavinova (Score) SysEx added.
Some XF Meta-Events added.
Protocol of XG MultiPart SysEx improved.
Saturday, 30 October 2004
  • Some more SysEx interpreted; for example Vocal Harmony
  • Start with Drag&Drop
Saturday, 30 October 2004
  • Bug with long (variable length) Meta-Events repaired.
  • Selection of Instrument-Definition-File optional.
  • Protocol of Chord-SysEx completed.
  • Chord-Detection removed from program. Use PSRUTI to get this function.
  • Installation with the installation-software NSI.
Saturday, 30 October 2004
Bug with Cakewalk SysEx-Banks (.syx) repaired.
Saturday, 30 October 2004
Protokoll of Tyros style-files, all file-extensions allowed.
Saturday, 30 October 2004
  • Analyses now GM2 Universal Real and Non-Real Time SysEx, Control Change names of GM2.
  • Cakewalk GM2 Definition File added ( from http://www.soundnet.jp/cakewalk/library.html )
Saturday, 30 October 2004
Bugs: Exception with a special MIDI-file. Better error-detection.
Saturday, 30 October 2004
Detects more chords
Saturday, 30 October 2004
Bug repaired: Sometimes no protocol of copyright- and track-name-events.
Saturday, 30 October 2004
Detects more chords
Saturday, 30 October 2004
Bugs repaired with key signature and chord-detection (last chord printed now)
Saturday, 30 October 2004
  • Bug: No search for chords in percussion channels
  • New: Channel-selection for chord-detect
  • New: Protocolizing number of note on/off for each channel
  • Clear and append to prot-file with button "Run" now
Saturday, 30 October 2004
  • File select uses the last path.
  • A bug with GS-files removed.
  • Only one bug-message of ins-file problems.
  • psr8-9k.ins (1.5)
Saturday, 19 October 2002
Initial version