Using The Windows 3.1 MIDI Mapper: With The Yamaha QY10

Tips & Techniques

Published in SOS July 1994
Bookmark and Share

Technique : Computers

Using the popular, pre-General MIDI QY10 as his example, MARTIN SCOTT explains how you can use the Windows 3.1 MIDI Mapper to make your non-GM MIDI instrument GM compatible.

 

Recent sound modules, synthesizers and some computer soundcards support the General MIDI standard. This standard defines a set of 128 voices and a MIDI patch number associated with each voice. This ensures that a MIDI song file will play correctly irrespective of which MIDI instrument it is played on. Many of us, however, possess equipment that precedes the General MIDI standard and these will sound strange, if not downright awful, when playing General MIDI song files. The Yamaha QY10 Walkstation is one example; take a look at Table 2 for the voices and associated patches for the QY10 and note that it does not bear much resemblance to the General MIDI specification. Taking patch 9 for example, in the context of a GM sequence, the QY10 would play and Electric Guitar patch instead of a Glockenspiel!

For those of us using sequencers on PCs that run from within Windows 3.1, a solution is provided by the MIDI Mapper. This utility is included with Windows 3.1 and can be used to translate General MIDI data into device-specific MIDI data in real time. So, if I play a General MIDI file directly from my TRAX sequencer through the MIDI port in my PC to the QY10, it will sound ear-janglingly wrong; however, if the output is diverted through the MIDI Mapper it can provide the translation necessary to correct all the voices, resulting in a perfect score. A few devices, such as the Ad Lib soundcard and Roland MT32 are supported by the MIDI Mapper already, but most are not. For these, a new MIDI Mapper configuration must be created. This article explains how to use the MIDI Mapper to support General MIDI on the Yamaha QY10, although the procedure could be easily adapted to support any other MIDI synthesizer or sound module.

The MIDI Mapper is unidirectional and can only be used for playing MIDI information; it cannot be used during record.

USING THE MIDI MAPPER

The MIDI Mapper icon is located in the Control Panel. Activating the icon produces a dialogue box. Do not attempt to edit or create anything at this stage! (If the icon is not shown on your Control Panel, make sure that you have installed both the MIDI Mapper and the Roland MPU-401 drivers using the Drivers icon.). In order to route the MIDI output of your sequencer through the MIDI Mapper, you need to select MIDI Mapper as the output port from the MIDI configuration menu of whatever sequencer software you use.

The MIDI Mapper uses three types of tables to carry out its function:

Setup Tables
Patch Maps
Key Maps

A different MIDI Mapper configuration can be created for each MIDI instrument. Each configuration has a single Setup table and may also have a number of Patch Maps and Key Maps.

Setup Table
The Setup table has 16 rows, one for each MIDI channel. The Source Channel field cannot be edited. For each source channel, there are four parameters that can be edited:

• A destination (output) channel is selected for each source (input) channel.

• An output MIDI port is selected for each channel.

• A Patch Map can be selected.

• The channel can be set to active or inactive.

If you look at the entry for source channel 12, for example, you can see that the output channel has been set at 1. This means that any information sent to the MIDI Mapper on channel 12 will actually be output from the Mapper on channel 1. Also, the output port for the MIDI data has been set to Roland MPU-401 and a Patch Map called Yamaha QY10 is specified.

Patch Maps
A Patch Map is a table with 128 rows, one for each of the General MIDI voices. The Source Patch and Source Patch Name fields cannot be edited. Each voice has three parameters that can be edited:

• A destination patch can be specified

• The output volume for the patch can be specified

• A Key Map can be specified

The Key Map
The Key Map is a table with 128 rows, one for each source key. Each refers to a particular key (note) on the keyboard, and a destination key can be specified for each source key. Source key 38 (Acoustic Snare in General MIDI) has been translated to key 63 (Snare Drum 4 on the QY10).

USING MIDI MAPPER WITH THE QY10

The QY10 Setup Table
The QY10 has only eight channels, so any MIDI information being sent out on channels 9-16 must be diverted to one of these, otherwise it will be lost. In this case all MIDI data on channels 11-16 is sent to channel 1. Channel 8 is reserved for the drums on the QY10, so channel 10, which holds the General MIDI drum data, is diverted to channel 8. Channels 8 and 9 are diverted to channel 7 -- the choice of channels 1 and 7 is arbitrary.

