MID2PianoCD


What is it?

MID2PianoCD is a software program for Windows which allows you to encode MIDI and ESEQ music files into the special audio formats required by several types of electronic player piano systems. These formats are typically found on CDs or downloadable MP3 files in which one audio channel contains audio accompaniment while the other audio channel contains a digital control track for the piano (sometimes referred to as "analog MIDI"). Using MID2PianoCD, you can create your own tracks in the appropriate format to expand the music library of your piano.

MID2PianoCD currently supports the following player piano systems:

  • Live Performance Model LX
  • Bösendorfer SE
  • Steinway Spirio Silver
  • Yamaha Disklavier
  • PianoDisc
  • QRS Pianomation MIDI (1992-2011) / PNOmation II and III
  • QRS Pianomation 1 (1989-1991)
  • Superscope/Marantz Pianocorder
  • IMI CC-3 Cassette Converter

These additional compatible systems are also supported:

  • Pianoforce
    This low-cost player system is compatible with PianoDisc, Pianomation and Disklavier formats. To encode material for it using MID2PianoCD, select Disklavier format for best results.
  • Baldwin ConcertMaster / Suzuki Acoustic Piano Player System
    These are customized QRS Pianomation systems. To encode material for them using MID2PianoCD, select Pianomation MIDI format (or for slightly more accurate results, PianoDisc Classic format).

QRS has added DRM on its latest PNOmation II and III systems to protect its content and disable playback of unauthorized third-party tracks, including content encoded by MID2PianoCD. Pianomation MIDI tracks encoded with MID2PianoCD can be played on PNOmation II and III by contacting QRS and requesting an Unlock Code and Release Key to disable the DRM for your system's serial number.


How do I use it?

No documentation is included with MID2PianoCD, but you'll find that it is extremely easy to use. The general idea is that you use MID2PianoCD to convert MIDI and ESEQ files into specially-encoded WAV or MP3 files. You then either burn a set of WAV files to an audio CD to play on the piano's CD player, or you copy the set of MP3 files to your mobile device to stream directly to the piano via its audio input jacks.

