Short: Monitors any device for MIDI packets Author: kenny@bgnett.no (Kenneth "Kenny" Nilsen) Uploader: kenny bgnett no (Kenneth "Kenny" Nilsen) Type: mus/midi Version: 1.0 BETA Requires: dignet.library version 3+ (and a MIDI interface + instrument :) Architecture: m68k-amigaos Comments: mailto:kenny@bgnett.no $VER: MIDIMonitor 1.0ß (4.6.97) Copyright (C) 1997 by Digital Surface/Kenneth "Kenny" Nilsen. All rights reserved. This little proggy monitors any device that is capable of MIDI speed (31250 baud). The purpose is to monitor the MIDI messages sent from an instrument to the computer for debug reasons. Features: --------- - Can monitor any device (f.ex. serial.device) - Active sensing can be turned off - Optional system exclusive dump mode with manufacture ID (ID aliases is shown if exist in list. If you don't see your MIDI instrument listed by name please drop me a note). - Dumps names on the messages, not only a binary number (notes (f.ex C-5), what changes, on/off modes etc.) - Cover all MIDI kind of messages (AFAIK) which includes: - channel voice messages (note on/off etc.) - common messages (song pos, select etc.) - realtime messages (midi clock, start/stop etc.) - system exclusive mode (start/end) - Optional RAW MIDI data dump to file - Translates note-on with velocity 0 to note-off for you. Instruments that is incapable of sending pressure sensitive information on note-on messages always have attack velocity 64. USAGE: ------ MidiMon [options] [ ] Options: -i = ignore active sensing messages Most MIDI devices sends an active sensing message. This is to detect a MIDI device. The messages is sent every <300 ms. This could be used to see if your MIDI setup is correct. However, when you know the setup works you may want to ignore these messages since they are of no use elsewhere. Use this option to ignore the active sensing messages. They are however logged to the raw dump file if that is activated. -x = dump system exclusive messages This option let you dump the raw data (translated to ascii hex values) when the monitor receives system exclusive messages. These messages are specific for a MIDI instrument. BETA NOTE: This option is untested! -l = RAW dump file If you want a RAW dump file of the MIDI data you use this option. You must add a filename (in quotes if you use spaces). If no device or unit is defined the monitor uses serial.device unit 0 as default device. Use control + C to stop monitoring. Example: -------- MIDIMonitor -i -l ram:MIDI.raw -x duart.device 1 Message dump examples: ---------------------- Ch-voice msg: NOTE ON Ch: 1 (note: F#4 ($2A) attack velocity: 64) Ch-voice msg: NOTE OFF Ch: 1 (note: F-4 ($29) release velocity: 0) ^^^^ ^^^^ ^^^^^ ^^^ ^^^^ Message type Comand MIDI Note and value Velocity for note Channel Ch-voice msg: CONTROL CHANGE Ch: 1 (SUSTAIN OFF) ^^^^ ^^^^ ^^^^^ ^^^ ^^^^ Message type Comandtype MIDI type Status Channel System Realtime msg: START System Realtime msg: MIDI CLOCK System Realtime msg: STOP ^^^^ ^^^^ Message type Comandtype Notes: ------ This software is freely distributable. It is copyrighted by international laws. Program is written in assembler to achive most speed. The bottleneck is however the device drivers (this may cause loss of some MIDI datas!). The program use system routines only. The software must be considered BETA. My equipment doesn't send all types of MIDI messages so many message types are untested. Please report bugs and errors to me so I can make a quick update. I think there might be a bug with note-off messages (or note-on with velocity 0). There is a local-on message after each note-off, but I am not sure that this is correct. I have tried to locate the bug, but it seems like my keyboard sends the message (it's not registred with the arexx script from dignet.library 4 though..). If you have comments on this please let me know. Hint: ----- The dignet.library 4 includes an arexx host port. The library is under final betatesting and the distribution include an arexx version of this midi monitor (simplified though). You can see how midi messages are translated and you could add MIDI support to already existing music packages through arexx if they don't have MIDI already (they must have an arexx port of course :). So watch out for the dignet.library version 4 distribution.