Cycling ’74 have released a new object for Max 7 for real-time pitch correction of incoming audio. That highly promising object is called retune~. It looks like Cycling ’74 have also spent time thinking about the struggle of microtonal musicians, because this object supports microtonal scales! You can specify your tuning in cents or ratios, and you can pick a reference pitch in Hz. This is just fantastic to see, and I hope more Max/MSP artists will now be exposed to the world of microtonal scales.
The problem is that intervals of an octave or larger are somehow not supported by retune~. retune~ assumes that your scale will repeat at the perfect octave of 1200 cents (2/1). If you try to add an interval of 2/1 or larger, then you will receive an error message:
Note must be between 1 and 1199 or a relation (1/2, 5/4), value '2/1' ignored.
This will cause difficulty for many because it rules out the use of non-octave tunings. The Bohlen-Pierce scale, the slendro and pelog scales of Indonesia, and Wendy Carlos’ Alpha, Beta & Gamma are amongst the most interesting collections of pitches that you should ever hope to hear.
The documentation for retune~ says that Scala format tuning files (.scl) can be loaded, but I fail to see how this is possible as Scala has support for non-octave scales while retune~ doesn’t. That means that many of the Scala files from my library will cause errors when I load them into the retune~ object. This is patently not Scala support, this is a dodgy hack.
To their credit, Cycling ’74 have gone to great effort to include microtonal tunings in their new retune~ object, and I am truly grateful for that. But it looks they didn’t consult any of the microtonal musicians who would want to make sure that all kinds of microtuning were permitted.
If you are a Max user who would like Cycling ’74 to take some action on this issue, write in to their support team now and also post on their forum. The retune~ object may improve if people make their voices heard.
New instruments are appearing on a regular basis with incomplete support for microtonal scales. Whether it is down to inexperience with microtonal scales, or lack of time/materials/money to do the job properly, it’s sad to see some developers getting it wrong while others get it 100% right.
Please consult with microtonal musicians who work with these ideas on a daily basis! The limitations in your approach will soon become clear as day.
Thankfully some developers are implementing microtonal scale support in the right ways, whether by supporting scl/kbm pairs, MIDI Tuning Standard, or scripts.
If any developers want to reach out to me personally, you can do so via sevish.com/contact and I will do my best to reply by email. You can also join the world’s busiest online microtonal music community at Xenharmonic Alliance II, where hundreds of microtonalists will be willing to provide you with insight into our dark art.
It is possible to make microtonal music in Max/MSP by synthesis using two methods that I find really easy to work with. You can use a coll object to store a frequency for each MIDI note number, or you can use the expr object to convert MIDI note numbers directly into frequencies of any n-tone equal temperament.
The coll method is more appropriate for just intonation, unequal or empirical scales, whereas the expr method is nice if you want to play equal temperaments or harmonic series based scales and you want to allow the user to adjust the tuning on-the-fly.
To see this in action, download my Max 4 Live instruments where I use both tuning methods.
If you want to use retune~ in Ableton Live, Cycling ’74 have released a pack of Max 4 Live devices to do just that. The pack is called Pitch and Time Machines and the two devices to pay attention to are Autotuna and Microtuner:
Autotuna – A scale-based microtonal auto-tuner that can use Scala files [lol]. This device uses the retune~ object to tune the audio to a given scale. Scales can be either entered by hand, or loaded from Scala files [lol] – a file format for musical tunings that is a standard for exchange of scales. Learn more about Scala.
Microtuner – A table-based microtonal auto-tuner that can use Scala files [lol]. This device is similar to the Autotuna example device, except that scales are entered using a graphic function whose shape can be curved, thus providing some unexpected pitch scales.
Thanks to Todd Harrop for his research and Joakim Bang Larsen for bringing retune~ to my attention.