The Port Name field has been specified as Roland MPU-401 for all channels, because I want all the MIDI data to be sent to the QY10, which is connected to the MPU-401 MIDI interface card in my PC.

The Patch Map
Yamaha QY10 has been specified for all channels except channel 10, whilst the Patch Map Yamaha QY10 Per, has been specified for channel 10 only. This is because one Patch Map is needed to handle the instrumental voices, and another is required for the drums and percussion. All channels are marked as being active because I do not want any data to be discarded.

The QY10 Patch Maps do most of the translation work required to change the General MIDI voices into suitable QY10 voices. The QY10 has far less voices and drum sounds than the General MIDI sound set, so many of the QY's sounds are used more than once. Take a look at Figure 6: for each of the General MIDI patches listed on the left-hand side of the table, one of the QY10 voices needs to be selected. In some cases it is a straightforward choice -- for example, Vibraphone is patch 11 on General MIDI, and the QY10 has a Vibraphone voice on patch 19 -- no problem. Usually, though, the exact voice is not available on the QY10. So, for example, the Electric Grand Piano, Rhodes Piano and Chorused Piano are all mapped onto the QY10's Electric Piano (Destination patch 1). In some cases, the QY instrument used bears a rather tenuous relation to the original, and in cases where there is nothing in the QY10's range that approximates the General MIDI voice -- for example, whistle sounds -- I have reduced the volume to 0 so that it will not be heard.

Many of these mappings are a matter of personal preference. All you need to have a go at setting your own preferences is a listing of the patches and voices for the MIDI instrument in question; Table 2 shows the information for the QY10, but any other instrument could be catered for in the same way.

Yamaha QY10 Per Patch Map
The QY10 has 26 drum and percussion sounds. Each of these sounds is associated with a particular keyboard key, as can be seen in Table 3. The problem is that the General MIDI drums (shown in Table 4) are different. For example, G3 will produce Hi Floor Tom on a General MIDI synth but Hand Claps on the QY10. The MIDI drum data has already been swapped to the correct channel (from 10 to 8) by the Setup table; now it is necessary to translate the General MIDI drum sounds themselves into appropriate QY10 sounds.

This Patch Map simply calls up the Yamaha QY10 Key Map, which performs the necessary mapping. Figure 8 shows part of the Key Map used. The key for each General MIDI drum sound (see Table 4 ) is mapped onto an appropriate Yamaha QY10 key (see Table 3), to produce the nearest equivalent sound. In cases where there is no approximate match -- for example, triangle sounds -- a key is specified which does not produce any sound.

STEP BY STEP QY10 CONFIGURATION

1.Create the Setup
Open the MIDI Mapper Icon which is located in the Control Panel. This will provide the dialogue box. Select the Setups button and then press New. A dialogue box appears, labelled New MIDI Setup. We'll call our Setup 'Yamaha QY10', so enter this in the Name field. Type 'GM to QY10 conversion' in the Description field (or it can be left empty). A Setup Table appears. Copy the appropriate information in the Dest Chan and Port Name fields. We have not created the Patch Maps yet, so leave the Patch Map Name fields set to [None]. The Active boxes should now all contain X's, showing that all the channels are enabled. Press the OK button and Save the new Setup.

2. Create the Patch Maps
Next we'll create the Patch Maps, starting with the instrument voice map. Select the Patch Maps button on the MIDI Mapper Dialogue Box and then press the New button. A New MIDI Patch Map dialogue box appears. Type 'Yamaha QY10' in the Name field. Type 'GM to QY10 voice conversion' in the Description field. A MIDI Patch Map appears. Enter the data given in Table 5. All the Key Map Name fields should be set to [None]. When you have finished, press OK and Save the new Patch Map.

Now we'll create the drums Patch Map. Select the Patch Maps button on the MIDI Mapper Dialogue Box and then press the New button. A New MIDI Patch Map dialogue box appears. Enter the name 'Yamaha QY10 Per', and the description 'GM to QY10 drums conversion'. A MIDI Patch Map appears.

Our Setup table sends all the MIDI data on the drum channel to this Patch Map, and all this data should already be on patch 0, so we do not need to change any of the patches. What we do need to do is get the drum sounds right. This is done by calling up a Key Map. We haven't created the Key Map yet, so for now we will have to leave the Key Map Name field set to [None]. Press OK and Save.

