Implementing PolyChromatic PitchColor with MIDI

With the Microzone U648 keyboard I create a MIDI pitchmap using the Universal Tuning Editor (~$28). For initial simplicity, I use equal divisions of the octave (edo), programmed as fractions. The Microzone U648 has 72 hexagonal keys per octave.

This is the method I use for implementing a polychromatic pitch-color system on a MIDI controller:

1. Find/Create a MIDI note number map (keymap)
For most MIDI keyboards this keymap is preset and unmodifiable – each keyswitch on the controller has a fixed MIDI note number. The Microzone gets its name because you can create unique MIDI note number keymaps for each MIDI channel. These maps (‘zones’) can be created in any shape and can overlap (for overlapping sounds and tunings on different MIDI channels). This onboard editing capability, and its hex key design are the most innovative aspects of this instrument.  For initial simplicity, I map MIDI note numbers (n#) vertically. This sequence is shown below.

C n#6

C n#5

C n#4

C n#3

C n#2

C n#1

Db n#12

Db n#11

Db n#10

Db n#9

Db n#8

Db n#7

B n#72

B n#71

B n#70

B n#69

B n#68

B n#67

MIDI note numbers 1-6 are assigned from the bottom/front C key to the top/back, then the bottom Db key resumes from 7-12, etc.

Because there are only 128 MIDI note numbers per channel, and the Microzone has 288 keys, the Universal Tuning Editor (UTE) uses multiple MIDI channels to render all 288 micro-pitches. And because MIDI sound modules tend to assign each MIDI note number in chromatic semitones only, pitchbend messages are used to implement the mapping of micro-pitches.

MIDI continuous control messages like pitchbend are sent per channel and this is one reason why, to enable 16 voice polyphony, the micro-pitch mapping must be distributed among all 16 MIDI channels. The UTE sends the played micro-pitches randomly to any of 16 MIDI channels. This makes MIDI editing more challenging because each note of a musical phrase or chord is scattered randomly to a different MIDI channel.

This micro-pitch mapping workaround results in a few new limitations. Some hardware and software sound modules are unable to simultaneously process 16 channels of continuous control (pitchbend) messages. This results in note averaging and cancellation issues. This problem has been recently addressed with the MPE (MIDI polyphonic expression) specification, adopted in 2018.

However, because this type of micro-pitch mapping requires pitchbend for implementation, a choice must be made between using each MIDI channel for flexible, realtime polyphonic expression via MPE (i.e. Seaboard, Continuum, LinnStrument) or for playing micro-pitch scales which use fixed pitchbend assignments via a pitchmap (Microzone, Tonal Plexus, Opal Chameleon).

Another workaround could use the direct assignment of pitch frequencies to each MIDI note number in the keymap, rather than modifying each semitone pitch/note# with pitchbend for each micro-pitch. But micro-pitch implementations of this type (via SysEx messages) may require different programming configurations for each MIDI sound source/module manufacturer.

The MIDI Tuning Standard (MTS; 1992) allows for a bulk dump tuning message, defining a tuning for each of 128 notes (pitchmap), and also a tuning message for each note as it is played. However, implementation of the MIDI Tuning Standard appears to remain sparse among manufacturers.

For those interested in programming, a good software tool for this type of micro-pitch implementation is Scala (freeware). Scala can retune MIDI messages and files by using SysEx, file-based tunings (pitchmaps; ‘tuning tables’), and pitchbend.

The first method, using pitchbend messages (MIDI continuous control not SysEx), can use a single or several ‘per channel’ pitchmaps, applied across setups using products from multiple MIDI manufacturers (Korg, Yamaha, Roland, Sample Logic, Native Instruments, etc) – rather than ‘per manufacturer’ micro-pitch mapping implementations.

Hopefully, these limitations will be resolved in the upcoming MIDI 2.0 protocol.

2. Create a pitchmap
Assign each MIDI note number (n#) to a micro-pitch in a pitchmap. Because my Microzone MIDI note map uses a simple ascending orientation, the pitch assignments are straightforward.

For 72 edo, I use fractions (1/72, 2/72…72/72). By default, this sequence repeats every octave with the software automatically adjusting each octave’s pitch values (doubling the frequency).

Another option is to continue using more midi note numbers to further stretch the octave or implement non-octave based tunings.

C6=6/72

C5=5/72

C4=4/72

C3=3/72

C2=2/72

C1=1/72

Db12=12/72

Db1=11/72

Db10=10/72

Db9=9/72

Db8=8/72

Db7=7/72

B6=72/72

B5=71/72

B4=70/72

B3=69/72

B2=68/72

B1=67/72

octave 2:

C n#6 or 78

C n#5 or 77

C n#4 or 76

C n#3 or 75

C n#2 or 74

C n#1 or 73

The Universal Tuning Editor allows you to set the global tuning frequency (A4 = 440 Hz, 432 Hz, etc.) and this is the basis of the actual pitch-color frequencies sounded in your pitchmap.

3. Assign PitchColors
With the six row layout of the Microzone, I use the color spectrum series: red, orange, yellow, green, blue, violet. I put small color dot stickers on the keys for easy orientation. The colorized notation looks fairly dull in a pdf/web format and I am trying to figure out how to make the colors glow on a high resolution display. I wonder if photo editing software might be able to render more vivid, fluorescent pitchcolor images for digital display devices.

 

Implementing PitchColor with Chromatic Notation Software

Finale music notation software only supports the assignment of a single color per pitch/per score (i.e. A = red only).

My workaround is to export each page of the score as an SVG (scalable vector graphics) file and import/place it into Affinity Designer ($50). Vector graphics editing enables the creation of colorized noteheads and symbol shapes. But with this method, the color rendering looks fairly dull on a digital display. I wonder if this has something to do with the superimposed layering that these type of editors use; or maybe they were optimized for print media. I am still trying to figure out how to get a vivid, LED-like display of colorized noteheads.

Finally, I export each SVG image file as a PDF (portable document format) file and combine the pages into a multipage score file for web publication.

Affinity Designer or Illustrator can also import PDF files and this might be an easy method to colorize polychromatic scores created within any monochromatic music notation software – or to modify formerly chromatic compositions.

I wonder if a better color rendering solution could eventually come from video editing software. Super Ultra High Definition (SUHD) 4k,12-bit resolution images have the capacity to display over 68 billion colors – far greater than print-derived color formats. One option might be DaVinci Resolve (free standard version).

We now have static, page by page, digital displays of music notation via tablets. I am curious if it possible to implement dynamic displays which advance upcoming notation images in response to the music being played – like a video file.

Currently, audio files are static (fixed) elements within a video file. A variant of voice recognition technology could potentially use real-time performance (audio) cues to advance a colorized music notation video file. Maybe this type of dynamic integration of video within audio will become possible with developments in Virtual Reality (VR; Augmented Reality; Mixed Reality; interactive) technology.