Creating CDs

  1. Add one or more MIDI or ESEQ files to the list of source files. (You can also drag and drop one or more files into the window from Windows' Explorer.)
  2. Select the output path (where you want the encoded files to be written)
  3. Select WAV as the audio file type
  4. Select the type of player piano system for which you are encoding
  5. Click Start Conversion
  6. Locate the WAV files MID2PianoCD generated, and use any CD-burning package (EZ CD Creator, Nero, etc.) to burn an audio CD-R or CD-RW from them. Use Disc-At-Once mode to burn the CD, if available, and be sure to close the session. Do not create a data CD (i.e. a CD with files and directories on it) or the disc will not play on your piano.

Creating MP3 Files

  1. Add one or more MIDI or ESEQ files to the list of source files. (You can also drag and drop one or more files into the window from Windows' Explorer.)
  2. Select the output path (where you want the encoded files to be written)
  3. Select MP3 as the audio file type
  4. Select the type of player piano system for which you are encoding
  5. Click Start Conversion
  6. Locate the MP3 files MID2PianoCD generated and tag them (add titles and other embedded information) using your favorite MP3 tagging software (MP3Tag is a great tool for this).
  7. Copy the encoded, tagged MP3 files to your MP3 player just like any other MP3 files, connect the MP3 player to your piano's audio inputs, and play the files.

Creating Piano+Audio Tracks

If you'd like to create music tracks in which the piano accompanies an audio recording (as on some of the commercial CDs for these player systems), place a WAV or MP3 audio file of the accompaniment in the same directory as the MIDI file. If MID2PianoCD finds a corresponding accompaniment audio file, it will automatically merge the accompaniment into the encoded output WAV file with correct synchronization.

Your accompaniment WAV file must:

  • Have the same name as the MIDI file except for the .wav or .mp3 extension
  • Use the same sample rate as the output rate you've selected in MID2PianoCD
  • Be 16-bit mono (preferably) or stereo (left and right tracks will be merged during encoding)
  • Share a common time reference with the MIDI file; the files will be merged aligning the start time of 00:00:00 for both files

Authoring Piano+Audio Material

The general procedure to create appropriate MIDI and audio files for input to MID2PianoCD is to use a software package like Sonar to make the recording, recording both MIDI and audio into the same timeline. After editing the performance, export MIDI and WAV files from the project separately, and use them as inputs to MID2PianoCD. Recording and editing the files together will ensure that proper sync is maintained throughout the editing process.

The above procedure works if you can achieve sufficient isolation of the piano and accompaniment audio at the time of recording. If that's difficult in your environment, another approach is to record the piano first and then record the accompanying audio. For example, suppose you want to create a track in which the piano plays along with a vocalist:

  1. Have the singer and pianist perform the piece together and record a MIDI file of the pianist's playing (the singer is NOT recorded in this step.)
  2. Add a new audio track in the timeline of your editing software
  3. Have the singer wear headphones. Play the MIDI file back through the headphones (i.e. NOT on the acoustic piano) and lay down a new 44.1 KHz mono WAV recording of the singer (by herself) as she sings, accompanied by the pre-recorded piano accompaniment she is listening to in the headphones.
  4. Export the MIDI and WAV files from the timeline and use them as inputs to MID2PianoCD.

When encoding piano+audio tracks to accompany digital video of a performance, you will need to delay the video by exactly one second relative to the encoded audio to achieve proper synchronization. Also, remember to change the output sample rate to 48 KHz (the standard for digital video).

Automatically Tagging MP3 Files

MID2PianoCD has the ability to automatically apply ID3v2 tags to the MP3 files it creates. This can save a lot of time if you are preparing sets of files for multiple player systems. To use this feature, place a list of ID3v2 tags, one per line, in a UTF-8 text file in the same directory as each MIDI file. This file must have the same base filename as the MIDI file but with the extension ".tags.txt".

You can use this sample tags file as a template; just edit it in Windows' Notepad and replace the sample text in each field with the desired text for each tag. Do not change the four-letter tag IDs at the beginning of each line. If you have no text for a particular tag, either leave the text area blank or remove the entire line. You may add additional tag IDs to the file as long as they adhere to the id3v2.3 specification.

Selecting the Correct Source Velocity Profile

To achieve the best results when encoding MIDI files with MID2PianoCD, it is important that you select the correct source velocity profile in the Advanced menu of MID2PianoCD. This ensures that the dynamic range of the source material will be converted properly for playback on your particular player piano system.

If you believe the material you are converting was designed for a Yamaha Disklavier (and thus contains MIDI note velocities ranging from approximately 30 to 95), select the Disklavier source velocity profile. This profile is also appropriate for material intended for other solenoid player systems, especially PianoDisc.

For most other MIDI files, select the "Full Range" source velocity profile, which maps the piano's dynamic range to the full range of MIDI note velocities (1-127).

A useful tool for inspecting a histogram of velocities appearing in a MIDI file is Anthony Robinson's Veloset.

You can tell you've selected the wrong source velocity profile by simply listening to the results:

  • If the performance sounds bland, with minimal expression (the resulting dynamic range is too narrow) you have probably encoded Disklavier material with the full-range source velocity profile. Reconvert using the Disklavier source velocity profile.
  • If the performance sounds too extreme and stident, with excessive expression (the resulting dynamic range is too wide), you have probably encoded full-range material with the Disklavier source velocity profile. Reconvert using the full-range source velocity profile.

Note that MID2PianoCD will automatically select the Disklavier source velocity profile for all ESEQ files (a Yamaha-specific file format typically used only with Disklavier pianos).

Encoding High-Resolution MIDI Files

When encoding to Live Performance LX, SE, Spirio, and QRS Pianomation 1 formats, MID2PianoCD will automatically convert high-resolution MIDI files containing Yamaha's XP extensions (recorded by Disklavier Pro systems) to equivalent high-resolution data for each of these player systems. High-resolution XP MIDI files can be found at Yamaha's International Piano E-Competition Site.


Contributions

MID2PianoCD is available for free. But if you find it useful, please consider making a contribution to offset my costs and encourage further development. Suggested amounts: USD $35 for personal use, $250 for commercial use. Commercial use is defined as using the software to produce CDs or individual tracks for sale to others (including through sites such as eBay) or for promotional purposes (for example, to provide pre-encoded material to customers as an incentive to purchase a player system).

MID2PianoCD contains no advertisements, spyware, crippled features, nagging, or other such junk, so I rely strictly upon user contributions to cover my time and expenses in developing this tool.

You can send a contribution using any of the following methods:

  • Using PayPal
    Click the button to contribute via PayPal.
    You don't have to be a PayPal member to contribute, and you can use your credit card.
  • By Zelle - available in online banking at major U.S. banks
    You can send a Zelle payment to me specifying the email address at the bottom of this page as the recipient.
  • By check or money order - U.S. residents only
    Please contact me by email for the payment address (my email address is at the bottom of this page).

Special thanks to WebOnlyPiano, a pioneer in producing third party piano+audio recordings and a major contributor to this project from 2005-2006. Also, thanks to the handful of individual users who have elected to make contributions. Your support is essential to the future development of this software.


Download

This program is designed for Windows 10/8/7/Vista/XP and has been confirmed to run properly in Ubuntu Linux under WINE. It should work fine in other Windows emulation environments (Parallels Desktop, etc.).


Tips

When encoding MIDI and ESEQ files, MID2PianoCD will automatically remap all piano parts to MIDI channel 1, as required for broadest compatibility with electronic player piano systems. This automatic modification is sufficient for most files. However, if your music files require more extensive modification to play properly on your piano system (for example, because NO channels are specified as piano parts), you will need to fix the files manually using MIDI sequencing software before you encode the files with MID2PianoCD. When editing files, be sure to use MIDI channel 1 only for piano parts.

It is not necessary to convert Type-1 MIDI files to Type-0, since MID2PianoCD supports both types, and this distinction is lost in the encoding process anyway.

Also, it is important to understand that some of the formats supported by MID2PianoCD have considerable limitations. The primary constraint is that they offer much less bandwidth than a wired MIDI connection. For complex MIDI streams, this can result in chords becoming slightly arpeggiated due to the serial transmission of note events at a much slower data rate.

Some encodings have further limitations. For example, the Pianomation and Pianocorder encodings reduce the subtle expression in the music data by encoding far fewer note velocity levels than the 127 levels MIDI supports.

For these reasons, you might want to consider these other methods of playing MIDI data on your piano before resorting to the CD format:

  • For the best timing and full expression: Play a MIDI or ESEQ file from floppy disk or memory disk, directly on the piano's control unit (note that Baldwin ConcertMaster and QRS Serenade Pro units also support playing actual MIDI files burned to a data CD, and the results will be far superior to playing an "analog MIDI" version of the same file).

  • For decent timing and full expression: Connect a computer to the MIDI IN or TO HOST port of your piano's control unit, and use MIDI file jukebox software such as vanBasco's Karaoke Player to play MIDI files on the piano.

Despite these limitations, the CD formats are very convenient to use, and for casual listening, the results are often quite acceptable. They are the most convenient solution if you want to combine a piano performance with a live audio recording.

The Live Performance LX, SE, Spirio, and Pianomation 1 formats are excluded from the above discussion. They use a more sophisticated streaming data format that is immune to these problems.


Planned Features

  • Support rendering MIDI accompaniment tracks to play in sync with the piano
  • Implement automated "pre-flight" checking of the MIDI and accompaniment files.

Version history

  • Version 1.22 (4/02/2021)
    • Added support for reading accompaniment files in MP3 format
    • Added Steinway Spirio Silver as an output format
    • Added support for generating IMI CC-3 Cassette Converter streams with constant expression (Ampico expression coding has not been implemented yet).
      If you have a working Ampico with CC-3 system and would like to help test expression coding support, please contact me.
    • Revised mapping between Yamaha Disklavier and LX/SE/Spirio proportional pedaling positions
    • Improved Pianocorder expression mapping
    • Improved handling of stereo accompaniment files
  • Version 1.20 (3/4/2013)
    • Added Unicode support
    • Added support for the Live Performance Model SE player system
    • Added support for the QRS Pianomation 1 player system
    • Added an "Add Folder" button to recursively convert all supported files below the selected folder
    • Fixed problem of configuration not being saved on Windows Vista or later
    • Improved proportional pedaling synthesis for LX, SE and Pianomation 1 formats
    • Corrected an issue reading tempo information from ESEQ files
    • Installer now includes the appropriate VC runtime
    • Verified to run properly in the WINE Windows emulation environment
  • Version 1.09 (12/07/2010)
    • Ensured that key aftertouch messages are not stripped when encoding Disklavier velocity profile material to Disklavier format, so that XP Mode recordings and silent note effects are left undisturbed.
  • Version 1.08 (12/01/2009)
    • Increased the number of files that can be selected using the Add Files button
    • Corrected the problem of certain song titles not showing up on the Disklavier user interface
  • Version 1.07 (10/17/2009)
    • Added support for the Live Performance Model LX player system
    • Added PianoDisc Silent Drive Plus support
    • Added MP3 output support with automatic tagging
    • Improved handling of pedaling for all formats
    • Ensured that MIDI and accompaniment playback starts at exactly 1 second into each encoded track for all formats
    • Eliminated bug causing temporal inaccuracy during busy passages in Pianocorder encoding
    • Corrected drag and drop to only add supported files to list
    • Added the ability to remove items from the list of files to convert by highlighting them and pressing Delete
    • Updated user interface
  • Version 1.06 (9/3/2009)
    • Set preamble at the beginning of each track to exactly 1 second for all formats
    • Ensured PianoDisc encoding will resume playback more reliably after being paused
    • Adjusted Pianomation waveform to be compatible with older QRS "Knob Box" systems
    • Added Pianomation head/tail tones and improved Pianomation stream compression
    • Switched to a more optimal waveform for Pianocorder encoding
    • Corrected Pianocorder accompaniment sync
    • Added check that accompaniment WAV file uses 16-bit samples
    • Eliminated silence at the beginning of a MIDI stream when no accompaniment WAV file is present
    • Eliminated warnings about notes outside range of target player system
  • Version 1.05 (3/6/2007)
    • Disklavier PianoSmart SYSEX messages are now stripped when encoding to any of the formats, preventing Yamaha Disklavier pianos from locking up when encountering such messages on a CD
    • Added an Advanced option to convert proportional pedaling to on/off pedaling when encoding to PianoDisc format (enabled by default), since PianoDisc systems currently do not support proportional pedaling and incorrectly interpret intermediate pedal position data
    • Eliminated warnings when installing on Windows Vista
  • Version 1.04 (11/27/2006)
    • Fixed sync drift problem when encoding Disklavier format at 48 KHz
  • Version 1.03 (8/6/2006)
    • Added support for automatically merging an accompaniment WAV file with the encoded WAV file using the correct sync offset
    • Fixed truncation problem that occurred when encoding very long tracks (50+ minutes)
    • Added support for encoding 48 KHz output files (useful for mastering piano+audio tracks for DVD and other digital video applications)
    • Added support for Disklavier-style and full-range MIDI expression profiles
    • Fixed a math error that was resulting in sync drift
    • Tweaked PianoDisc data rate
    • Tweaked Pianomation expression encoding
  • Version 1.00 (1/12/2005)
    • Added support for Yamaha Disklavier format
    • Improved the expression dynamic range for Pianomation format
    • Song titles (derived from source filenames) will now be displayed on Disklavier and PianoDisc systems (if the source file does not already contain a title SYSEX message)
    • GM/XG reset SYSEX messages are now only added when the source file does not already include them
    • Major improvement to the signal quality for Pianocorder encoding
    • Minor tweaks to the signal quality for PianoDisc and Pianomation encoding
  • Version 0.93 (10/22/2004)
    • Eliminated "file is damaged" error for MIDI files containing very long pauses
  • Version 0.92 (6/27/2004)
    • Fixed additional problems parsing certain ESEQ files
  • Version 0.91 (5/05/2004)
    • Added automatic remapping of all piano parts to MIDI channel 1 for PianoDisc and Pianomation
    • Improved Pianocorder signal quality
  • Version 0.90 (4/15/2004)
    • Fixed problems parsing certain ESEQ files
    • Fixed problem of program icon sometimes showing up blank in Windows XP
  • Version 0.88 (1/02/2004)
    • Added support for QRS Pianomation format
    • Tweaked PianoDisc waveform and amplitude for better cross-compatibility with Yamaha products
    • Added a General MIDI reset to the start of each output file
  • Version 0.86 (8/15/2003)
    • First public release (only PianoDisc and Pianocorder formats supported)

If you have questions or suggestions, please send email to Mark Fontana:
        


MID2PianoCD uses the open source LAME engine for its MP3 encoding support.

This software and web site are not affiliated with Yamaha, PianoDisc, Baldwin, QRS Music, Live Performance, Pianoforce, Suzuki, Marantz, Superscope Technologies, Steinway & Sons or other companies mentioned. All trademarks are the property of their respective owners and are mentioned strictly for informational purposes.

Copyright © 2003-2021 Mark Fontana