<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id2713940">
  <name>Useful MIDI Software Utilities</name>
  <metadata>
  <md:version>1.2</md:version>
  <md:created>2007/07/24 13:41:44 GMT-5</md:created>
  <md:revised>2008/03/18 11:29:16.929 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="doering">
      <md:firstname>Ed</md:firstname>
      
      <md:surname>Doering</md:surname>
      <md:email>doering@rose-hulman.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="doering">
      <md:firstname>Ed</md:firstname>
      
      <md:surname>Doering</md:surname>
      <md:email>doering@rose-hulman.edu</md:email>
    </md:maintainer>
    <md:maintainer id="eluther">
      <md:firstname>Erik</md:firstname>
      <md:othername>B</md:othername>
      <md:surname>Luther</md:surname>
      <md:email>erik.luther@ni.com</md:email>
    </md:maintainer>
    <md:maintainer id="SShearman">
      <md:firstname>Sam</md:firstname>
      <md:othername>D.</md:othername>
      <md:surname>Shearman</md:surname>
      <md:email>sam.shearman@ni.com</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>JAZZ++</md:keyword>
    <md:keyword>mf2t</md:keyword>
    <md:keyword>MIDI-OX</md:keyword>
    <md:keyword>XVI32</md:keyword>
  </md:keywordlist>

  <md:abstract>Freeware MIDI-related software utilities abound on the Internet; 
some of my favorites are described in detail here. Each section includes a 
screencast video to illustrate how to use the utility.</md:abstract>
</metadata>
  <content>
    <section id="id-0395936307634">
      <name>mf2t / t2mf</name>
      <para id="id6442970">Standard MIDI files are binary files, and therefore cannot by read using a standard text editor. Piet van Oostrum has developed a companion pair of console applications called <term>mf2t</term> (MIDI File to Text) and <term>t2mf</term> (Text to MIDI File) that translate back and forth between the standard MIDI file and a human-readable version. You can more easily study the text-version MIDI file to see the messages, meta-events, and timing information. Also, you can edit the text-version, and then convert it back to the standard binary format.</para>
      <para id="id3118095">Available at <link src="http://www.midiox.com/">http://www.midiox.com</link> (scroll towards bottom of the page).
</para>
      <figure id="id2677567"><media type="image/png" src="midi_software-mf2t.html">
   <param name="thumbnail" value="midi_software-mf2t.png"/>
   </media>
<caption>
   [video] Tour of the mf2t / t2mf MIDI-to-text conversion utilties
</caption>
</figure>
    </section>
    <section id="id-139855526293">
      <name>XVI32</name>
      <para id="id8550048">Created by Christian Maas,<term> XVI32</term> is an excellent binary file editor (or “hex editor”) when you need to view a standard MIDI file directly. XVI32 can also modify the file by tweaking individual byte values, or by inserting and deleting ranges of values. The editor also includes tools to interpret data values, i.e., select and range of 8 bytes and interpret as an IEEE double-precision floating point value.</para>
      <para id="id6534110">Available at <link src="http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm">http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm</link></para>
      <figure id="id8171827"><media type="image/png" src="midi_software-xvi32.html">
   <param name="thumbnail" value="midi_software-xvi32.png"/>
   </media>
<caption>
   [video] Tour of the XVI32 hex editor for viewing standard MIDI files
</caption>
</figure>
    </section>
    <section id="id-279696108839">
      <name>MIDI-OX</name>
      <para id="id7119496"><term>MIDI-OX</term> is a wonderful utility developed Jamie O'Connell and Jerry Jorgenrud. MIDI-OX serves as a MIDI protocol analyzer by displaying MIDI data streams in real-time. MIDI-OX can also filter MIDI streams (remove selected message types) and map MIDI streams (change selected message types according to some rule). MIDI-OX includes other useful features: you can use your computer’s keyboard to generate note events (you can even hold down multiple keys to play chords!), you can play standard MIDI files (.mid files), and you can capture a MIDI data stream and save it to a file.</para>
      <para id="id7731143">In order to make full use of MIDI-OX, you will also want to install the <term>MIDI-Yoke</term> driver. MIDI-Yoke works like a virtual <term>MIDI patch bay</term>, a device that connects MIDI inputs and outputs together. For example, you can connect the output of a MIDI sequencer application to MIDI-OX to view the MIDI messages, and then send the message to the MIDI synthesizer on your soundcard. When you have many MIDI-capable devices connected to your computer, MIDI-OX and MIDI-Yoke make it easy to quickly re-configure the virtual connections without changing any external cables.</para>
      <para id="id5696083">Available at <link src="http://www.midiox.com/">http://www.midiox.com</link></para>
      <figure id="id6439607"><media type="image/png" src="midi_software-midiox.html">
   <param name="thumbnail" value="midi_software-midiox.png"/>
   </media>
<caption>
   [video] Tour of the MIDI-OX utility
</caption>
</figure>
    </section>
    <section id="id-0773361686907">
      <name>JAZZ++</name>
      <para id="id2599619"><term>JAZZ++</term> is a <term>MIDI sequencer </term>created by Andreas Voss and Per Sigmond. JAZZ++ serves as a multi-track recorder and editor for MIDI-capable instruments, and also supports audio tracks. A musician can create a composition with full instrumentation by recording tracks one at a time. Performances such as a piano solo recorded by the sequencer can easily be edited to correct any mistakes. JAZZ++ is also a great way to graphically visualize the contents of a standard MIDI file.</para>
      <para id="id2688228">Available at <link src="http://www.jazzware.com/zope">http://www.jazzware.com/zope</link></para>
      <figure id="id8005414"><media type="image/png" src="midi_software-jazz.html">
   <param name="thumbnail" value="midi_software-jazz.png"/>
   </media>
<caption>
   [video] Tour of the JAZZ++ MIDI sequencer application
</caption>
</figure>
    </section>
  </content>
</document>
