Page 1 of 1

Some discoveries about the CM-32L panning

Posted: Sun Jan 21, 2024 4:40 am
by Spikey
Hey folks,

I recently looked into something NewRisingSun had told me years back about the CM-32L and MT-32 panning differing. I looked into it more, and using his knowledge plus information in the manuals, I came up with the following. I haven't done actual listening tests to 100% confirm all of this, but I imagine it's 100% correct or very close to.

- The MT-32 does not use all pan instructions from 0 to 127 like GM does. It divides it by 9 and goes nearest neighbour. So panning on the left side for example is values 63 (centre), 72 (left 9 AKA MT-32 pan position 1, would be right 8 in GM), 81 (left 18/pan 2), 90 (left 27/pan 3), 99 (left 36/pan 4), 108 (left 45/pan 5), 117 (left 54/pan 6), and 126 (left 63/pan 7). Values other than these panning instructions will be rounded down to one of these values. In other words whether you pan 72-80 in a 0-127 sense, it should all come out at the MT-32's pan position 1, or 72 (left 9).

- The computers on MT-32's and CM's for some reason divide things into left and right differently (no idea why) so the panning math comes out differently too! So some panning designed for MT-32 or CM-32L on the opposite device will cause skewed panning then originally intended. The CM-32L also has a slight bias towards the right side, whch means MT-32 panning on a CM device will be pulled to the right slightly.
Using the left side again as an example, the centre now is 60 (right 3 in an MT-32 sense which would still yield centre on a MT-32, left 4 in a GM sense, which would not be centre). Pan position 1 is then 68 (left 8 on a CM-32L, left 5 MT-32, right 4 GM), 2 is 77 (left 17 CM, 14 MT), 3 is 85 (left 25 CM, 22 MT), 4 is 94 (34 CM, 31 MT), 5 is 102 (42 CM, 39 MT), 6 is 111 (51 CM, 48 MT) and 7 is 119 (59 CM, 56 MT).

- So to provide real world context for this. Let's say the panning is set to a MIDI value of 78. In a MT-32 sense, that would be left 14, rounded down to nearest left 9, and thus left pan position 1 (slight left panning). In a CM-32L sense, this would be left 18 (rounded down to nearest left 17), and thus left pan position 2 this time (slight to moderate left panning).
In other words, the same MIDI pan data will cause the two devices to shift the audio different amounts, resulting in a different listening experience.
This is with an individual instrument, one can imagine with 4-9 instruments in most tracks, it will affect most musical tracks in a game, probably a handful severely per game.

- The most important takeaway is that the CM-32L has bad/different maths when dividing pan data in stereo and then in particular on the left side - and so should be avoided for playing back MT-32 scores.

Re: Some discoveries about the CM-32L panning

Posted: Tue Feb 20, 2024 12:25 pm
by jaffa225man
Wow, that's eye-opening! I wonder if the MT-32 (new)/MT-100 follows the MT-32 (old) panning or CM-* panning. I may test that, but I'm not sure how easily I'll be able to measure volume differences. Of course, NewRisingSun and yourself have probably already investigated that.

I also wonder why Roland decided to downsample, when (at least nowadays) microcontrollers can easily handle a final round off after multiplying. I doubt it would save any clock cycles to scale it down as they've done. And wouldn't any DAC be able to support volumes in that range? This is especially when there are other calculations for volume (part and master) that I hope have full depth. I suppose they saved 4 bits to store each part's pan value in 3 bits instead of 7. That multiplied by nine for all parts uses ~4 bytes rather than ~8.

Thanks for the interesting discovery!

Re: Some discoveries about the CM-32L panning

Posted: Thu Feb 22, 2024 1:08 am
by Spikey
Yeah, it means CM devices aren't suitable for MT-32 gaming or even playback (without pan modifications). Quite a game-changer. I didn't announce it on VOGONS cause it seemed like it might be unpopular..

