VOGONS


First post, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie

Heyo!

So I'm finally dipping my toes into MUNT, in the hopes of capturing authentic yet cleaner-sounding output than my actual hardware MT32(old).

One of my favorite things to do with this synth, since I discovered the function in the early 90s, was fiddling with the Reverb controls accessible via [Master Volume] + [Volume]

This lets me select a Reverb mode from 0 - 10, with a default of 5.

By contrast, MUNTs configuration gives

Reverb Mode [0-Room; 1-Hall; 2-Plate; 3-Tap Delay]
Reverb Time [0 - 7]
Reverb Level [0 - 7]

My apologies if this has been asked elsewhere, but can anyone point me to a description of MUNTs settings and how they map to the factory behavior of the hardware/firmware?

Also, if a connected game/recording sends SysEx to configure Reverb (As most games do at startup), does that override the MUNT settings?

Reply 1 of 12, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

Hi there!

Certainly, munt strives to implement a reverb model found in the emulated MT-32 hardware yet simply provides you for full and direct control over the reverb parameters available on real devices via software (i.e. SysEx messages). For instance, the four reverb modes are listed in the owner's manual along with the two other parameters. The manual also mentions that the user may control reverb via the control panel and (in another chapter) via software. But the manual does not provide a good hint to answer your question wrt. the mapping nor what's what, so that's basically all one can get from that source of information.

Apparently, others have already been wondering about that stuff, and we can find a lot clearer answer in Bob O'Donnell's book. He says the control panel allows you to set the reverb time parameter only leaving the other two at their default. I'm yet to figure what happens when you set a different mode / level via software, then change the time via the control panel - whether those are reset to defaults or not. That's also a bit strange and I'm curious how the 8 possible values of reverb time got stretched over 11 values settable via the control panel...

Speaking of the meaning of the parameters, I'm not sure I can describe that well (being not a musician) - the code does that in much more details. In short, the first three reverb modes are quite similar and only differ in the depth and sound colour (that is, the lengths and coefficients of the comb filters within). The Tap Delay mode is distinct, so that each reflection is very audible, they also come in stereo. The reverb time parameter determines how fast the reverb will decay, and the reverb level is exactly what you might think of it 😀

There is one function munt implements which the hardware lacks: the reverb settings can be overridden permanently (i.e. got fixed), so that any further SysEx messages that would normally change the reverb on real hardware will be ignored by munt. You can also disable reverb altogether or smoothly adjust the gain factors of the dry and wet outputs separately. Otherwise, the emulation is fair enough.

Reply 2 of 12, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie
Reverb Mode 0: F0 41 10 16 12 10 00 01 00 00 00 6F F7  : Room, Time=1, Level=0
Reverb Mode 1: F0 41 10 16 12 10 00 01 00 02 00 6D F7 : Room, Time=3, Level=0
Reverb Mode 2: F0 41 10 16 12 10 00 01 00 03 01 6B F7 : Room, Time=4, Level=1
Reverb Mode 3: F0 41 10 16 12 10 00 01 00 04 02 69 F7 : Room, Time=5, Level=2
Reverb Mode 4: F0 41 10 16 12 10 00 01 00 04 03 68 F7 : Room, Time=5, Level=3
Reverb Mode 5: F0 41 10 16 12 10 00 01 00 05 03 67 F7 : Room, Time=6, Level=3
Reverb Mode 6: F0 41 10 16 12 10 00 01 00 05 04 66 F7 : Room, Time=6, Level=4
Reverb Mode 7: F0 41 10 16 12 10 00 01 00 05 05 65 F7 : Room, Time=6, Level=5
Reverb Mode 8: F0 41 10 16 12 10 00 01 00 05 06 64 F7 : Room, Time=6, Level=6
Reverb Mode 9: F0 41 10 16 12 10 00 01 00 05 07 63 F7 : Room, Time=6, Level=7
Reverb Mode 10: F0 41 10 16 12 10 00 01 00 06 07 62 F7 : Room, Time=7, Level=7

