Fixing percussion sounds with Style Customizer

Yamaha-format styles are accompaniment files that you can play on your digital keyboard or use in our Accompaniment Machine program. Often, you may find a great style that is effectively useless because 1) it’s permeated by police whistles and other strange sounds or 2) the percussion sounds like someone pounding on a piano . In this article, I’ll explain the origin of the problems and review new features in the Style Customizer that lets you correct the files.

To understand the problem, it’s necessary to review some features of MIDI (Musical Instrument Digital Interface). A MIDI file consists of a sequence of timed messages. The most important one is the 3-byte NoteOn Message

90h+ChanNo  NoteNum  Volume

The 90h value specifies NoteOn and ChanNo is one of 16 MIDI channels, each of which can represent an individual synthesizer voice (instrument). The pitch value (in the range 00h-7Fh) is given by the number NoteNum, representing the 88 keys of the piano plus some extras. Yamaha styles use channels 08h through 0Fh. By convention, channel 09h carries percussion sounds. Optionally, channel 08h can be set as a supplementary percussion channel by sending an appropriate message. Because these sounds do not have pitch, the NoteNum value is used to specify the type of instrument. The following standard set is recognized by all MIDI compliant keyboards and synthesizers:

035 Bass Drum 2           058 Vibra Slap
036 Bass Drum 1           059 Ride Cymbal 2
037 Side Stick/Rimshot    060 High Bongo
038 Snare Drum 1          061 Low Bongo
039 Hand Clap             062 Mute High Conga
040 Snare Drum 2          063 Open High Conga
041 Low Tom 2             064 Low Conga
042 Closed Hi-hat         065 High Timbale
043 Low Tom 1             066 Low Timbale
044 Pedal Hi-hat          067 High Agogo
045 Mid Tom 2             068 Low Agogo
046 Open Hi-hat           069 Cabasa
047 Mid Tom 1             070 Maracas
048 High Tom 2            071 Short Whistle
049 Crash Cymbal 1        072 Long Whistle
050 High Tom 1            073 Short Guiro
051 Ride Cymbal 1         074 Long Guiro
052 Chinese Cymbal        075 Claves
053 Ride Bell             076 High Wood Block
054 Tambourine            077 Low Wood Block
055 Splash Cymbal         078 Mute Cuica
056 Cowbell               079 Open Cuica
057 Crash Cymbal 2        080 Mute Triangle
081 Open Triangle

Regarding the first issue, the complication is that high-end keyboard workstations may have several alternate drum sets that make different sounds in response to the same NoteNum. A style file designed for such a machine (often with the suffix PRS) sounds great on that keyboard but may include inappropriate sounds on a keyboard or with a soundfont that doesn’t recognize the drum set.

The second issue arises when using the computer as the MIDI output device through soundfonts. Neither Microsoft MIDI Mapper nor CoolSoft VirtualMIDISynth recognizes percussion messages on channels other than 09h. In this case, percussion messages on channel 08h are reproduced as through they were for a pitched instrument, leading to some strange sounds.

Current Style Voice Optimizer interface

Figure 1. Current Customizer interface.

We added features to the Style Customizer to fix the problems. Figure 1 shows the program interface. There are two new checkboxes: Percussion filter and Percussion channel compress. The first control addresses the issue of inappropriate sounds. It is fortunate that the General MIDI equivalent is acceptable for most of drum sounds. There are only a few really bad ones. When the Percussion filter box is checked, SVO assigns zero volume to NoteOn signals to percussion channels in a save file operation with the following NoteNum values:

056 Cowbell
058 Vibra Slap
071 Short Whistle
072 Long Whistle
073 Short Guiro
074 Long Guiro
078 Mute Cuica
079 Open Cuica

When the Percussion channel compress box is checked, Style Customizer makes a simple correction when channel 08h has been defined as a percussion channel. The program assigns any NoteOn or NoteOff signals to channel 09h rather than channel 08h. There is no loss of information, and the percussion sounds are reproduced correctly by both Microsoft MIDI Mapper and CoolSoft VirtualMIDISynth.

A sound is worth a thousand words. In the following excerpt, a PRS file is played through CoolSoft. For clarity, only channels 08h and 09h are included. The first part is the original file while the second part is a corrected file generated by Style Customizer.


[1] Find out more about KBD-Infinity: Home page.

[2] If you have comments or questions, please contact us at

Comments are closed.