Voice equalization in MIDI Doctor

I’ve added a new feature, voice equalization, to the Global settings dialog of MIDI Doctor. The function is to set the voices of all channels to a prescribed setting with a single button click. In this article, I’ll describe how it works by working through an application.

MIDI files are available on the Internet for a variety of classical works[1]. Many of them represent the full orchestral version, using all 16 channels. They may produce a good sound with a careful setup in a DAW using top-of-the-line virtual instruments. Unfortunately, large orchestral files often produce an irritating sound when played with a general-purpose soundfont or a keyboard synthesizer. The woodwinds sound like toy instruments while snare drums and timpani morph to raspy white noise. Here’s an example, the last three minutes of Rimsky-Korsakov’s Russian Easter Overture realized on a PC with MiniMIDI Player and CoolSoft VirtualMIDISynth with the Arachno soundfont[1]:

Another issue with the orchestral version is that after 50 years of listening to the Russian Easter Overture, the experience approaches the habitual.

On the other hand, soundfonts and keyboards usually do a great job with the piano sound. Therefore, I decided to experiment with a transcription of the Russian Easter Overture for 15 pianos. It’s worth it just to imagine the recording session: 15 pianos collected in Hangar One at Moffett Field.

Figure 1. MIDI Doctor main window with original file loaded.

Figure 1 shows the main window of MIDI Doctor with the original file loaded. The first step is to set up a reference voice. Double clicking on the flute (Channel 0) brings up the voice tuning dialog of Figure 2 and sets Channel 0 as the Active voice. In the GM Instrument pulldown menu, I picked Acoustic Grand Piano. At this point, you can set any of the MIDI controls to optimize for your synthesizer. Then, click OK to exit the dialog. Click the Global settings button in the main window to open the dialog of Fig. 3. Click the Apply voice equalization button and exit. The effect is clear to see returning to the main window (Fig.4). Use the play function to check the sound.

Figure 2. Voice tuning dialog.

Figure 3. Global settings dialog.

In testing on a keyboard, I found that the dynamic range appropriate to the full orchestra was too broad for a piano performance. Some parts were almost inaudible and others were uncomfortably loud. I returned to the Global settings dialog, set the Dynamic range controls as shown in Fig. 3 and clicked the Apply button. This procedure modified the velocity settings of all NoteOn signals in the piece. Returning to the main window, I previewed the percussion channel (09h) and found that it produced only occasional rattling sounds using a soundfont. Therefore, I omitted the channel when I saved the resulting MIDI file (Fig. 4).

Figure 4. Main window with modified voices.

Here’s the result to compare to the orchestral version:

Totally subjective, but I feel that the sound is less artificial, with some surprising effects that get blurred in the standard orchestral version. Here are links to full piano versions of the Russian Easter Overture and Capriccio Espanol.


[1] Here are some sources of MIDI files of classical works: MIDI World, Classical Archives and Kunst der Fuge.
[2] Playing and recording were done simultaneously on one computer using Audacity with the input source set to the computer speakers.

Comments are closed.