Skip to content

Instantly share code, notes, and snippets.

@mmathys
Last active November 26, 2023 23:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mmathys/0adb141ef71fc171e82143d1b6ba5f67 to your computer and use it in GitHub Desktop.
Save mmathys/0adb141ef71fc171e82143d1b6ba5f67 to your computer and use it in GitHub Desktop.
MidiKeys GM Drum Map

This can be used to play GM MIDI Drums on NumPad.

Use: https://flit.github.io/projects/midikeys/ and replace map in package contents: Contents/Resources/KeyMaps.plist

To get key codes use: https://manytricks.com/keycodes/

In the drum instrument, set GM as the MIDI map and refer mapping there. Used GGD OneKitWonder - Metal for this.

Note: this map is incomplete. Edit the map to add the missing mappings

Note: if KeyMaps.plist is changed the first time in MidiKeys, set the map again. Otherwise it will crash.

Note: in MidiKeys settings, add set "Keys are system-wide hot keys" and check "Control"

Note: consider entries with 42 as unused

Note: might have to switch octaves with left and right

Note: might have to extend the window to see full notes

Note: after editing KeyMaps.plist you must restart MidiKeys app

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList42.0.dtd">
<plist version="1.0">
<dict>
<key>NumPad GM Drums</key>
<dict>
<key>Ranges</key>
<array>
<dict>
<key>FirstMidiNote</key>
<integer>12</integer>
<key>KeyCodes</key>
<array>
<integer>65</integer> <!-- C . -->
</array>
</dict>
<dict>
<key>FirstMidiNote</key>
<integer>12</integer>
<key>KeyCodes</key>
<array>
<!-- C1 -->
<integer>82</integer> <!-- C 0 -->
<integer>42</integer> <!-- C# -->
<integer>76</integer> <!-- D enter -->
<integer>42</integer> <!-- D# -->
<integer>42</integer> <!-- E -->
<integer>86</integer> <!-- F 4 -->
<integer>42</integer> <!-- F# -->
<integer>88</integer> <!-- G 6 -->
<integer>42</integer> <!-- G# -->
<integer>42</integer> <!-- A -->
<integer>84</integer> <!-- A# 2 -->
<integer>42</integer> <!-- B -->
</array>
</dict>
<dict>
<key>FirstMidiNote</key>
<integer>24</integer>
<key>KeyCodes</key>
<array>
<!-- C2 -->
<integer>87</integer> <!-- C 5 -->
<integer>89</integer> <!-- C#7 -->
<integer>69</integer> <!-- D + -->
<integer>42</integer> <!-- D# -->
<integer>78</integer> <!-- E - -->
<integer>42</integer> <!-- F -->
<integer>83</integer> <!-- F# 1 -->
<integer>42</integer> <!-- G -->
<integer>42</integer> <!-- G# -->
<integer>91</integer> <!-- A 8 -->
<integer>85</integer> <!-- A# 3 -->
<integer>42</integer> <!-- B -->
</array>
</dict>
</array>
</dict>
<key>Full</key>
<dict>
<key>Ranges</key>
<array>
<dict>
<key>FirstMidiNote</key>
<integer>39</integer>
<key>KeyCodes</key>
<array>
<integer>50</integer> <!-- ` -->
<integer>48</integer> <!-- tab -->
<integer>12</integer> <!-- q -->
<integer>19</integer> <!-- 2 -->
<integer>13</integer> <!-- w -->
<integer>20</integer> <!-- 3 -->
<integer>14</integer> <!-- e -->
<integer>21</integer> <!-- 4 -->
<integer>15</integer> <!-- r -->
<integer>17</integer> <!-- t -->
<integer>22</integer> <!-- 6 -->
<integer>16</integer> <!-- y -->
<integer>26</integer> <!-- 7 -->
<integer>32</integer> <!-- u -->
<integer>34</integer> <!-- i -->
<integer>25</integer> <!-- 9 -->
<integer>31</integer> <!-- o -->
<integer>29</integer> <!-- 0 -->
<integer>35</integer> <!-- p -->
<integer>27</integer> <!-- - -->
<integer>33</integer> <!-- [ -->
<integer>30</integer> <!-- ] -->
<integer>51</integer> <!-- del -->
<integer>42</integer> <!-- \ -->
</array>
</dict>
<dict>
<key>FirstMidiNote</key>
<integer>60</integer>
<key>KeyCodes</key>
<array>
<integer>6</integer>
<integer>1</integer>
<integer>7</integer>
<integer>2</integer>
<integer>8</integer>
<integer>9</integer>
<integer>5</integer>
<integer>11</integer>
<integer>4</integer>
<integer>45</integer>
<integer>38</integer>
<integer>46</integer>
<integer>43</integer>
<integer>37</integer>
<integer>47</integer>
<integer>41</integer>
<integer>44</integer>
</array>
</dict>
</array>
</dict>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment