The following software is Windows 95/98/NT/2000/XP stuff that I've written. Some of these utilities require Microsoft's Visual C 4.0 runtime library which is a file named MSVCRT40.DLL. You very likely already have this file in either your Windows or System directory, but if you need to obtain it, it's freely available, and the download is provided below (under "Miscellaneous").

For most of the following programs, you'll be downloading one file. This file is the install program. When you run this install program, it will allow you to choose some options, and then it will install the final set of files upon your computer. After installation, you can delete this (install) program that you've downloaded (or keep it somewhere in case you have to reinstall the software later).


MIDI Utilities

MIDI File Disassembler/Assembler

A program to convert MIDI files into readable text files that you can view and edit with any text editor. This also goes the other way, converting the text file back into a new MIDI file with any changes you made. But it's more than that. It features much more processing of the MIDI data, allowing you to filter out any particular types of data, or filter by MIDI channel or note range, or remap note numbers, or scale volume, or delay tracks, etc. In order to use this program, you must first download and install the MidiFile DLL and GenMidi DLL.

MIDI Patch Lister

A program that allows you to create lists of all of the patches upon all of your MIDI instruments. These lists are then referenced by programs such as the MIDI File Disassembler. In order to use this program, you must first download and install the GenMidi DLL.

MIDI File Converter

A program to convert MIDI File Format files between Types 0, 1, or 2. See About MIDI files for a more indepth explanation of the 3 Types. In order to use this program, you must first download and install the MidiFile DLL.

MIDI Input Viewer

A program that displays the MIDI messages at your computer's MIDI In. (It also can be used as a "software MIDI Thru" utility. Useful for checking the output of MIDI controllers, or verifying a sound module's response. In order to use this program, you must first download and install the GenMidi DLL.

MIDI Device Info Tool

A program that lists information about all of the MIDI devices in your system. Useful for checking device driver versions, and device capabilities.

WAVE (digital audio) utilities

Aiff To Wave

A program to convert Audio Interchange File Format (ie, AIFF -- a digital audio file format often used on the Mac) to WAVE file format (ie, the format mostly used on Intel-based computers).

Wave To Aiff

A program to convert WAVE file format to Audio Interchange File Format (ie, AIFF). This is the complementary utility to the Aiff to Wave utility above.

Patch Editors

Roland A-33 Patch Editor

A program to edit the parameters/setup of a Roland A-33 keyboard controller. Now you can setup the A-33 without needing to blindly poke at buttons upon its front panel. In order to use this program, you must first download and install the MidiFile DLL and GenMidi DLL.

Roland A-30 Patch Editor

A program to edit the parameters/setup of a Roland A-30 keyboard controller. Now you can setup the A-30 without needing to blindly poke at buttons upon its front panel. In order to use this program, you must first download and install the MidiFile DLL and GenMidi DLL.

Rap10 Playback Panel

A Windows 95/98/ME (not NT/2000/XP) program to control some aspects of the Roland RAP-10 audio card's playback. This can control the GM module's master volume, tuning, and transpose, as well as the muting of various MIDI channels. It also controls digital audio tracks' volume, tuning, transpose, chorus and reverb levels, and brightness. It controls reverb/delay and chorus units as well. (NOTE: For using the RAP-10's built-in sound module under NT/2000/XP, use an MPU-401 driver, and my SC-7 Playback Panel with that driver's MIDI Out).

RAP-10 Recording Panel

A Windows 95/98/ME (not NT/2000/XP) program to control some aspects of the Roland RAP-10 audio card's recording. This can control the microphone and aux input levels, turn the monitor on or off, and set bit resolution and sample rate.

SC-7 Playback Panel

A program to control some aspects of the Roland SC-7 MIDI module's playback. This can control the GM module's master volume, tuning, and transpose, as well as the muting of various MIDI channels. It controls reverb/delay and chorus units as well.

Miscellaneous

IDF Editor

Microsoft's program to create an Instrument Definition File (IDF) for Windows 95/98/ME. This is essentially Win95's version of the Patch and Drum Note remapping of Win3.1's MIDI Manager. An IDF allows you to remap the General MIDI Patch set and Drum Note assignments for a MIDI sound source that is not GM compliant. In this way, software that is designed to select patches and play drums upon a GM sound source will play the proper instrumentation and drum sounds upon a non-GM unit (ie, via the IDF you create for that unit). This is a zip archive, and you should use a utility such as WinZip to unzip it.

Microsoft Visual C runtime DLL

MSVCRT40.DLL is needed by most of my Windows utilities. Download this only if you don't already have that file in your Windows or System directory. This file is zipped, and you should use a utility such as WinZip to unzip it.

Developer's software

The following software is mostly of interest only to other developers:

These packages are archived in the ZIP format, and you should use the command to recreate directories when unzipping. Use a utility that preserves Windows Long File Names.

winmm.zip

Microsoft's online book that gives more detailed information about Windows MIDI and digital audio API. For programmers. This is a bit older information, and doesn't include some of the newer functions. It also doesn't give nearly as much depth as my Windows MIDI and Digital Audio Programming tutorial.

GenMidi DLL

A Win32 dynamic link library that you can use with your applications to add "Instrument Definition" support (ie, whereby the user can maintain a database of Bank and Patch names, and select among those, rather than needing to deal with Bank Controller and Program Change numbers). Think of the "Instrument Definition" portion of CakeWalk, and you'll get an idea what I'm talking about. Examples for using the DLL in C are included. Be sure that when you unzip this archive, you restore the directory structure saved within the archive. You also need an unzip utility that preserves Windows Long File Names. Also available is the MIDI Patch Lister utility for creating databases. Freely redistributable with your application.

MidiFile DLL

A Win32 dynamic link library that you can use with your applications to simplify reading and writing MIDI File Format. Examples for reading and writing in both C and C++ are included. Freely redistributable with your application. Be sure that when you unzip this archive, you restore the directory structure saved within the archive.