3. Create the Key Map
Select the Key Maps button on the MIDI Mapper Dialogue Box and then press the New button. Type in the name 'Yamaha QY10' and the description 'QY10 drum key conversion'. A table appears. Note that although there are 128 rows in this table, only keys 35 to 81 are used: the others are reserved, presumably to allow for later expansion of the General MIDI definition. Enter the data in Table 6 then press OK and Save.

4. Edit the maps
Finally, we'll go back and edit the Setup and Patch Maps. Select the Setups button on the MIDI Mapper Dialogue Box and select the Yamaha QY10 Setup you created earlier in the Name field. Press the Edit button. When the Setup table appears. Press OK and Save.

Next, select the Patch Maps button on the MIDI Mapper Dialogue Box and choose the Yamaha QY10 Per Patch Map you created earlier. Press the Edit button. When the Map appears, change the top Key Map Name field to Yamaha QY10. Press OK and Save.

That's it -- you have now created a new MIDI Mapper Configuration that will play General MIDI files on the QY10. To make this configuration active, select the Setups button in the MIDI Mapper Dialogue Box and then select Yamaha QY10 in the Name field. Now make sure that your sequencer output port is set to MIDI Mapper and away you go.

 

OTHER USES FOR THE MIDI MAPPER

The MIDI Mapper is a powerful and versatile tool. Because it is programmable it can be put to many uses. For example, in a multi-instrument setup, it could be used to assign different voices to different instruments without the need to edit any of the original source files. Key Maps could be used to generate voices that are not available on a particular synth. To get something like a whistle, for example, you could use Brass transposed up a couple of octaves.

 

TABLE 1: GENERAL MIDI STANDARD VOICES

0 Acoustic Grand Piano
1 Bright Acoustic Piano
2 Eelctric Grand Piano
3 Honky Tonk Piano
4 Rhodes Piano
5 Chorused Piano
6 Harpsichord
7 Clavinet
8 Celesta
9 Glockenspiel
10 Music Box
11 Vibraphone
12 Marimba
13 Xylophone
14 Tubular Bells
15 Dulcimer
16 Hammond Organ
17 Percussive Organ
18 Rock Organ
19 Church Organ
20 Reed Organ
21 Accordion
22 Harmonica
23 Tango Accordion
24 Acoustic Guitar (nylon)
25 Acoustic Guitar (steel)
26 Electric Guitar (jazz)
27 Electric Guitar (clean)
28 Electric Guitar (muted)
29 Overdriven Guitar
30 Distortion Guitar
31 Guitar Harmonics
32 Acoustic Bass
33 Electric Bass (fingered)
34 Electric Bass (picked)
35 Fretless Bass
36 Slap Bass 1
37 Slap Bass 2
38 Synth Bass 1
39 Synth Bass 2
40 Violin
41 Viola
42 Cello
43 Contrabass
44 Tremelo Strings
45 Pizzicato Strings
46 Orchestral Harp
47 Timpani
48 String Ensemble 1
49 String Ensemble 2
50 Synth Strings 1
51 Synth Strings 2
52 Choir Aahs
53 Voice Oohs
54 Synth Voice
55 Orchestra Hit
56 Trumpet
57 Trombone
58 Tuba
59 Muted Trumpet
60 French Horn
61 Brass Section
62 Synth Brass 1
63 Synth Brass 2

64 Soprano Sax
65 Alto Sax
66 Tenor Sax
67 Baritone Sax
68 Oboe
69 English Horn
70 Bassoon
71 Clarinet
72 Piccolo
73 Flute
74 Recorder
75 Pan Flute
76 Blown Bottle
77 Shakuhachi
78 Whistle
79 Ocarina
80 Lead 1 (square)
81 Lead 2 (sawtooth)
82 Lead 3 (calliope)
83 Lead 4 (chiff)
84 Lead 5 (charang)
85 Lead 6 (voice)
86 Lead 7 (fifths)
87 Lead 8 (bass + lead)
89 Pad 1 (new age)
89 Pad 2 (warm)
90 Pad 3 (polysynth)
91 Pad 4 (choir)
92 Pad 5 (bowed)
93 Pad 6 (metallic)
94 Pad 7 (halo)
95 Pad 8 (sweep)
96 FX1 (rain)
97 FX2 (soundtrack)
98 FX3 (crystal)
99 FX4 (atmosphere)
100 FX5 (brightness)
101 FX6 (goblins)
102 FX7 (echoes)
103 FX8 (sci-fi)
104 Sitar
105 Banjo
106 Shamisen
107 Koto
108 Kalimba
109 Bagpipe
110 Fiddle
111 Shanai
112 Tinkle Bell
113 Agogo
114 Steel Drums
115 Woodblock
116 Taiko Drum
117 Melodic Tom
118 Synth Drum
119 Reverse Cymbal
120 Guitar Fret Noise
121 Breath Noise
122 Seashore
123 Bird Tweet
124 Telephone Ring
125 Helicopter
126 Applause
127 Gunshot

 