Where
Mode: (0-Room; 1-Hall; 2-Plate; 3-Tap Delay)
Time: (1 - 8)
Level: (0 - 7)

Reply 6 of 12, by SkyHawk

User metadata
Rank Newbie
Rank
Newbie
Cloudschatze wrote on 2023-04-05, 05:40:

I just created it in response to Sergey's post, after having queried an MT-32 unit for the reverb settings that correspond to each of the front-panel settings.

Neat. I knew it was possible to get custom patches out of the MT-32, (Unless it's running one of the broken firmwares that breaks that), but I didn't know it was possible to get other data as well.

Reply 8 of 12, by Thmp

User metadata
Rank Newbie
Rank
Newbie

I have an additional question to the reverb topic (not specifically munt-related, sorry): is it possible to turn off the reverb in the rhythm section (ch 10) while it stays turned on on the other patches/Instruments on midi ch 1-8/2-9 ?
I tried to send sysex messages to the rhythm part but somehow didnt get it to work (while changing reverb on ch 1-8 via sysex works perfectly fine). BTW I am using an external midi controller and a retrokits rk002 cable to control an mt32-pi.

Reply 9 of 12, by sfryers

User metadata
Rank Newbie
Rank
Newbie

I believe the only way to do this is to disable reverb for each individual key in the rhythm part. This sysex file should do the job:

Filename
MT-32 rhythm part reverb off.zip
File size
1.07 KiB
Downloads
72 downloads
File comment
SysEx file
File license
CC-BY-4.0

MT-32 Editor- a timbre editor and patch librarian for Roland MT-32 compatible devices: https://github.com/sfryers/MT32Editor

Reply 10 of 12, by Thmp

User metadata
Rank Newbie
Rank
Newbie

Wow, thank you for the quick reply! I was trying to do this (disable reverb) for single keys on the reverb part, but it didn´t work out.I will try out your solution asap.

May I ask you, if you could you create a sysex file for turning them all on again as well?

And: how do I send sysex messages this long? This seems far more than the 128 (or so) bytes "allowed"...sorry for asking such noob questions...
in the rk002 coder I first define the data for the sysex message (byte reverboff ={0xF0, ... , 0xF7}) and then send it to the mt32 with the command rK002_sendSystemExclusive(n, const byte *data) with n=number of bytes to send, and data=sysex data for reverb off. but with n=17807 bytes this isnt working.

EDIT: Um, I guess I just can split the sysex-message in more than one...😅

Reply 11 of 12, by sfryers

User metadata
Rank Newbie
Rank
Newbie

The attached sysex files contain what seems to be the minimum amount of information required to switch on and off the reverb settings for the entire rhythm part. My earlier upload contained lots of unnecessary device initialisation messages, so you can probably ignore that now.

I don't know anything about how rk002 works, but an MT-32 or Munt will accept sysex messages of up to 266 bytes in length (consisting of a starting byte, 4 header bytes, 3 address bytes, 256 data bytes, 1 checksum byte and a terminating byte). Longer instructions just need to be split into multiple messages- a sysex file containing full set of MT-32 timbre and patch data comes in at around 18kb.

Attachments

MT-32 Editor- a timbre editor and patch librarian for Roland MT-32 compatible devices: https://github.com/sfryers/MT32Editor

Reply 12 of 12, by Thmp

User metadata
Rank Newbie
Rank
Newbie

Ah, this looks great, thank you. The rko002 sends sysex messages in the same structure as you described, so with the new file there shouldn´t be any problems, I suppose. I´ll try it out tomorrow and will let you know if it worked. In the meantime thanks a lot for your help and support!

EDIT: Turning off works perfectly. For turning on I only implemented the first sysex message of the "turn on"-file. Somehow it didnt work while sending both messages. So everything ist fine now -thanks again!