5

I read today that Sysex files have the capacity to contain additional note pitch information from the regular 0-127 in normal MIDI.

Is it possible to convert a regular MIDI file to Sysex type, and add additional pitch information that will convert the notes from Equal Temperament notes to Just Intonation?

I believe Cubase and Cakewalk can deal with those file types, but whether they can playback the altered pitches inside the DAW is of great interest to me.

Has anyone thought of this before, and tried it? Or are there reasons why it would be impossible?

  • See also https://music.stackexchange.com/questions/33850/is-there-any-support-for-microtonality-and-temperaments-in-or-beyond-the-midi . Of course it is important to establish whether your synth supports any particular parts of the MIDI spec you use. – Нет войне Sep 07 '21 at 14:21
  • Have a look at this. Although it's on a MuseScore site, it's not exclusive to that program. [https://musescore.org/sites/musescore.org/files/2018-06/midituning.pdf](https://musescore.org/sites/musescore.org/files/2018-06/midituning.pdf) – Laurence Sep 07 '21 at 11:49
  • Yes, that's what I was referring to. I read this today and it gave me hope. I'm still not sure how to apply the information though. Under Key-Based Tuning Dump, it says "Universal Non-Real Time SysEx header" which implies that I need a SysEx header to initiate the process. I'm looking for confirmation that this would work. – Chessologist Sep 07 '21 at 12:31
  • @Chessologist As stated in the document, all of those messages need a Universal Non-Real Time SysEx header (F0 E7). – PiedPiper Sep 07 '21 at 13:00
  • 1
    Be careful: there is a persistent myth that just intonation makes music sound great in one key, but it doesn't. It's rather more complicated than just tuning your keyboard to the intervals typically given for just intonation. For example, if you divide the 5:3 major sixth by the 9:8 major second, you don't get 3:2 but rather [40:27](https://en.xen.wiki/w/40/27). – phoog Sep 07 '21 at 21:02
  • Hi Phoog, I have read your comments on other threads and I have to disagree. It's not a myth. Groups such as Voices 8 have gained popularity by escaping Equal Temperament and https://www.youtube.com/watch?v=x7M5ZqFSynQ I have already tested my VST instruments in Just Intonation vs Equal Temperament and they definitely sound better for the kind of music I am writing - slow Diatonic chordal harmonies. Check out Jacob Collier https://www.youtube.com/watch?v=HUGoUHKAGAE – Chessologist Sep 07 '21 at 23:35
  • @Chessologist Voices 8 are not a keyboard. When they sing a piece in C major, they can sing different pitches for A depending on whether it is the third of an F chord or the fifth of a D chord. They can also move D around if that makes more sense -- which it sometimes does. If you want to program your keyboard to do that, more power to you. I've done a bit of that, and it is a lot of work, but an interesting project nonetheless. But if you want your A to be 5:3 the frequency of C and your D to have 9:8 the frequency of C then you'll have that horrible interval between D and A. – phoog Sep 08 '21 at 15:50
  • I never mentioned keyboards. In fact they are the main reason no one in the Western world has written anything outside of equal temperament for the past 300 years. – Chessologist Sep 09 '21 at 23:24
  • Phoog, did you consider leaving out the intervals you don't like? If you're a composer... – Chessologist Sep 09 '21 at 23:37
  • @Chessologist I'm not a composer. I'm a conductor and a singer. People have been writing music outside of equal temperament all along: few people _really_ expect equal-tempered major thirds in 19th century music for orchestra, chamber ensemble, or chorus. Indeed, many performances of music in that style use not only 5-limit thirds and sixths but also 7-limit sevenths and seconds for the dominant seventh chord. Voces 8 are hardly innovative in their tuning; choruses from the UK and elsewhere have been making recordings using just intonation for at least half a century. – phoog Sep 14 '21 at 11:43
  • 1
    @Chessologist I mentioned keyboards because midi is at basis a keyboard-based protocol. It assumes a 12-tone keyboard with enharmonic equivalence, therefore at least a circulating temperament if not equal temperament. Imposing just intonation on a midi stream is analogous to tuning a keyboard to just intonation unless you have logic to provide different pitch information to events with the same key number depending on the context (for example, ^2 and/or ^6 in the progression `I vi IV ii V I`). Also, I didn't see your reply before now because you didn't use the @ sign with my username. – phoog Sep 14 '21 at 11:51

2 Answers2

4

MIDI can specify tuning either in a sysex dump or in real time, but putting such information into a MIDI file or sequence will not necessarily give you the results you want. The sound module or virtual instrument that converts the MIDI to audio is where the tuning and temperament actually take place, so it really depends on what kinds of MIDI messages your sound source supports, not what is possible in the MIDI specs.

Whether you send note numbers or sysex data or anything doesn’t matter. It’s the receiving device that determines how the MIDI is interpreted, not the MIDI itself that dictates the results. To understand the full extent of this, one only needs to contemplate how lighting controllers sometimes use MIDI instead of other protocols to control lights. A note on message is just a pattern of numbers sent within a protocol definition.

That means it’s already possible to do this with many different devices and pieces of software. Synths from Moog, Sequential, and Yamaha definitely have this capability, and I’m sure others do as well. In Logic you can set an entire project to an alternate tuning, although I’m not sure to what extent that applies to third-party virtual instruments. That said, many virtual instruments offer this functionality as well.

The only way I can think of to build microtonality into MIDI data that would work for 99% of sound sources would be to assume an equally tempered sound module and the use the pitch controller CC to augment the note numbers to create microtonality. You’d have to use MPE or multiple channels to play chords this way, but it can be done.

Todd Wilcox
  • 53,618
  • 6
  • 108
  • 185
  • Thanks Todd. So you suspect that Cubase would not be able to interpret the SYSEX data and change the note pitches on playback? – Chessologist Sep 07 '21 at 12:27
  • Also, how would you convert a MIDI file to have the MPE functionality? – Chessologist Sep 07 '21 at 12:28
  • I'm not sure how to square the statement "MIDI does not specify the tuning" with the existence of https://en.wikipedia.org/wiki/MIDI_tuning_standard ? Would using Pitch CC be better than using this standard even for units that support MIDI tuning standard? – Нет войне Sep 07 '21 at 14:02
  • @Chessologist Cubase itself it not a tone module or sound generator. MIDI files are not converted to have MPE information. Any MIDI file can store the information needed for MPE functionality. MPE is a standard for MIDI sources and MIDI destinations to (more or less) use the existing MIDI spec in a certain way. You have to stop thinking about the MIDI and start thinking about the devices or virtual instruments that are going to receive the MIDI. – Todd Wilcox Sep 07 '21 at 14:03
  • 2
    @topoReinstateMonica I think you wanted to link to the next section in the article which explains the Frequency Data Format. So you’re right, MIDI **can** send alternate tuning data, the challenge for the OP is finding and using devices and virtual instruments that will actually receive and interpret the FDF information as desired. Perhaps many virtual instruments do this, but I’m pretty sure that none of my hardware does. Either way we come back to needing to pay much more attention to the devices/plug-ins than the MIDI itself – Todd Wilcox Sep 07 '21 at 14:08
  • 1
    I have gathered a bit more information. Todd is right about the virtual instruments, and there is a list (quite small) of VSTs that use Sysex data on Wikipedia. The DAW is important though. Studio One cannot handle Sysex data, while Cubase does. I have decided to abandon this method of microtuning. – Chessologist Sep 09 '21 at 23:36
0

You won't convert the MIDI file. You might be able to change the way the playback device responds to it, as detailled here (of which I think you're already aware):

https://musescore.org/sites/musescore.org/files/2018-06/midituning.pdf

If you don't have a device that supports tuning maps, you might be able to attack normal MIDI pitch-bend information to each note. I believe this is the way programs such as Sibelius render quarter-tone playback. It should be feasible in a program like Cubase to at least sedmi-automate detection of a pitch class and then attaching a suitable pitch-bend message.

Laurence
  • 84,790
  • 5
  • 59
  • 178