We’ll have a breath controller and three valves just like the EVI; however, instead of the left hand manipulating a discrete control to select the harmonic, we’ll have a continuous control that represents the note we want to play. To determine which note is being played, we look at all the possible notes for the current valve combination and find the one that’s closest to the current value of the discrete control.
To give a little more detail, here are the MIDI notes that can be played on a C trumpet with each valve combination:
Open | 2 | 1 | 12 or 3 | 23 | 13 | 123 |
60 (C4) | 59 (B3) | 58 (A#3) | 57 (A3) | 56 (G#3) | 55 (G3) | 54 (F#3) |
67 (G4) | 66 (F#4) | 65 (F4) | 64 (E4) | 63 (D#4) | 62 (D4) | 61 (C#3) |
72 (C5) | 71 (B4) | 70 (A#4) | 69 (A4) | 68 (G#4) | 67 (G4) | 66 (F#4) |
76 (E5) | 75 (D#5) | 74 (D5) | 73 (C#4) | 72 (C5) | 71 (B4) | 70 (A#4) |
79 (G5) | 78 (F#5) | 77 (F5) | 76 (E5) | 75 (D#5) | 74 (D5) | 73 (C#4) |
84 (C6) | 83 (B5) | 82 (A#5) | 81 (A5) | 80 (G#5) | 79 (G5) | 78 (F#5) |
88 (E6) | 87 (D#6) | 86 (D6) | 85 (C#5) | 84 (C6) | 83 (B5) | 82 (A#5) |
91 (G6) | 90 (F#6) | 89 (F6) | 88 (E6) | 87 (D#6) | 86 (D6) | 85 (C#5) |
96 (C7) | 95 (B6) | 94 (A#6) | 93 (A6) | 92 (G#6) | 91 (G6) | 90 (F#6) |
So, we just need to map our continuous controller values to range from 54 to whatever upper note we want, and then find the closest value in the table based on the current valve combination.