TABLE 2: QY10 VOICES

• 0 Rock Piano
• 1 Electric Piano
• 2 Tine Piano
• 3 Clavinet
• 4 Rock Organ
• 5 Organ
• 6 Hi String Ensemble
• 7 Lo String Ensemble
• 8 Brass Ensemble
• 9 Electric Guitar
• 10 Distortion Guitar
• 11 Mute Guitar
• 12 Electric Folk Guitar
• 13 Jazz Bass
• 14 Pick Bass
• 15 Slap Bass
• 16 Synth Bass
• 17 Moogy
• 18 Marimba
• 19 Vibes
• 20 Xylophone
• 21 Synth Brass Pad
• 22 Synth String Pad
• 23 Synth Comp
• 24 Bowed Bell
• 25 Perc Comp
• 26 Trumpet
• 27 Breathy
• 28 Synth Lead 1
• 29 Synth Lead 2
• 30 Drums & Percussion

 

TABLE 3: QY10 DRUMS & PERCUSSION

Key • Note • Sound

36 C3 Bass Drum 1

37 C#3 Bass Drum 2

38 D3 Snare Drum 1

39 D#3 Snare Drum 2

40 E3 Lo Tom

41 F3 Mid Tom

42 F#3 Hi Tom

43 G3 Hand Clap

44 G#3 Crash Cymbal

45 A3 Rim Shot

46 A#3 Ride Cymbal

47 B3 Hi Hat Closed

48 C4 Hi Hat Open

60 C5 Bass Drum 3

61 C#5 Cow Bell

62 D5 Snare Drum 3

63 D#5 Snare Drum 5

64 E5 Lo Conga

65 F5 Hi Conga

66 F#5 Mid Conga

67 G5 Lo Agogo

68 G#5 Hi Agogo

69 A5 Lo Timbale

70 A#5 Hi Timbale

71 B5 Hi Hat 2

72 C6 Shaker

 

TABLE 4: GENERAL MIDI DRUMS AND PERCUSSION

Key • Note • Sound

35 B2 Acoustic Bass Drum

36 C3 Bass Drum 1

37 C#3 Rim Shot

38 D3 Acoustic Snare

39 D#3 Hand Clap

40 E3 Electric Snare

41 F3 Low Floor Tom

42 F#3 Closed Hi Hat

43 G3 Hi Floor Tom

44 G#3 Pedal Hi Hat

45 A3 Lo Tom

46 A#3 Open Hi Hat

47 B3 Lo Mid Tom

48 C4 Hi Mid Tom

49 C#4 Crash Cymbal 1

50 D4 Hi Tom

51 D#4 Ride Cymbal 1

52 E4 Chinese Cymbal

53 F4 Ride Bell

54 F#4 Tambourine

55 G4 Splash Cymbal

56 G#4 Cow Bell

57 A4 Crash Cymbal 2

58 A#4 Vibraslap

59 B4 Ride Cymbal 2

60 C5 Hi Bongo

61 C#5 Lo Bongo

62 D5 Mute Hi Conga

63 D#5 Open Hi Conga

64 E5 Lo Conga

65 F5 Hi Timbale

66 F#5 Lo Timbale

67 G5 Hi Agogo

68 G#5 Lo Agogo

69 A5 Cabasa

70 A#5 Maracas

71 B5 Short Whistle

72 C6 Long Whistle

73 C#6 Short Guiro

74 D6 Long Guiro

75 D#6 Claves

76 E6 Hi Wood Block

77 F6 Lo Wood Block

78 F#6 Mute Cuica

79 G6 Open Guica

80 G#6 Mute Triangle

81 A6 Open Triangle

 

TABLE 5: YAMAHA QY10 PATCH MAP DATA

Srce Patch • Dest Patch • Volume

Srce Patch • Dest Patch • Volume

0 0 100%

1 0 100%

2 1 100%

3 0 100%

4 1 100%

5 1 100%

6 3 100%

7 3 100%

8 3 100%

9 20 100%

10 3 100%

11 19 100%

12 18 100%

13 20 100%

14 19 100%

15 9 100%

16 4 100%

17 4 100%

18 4 100%

19 5 100%

20 5 100%

21 5 100%

22 4 100%

23 4 100%

24 12 100%

25 12 100%

26 9 100%

27 9 100%

28 11 100%

39 9 100%

30 10 100%

31 11 100%

32 13 100%

33 14 100%

34 14 100%

35 13 100%

36 15 100%

37 15 100%

38 16 100%

39 16 100%

40 6 100%

41 6 100%

42 7 100%

43 16 100%

44 44 100%

45 45 0%

46 46 0%

47 47 0%

48 6 100%

49 6 100%

50 22 100%

51 22 100%

52 52 0%

53 53 0%

54 54 0%

55 55 0%

56 26 100%

57 26 100%

58 21 100%

59 26 100%

60 26 100%

61 8 100%

62 21 100%

63 21 100%

64 26 100%

65 26 100%

66 26 100%

67 26 100%

68 17 100%

69 26 100%

70 27 100%

71 27 100%

72 27 100%

73 27 100%

74 27 100%

75 27 100%

76 27 100%

77 77 0%

78 78 0%

79 79 0%

80 28 100%

81 29 100%

82 29 100%

83 29 100%

84 29 100%

85 29 100%

86 29 100%

87 29 100%

88 21 100%

89 21 100%

90 17 100%

91 91 0%

92 92 0%

93 93 0%

94 94 0%

95 95 0%

96 96 0%

97 97 0%

98 98 0%

99 99 0%

100 100 0%

101 101 0%

102 102 0%

103 103 0%

104 9 100%

105 9 100%

106 106 0%

107 107 0%

108 18 100%

109 109 0%

110 110 0%

111 111 0%

112 112 0%

113 113 0%

114 21 100%

115 115 0%

116 116 0%

117 117 0%

118 21 100%

119 119 0%

120 120 0%

121 121 0%

122 122 0%

123 123 0%

124 124 0%

125 125 0%

126 126 0%

127 127 0%

 

 

TABLE 6: YAMAHA QY10 KEY MAP DATA

Srce Key • Dest. Key

Srce Key • Dest. Key

35 • 36
36 • 36
37 • 45
38 • 63
39 • 43
40 • 62
41 • 40
42 • 47
43 • 42
44 • 71
45 • 40
46 • 48
47 • 41
48 • 41
49 • 44
50 • 42
51 • 46
52 • 46
53 • 61
54 • 72
55 • 46
56 • 61
57 • 44
58 • 45

59 • 46
60 • 65
61 • 64
62 • 65
63 • 65
64 • 64
65 • 70
66 • 69
67 • 68
68 • 70
69 • 30
70 • 72
71 • 30
72 • 30
73 • 30
74 • 30
75 • 30
76 • 45
77 • 45
78 • 30
79 • 30
80 • 30
81 • 30

 

 

DAW Tips from SOS

 

Home | Search | News | Current Issue | Tablet Mag | Articles | Forum | Subscribe | Shop | Readers Ads

Advertise | Information | Digital Editions | Privacy Policy | Support | Login Help

 

Email: Contact SOS

Telephone: +44 (0)1954 789888

Fax: +44 (0)1954 789895

Registered Office: Media House, Trafalgar Way, Bar Hill, Cambridge, CB23 8SQ, United Kingdom.

Sound On Sound Ltd is registered in England and Wales.

Company number: 3015516 VAT number: GB 638 5307 26

         

All contents copyright © SOS Publications Group and/or its licensors, 1985-2014. All rights reserved.
The contents of this article are subject to worldwide copyright protection and reproduction in whole or part, whether mechanical or electronic, is expressly forbidden without the prior written consent of the Publishers. Great care has been taken to ensure accuracy in the preparation of this article but neither Sound On Sound Limited nor the publishers can be held responsible for its contents. The views expressed are those of the contributors and not necessarily those of the publishers.

Web site designed & maintained by PB Associates | SOS | Relative Media