Haven't investigated variants. I own a gen 1 MT-32 so that will be interesting to check. And of course there's a few CM variants, the CM-32L is cut down from the Roland E-30/Pro-E keyboards for starters.

I still need to go through the panning, in each step from 0-127 to confirm. I was going to do it with the emulator, but I just got a CM-64, so I'll finally have my first CM-32L, haha.

Re: Some discoveries about the CM-32L panning

Posted: Thu Feb 22, 2024 10:47 pm
by jaffa225man
Spikey wrote: Thu Feb 22, 2024 1:08 am I still need to go through the panning, in each step from 0-127 to confirm. I was going to do it with the emulator, but I just got a CM-64, so I'll finally have my first CM-32L, haha.
I have each variant in the MT-32 family to test the differences (well, except the MT-100 and CM-32LN, but they should be equivalent to the MT-32 (new) and CM-500, respectively) if I have time, but haven't yet. I wasn't going to be as careful/adventurous as you, planning 127 tests, but only one as a start. That is, your aforementioned real world example a of MIDI value of 78.

Congratulations on the CM-64! That was my first MT-32-relative model beyond the MT-32 (old), and one of my favorites. Just having no buffer overruns with it (and the added effects with games that use them, like Beneath a Steel Sky) was heartwarming.

Re: Some discoveries about the CM-32L panning

Posted: Sun Mar 03, 2024 11:14 pm
by Spikey
Thanks man! I'm excited. Mostly to record Larry 5 with the correct SFX and panning.

I tested the panning on MUNT and it was different yet again than I expected... There were only 4 Left and 3 Right positions in both MT-32 and CM-32L (of course, going to test with hardware!). The CM-32L is panned more rightward than expected, but it wasn't as much as the calculations led me to believe. And both held the same pan value for 17 (CM) or 18 (MT) positions! I expected about 7 positions per side but it was only 3/4.
Also, the right and centre pan is quite similar in both devices (4 or less variance) but the left pan is different (4 or more variance).

It makes sense, they're quite similar overall which adds up as I haven't heard people notice before. Although there's still more difference than I expected. The most obvious being extreme Left, which on the MT-32 needs a pan value of 126 or 127 (left 63 or 64), and CM-32L needs a pan value of 119 to 127 (left 56 to 64).

This doesn't factor in reverse stereo, which quite possibly Sierra games all or mostly utilised, too, which may change things up even further..

Re: Some discoveries about the CM-32L panning

Posted: Sat Mar 09, 2024 6:16 am
by Spikey
It turns out that despite intending for there to be 15 positions, the LA32 chip only recognises 3-byte (8 numerical) positions.
My theories from before don't apply, since the hardware doesn't actually work as it purports to in the manuals.

So there is only 4 Left and 4 Right positions, with what I'm calling "center" possibly being a sort of "right center" and might more correctly be considered "Right 1/Center", making the others Right 2/3/4.

The real-world values are as follows:

MT-32/compatible
Center 54 to 71
Left 1 72 to 89
Left 2 90 to 107
Left 3 108 to 125
Left 4 126 to 127

Center 71 to 54
Right 1 53 to 36
Right 2 35 to 18
Right 3 17 to 0

CM-32L/compatible
Center 51 to 67
Left 1 68 to 84
Left 2 85 to 101
Left 3 102 to 118
Left 4 119 to 127

Center 67 to 51
Right 1 50 to 34
Right 2 33 to 17
Right 3 16 to 0


The biggest takeaway for me is the left values, which are all 5-7 pan depth different, and the center, which given that true center is 63 on a 0-127 scale, is close to the MT-32 pan range - 54 to 71 has a midpoint of 62-63. The CM-32 in contrast has 51 to 67, which has a midpoint of 59, 3-4 panned further right.

It would be very interesting to test this with two things:
- With output jacks reversed, as it's theorized the MT-32 was intended to be used this way with Sierra games, at a minimum post SCI0
- With stereo sound effects (effects that pass from left to right or vice versa), such as the Sariens in SQ1VGA