Munt Reloaded - Development

Developer's Forum for discussion of bugs, code, and other developmental aspects of the Munt Project.

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-13 @ 17:10

Falcosoft, here is an Audacity recording of that MIDI file playing on my real MT-32 (Old) playing via Windows Media Player in Windows 10 over my M-Audio MIDISport Uno USB-MIDI interface.

Hope it helps.

Edit: Looks like my CM-64 may arrive today too, so I may also be able to record from that if it matters - let me know.
You do not have the required permissions to view the files attached to this post.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-13 @ 17:31

Thanks, that's strange and unexpected. It seems your MT-32 does not react to the Pitch Bend Sensitivity RPN at all. But it is listed in MT-32 ducumentation under 'Midi Implementation' as 'RPC MSB Bender Range'. I do not know what's going on. Maybe 'Bender Range' setting has to be enabled first some way on real MT-32?
PS: Yes, CM-64 result would be also useful. So far there is definitely a difference between Munt and Real MT-32 but not in the way I expected.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-13 @ 18:07

Could it be because of Windows Media Player? Is there another simple MIDI player I can use in Windows? MIDI-OX's MIDIBar is being cranky and giving an MCI error when I try to load a .mid file.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-13 @ 18:16

Yes, Try my midi player FSMP:
http://falcosoft.hu/softwares.html#midiplayer
It also has integrated Munt as a VSTi so you can compare the MT-32/CM-64/Munt results more easily.
Here is a quick guide how use VSTi in the player:
http://falcosoft.hu/midiplayer_howto.html#a17
Munt VSTi can be found in Midiplayer4/VST/MuntVsti folder.

Edit:
How to to set your real MT-32 as output :
http://falcosoft.hu/midiplayer_howto.html#a1

If you right click on the First Aid like Reset button you can get a context menu where you can send custom SysEx messages.
There is a SysEx called MT32_GM_Mode.syx.
Select it and send it to your real MT-32 and play the test file again.
This Sysex theoretically also sets the Pitch Bend Range to GM compatible 2 cents. Let's see if it works for you.
But before playing you have to disable the embedded MT-32 reset Sysex in the test file. Right click Midi Player caption -> SysEx Options -> Enable SysEx in Files. Disable this option.
Last edited by Falcosoft on 2017-5-13 @ 18:35, edited 1 time in total.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-13 @ 18:30

Damn, I saw your stuff on a PhilsComputerLab video a few weeks ago and then forgot about it :blush: Midi Player is amazing!

Here's a recording made by Midi Player's record feature while playing to my MT-32 and recording from Line In.

Edit: FYI, I did power cycle the MT-32 before each recording, to make sure it wasn't affected by anything that had been played previously.
You do not have the required permissions to view the files attached to this post.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-13 @ 18:38

So the result is the same... I do not know what can cause this. An MT-32 expert is desperately needed :)
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-13 @ 18:42

I missed your SysEx note. I will try that and then edit this post with the result.

Edit: Here is a recording with SysEx from file disabled and after having sent MT32_GM_Mode.syx.
You do not have the required permissions to view the files attached to this post.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-13 @ 18:56

Thanks. The good news is your MT-32 works perfectly :) (can handle Pitch bend Range). So I must have messed up something with the test file that the real MT-32 does not like but Munt does. But I still do not know what it is. I will try to correct the error, but it will be only tomorrow. Thanks again for your help!
Last edited by Falcosoft on 2017-5-14 @ 08:34, edited 1 time in total.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary


Re: Munt Reloaded - Development

Postby gdjacobs » 2017-5-13 @ 20:29

Munt or FSMP?
User avatar
gdjacobs
l33t
 
Posts: 3931
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-14 @ 02:37

CM-64 arrived and is working. Here is a recording of the test MIDI with MT32_GM_Mode.syx loaded.
You do not have the required permissions to view the files attached to this post.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Cloudschatze » 2017-5-14 @ 05:32

Falcosoft wrote: It seems your MT-32 does not react to the Pitch Bend Sensitivity RPN at all. But it is listed in MT-32 ducumentation under 'Midi Implementation' as 'RPC MSB Bender Range'. I do not know what's going on. Maybe 'Bender Range' setting has to be enabled first some way on real MT-32?

It sounds like you've got this figured-out, but the documentation you were referencing applies to the "newtype" MT-32 (v2.0x), which (along with the CM/LAPC-variants) supports setting the Pitch Bend Range either with RPN #0, or with SysEx. "Oldtype" MT-32s (v1.0x), on the other hand, only support the SysEx method.
User avatar
Cloudschatze
Oldbie
 
Posts: 944
Joined: 2005-6-16 @ 14:32

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-14 @ 08:29

@collector:
FSMP and MuntVsti are free but not open source.

@ Cloudschatze:
Thank you. Yes, I have also found an earlier Vogons topic that confirms this:
https://www.vogons.org/viewtopic.php?f=29&t=50022

@HunterZ:
Now that we know your old MT-32 does not support RPN style Pitch Bend Range settings (but do support SysEx to change this) the situation is clear.
Back to the starting point: To finally decide if this is a Munt bug You should repeat the test on your CM-64 with the default configuration without the GM mode SysEx.
So.
1. Re-enable Send SysEx in Files in Midi Player.
2. Do Not send MT32_GM_Mode.syx
2. Play the test file.

Thanks.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-14 @ 15:23

OK here is a CM-64 recording with a fresh power cycle and file SysEx enabled.
You do not have the required permissions to view the files attached to this post.
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-14 @ 15:30

@HunterZ:
Thanks!
Exactly like Munt in its current form. So there is no bug, it's just different from GM behavior.
Ps: I have answered to you in FSMP topic. I hope you have found it.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby HunterZ » 2017-5-14 @ 16:39

Yes, I found it, thanks!
User avatar
HunterZ
l33t++
 
Posts: 6048
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Munt Reloaded - Development

Postby gdjacobs » 2017-5-14 @ 16:46

Falcosoft wrote:@collector:
FSMP and MuntVsti are free but not open source.


I'm guessing MuntVsti is a Vsti wrapper over mt32emu. The shared library is LGPL and any additional work that it links to is closed source (or otherwise as the author desires).
User avatar
gdjacobs
l33t
 
Posts: 3931
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-14 @ 17:03

@gdjacobs:
Yes, MuntVsti consists of 2 dll files:
1. mt32emu4v.dll is an unmodified mt32emu compiled as a shared library. Actually anyone can compile the current version of Munt, rename it to mt32emu4v.dll and it will work with the plugin. (I have decided to rename the file to avoid collision with the windows driver mt32emu.dll).
2. MuntVsti.dll is the VSTi plugin itself that calls the exported functions (C API) of mt32emu. I would not say that it's simply a wrapper e.g. since it hosts 2 instances of Munt to achieve full 16 channel modes.

When I modify the LGPL library's source (e.g. in case of OPL3Vsti) the source files can be found in FSMP's package itself.
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

Re: Munt Reloaded - Development

Postby gdjacobs » 2017-5-14 @ 18:11

Falcosoft wrote:@gdjacobs:
2. MuntVsti.dll is the VSTi plugin itself that calls the exported functions (C API) of mt32emu. I would not say that it's simply a wrapper e.g. since it hosts 2 instances of Munt to achieve full 16 channel modes.

Oh, I didn't know you'd extended it this way.

Falcosoft wrote:When I modify the LGPL library's source (e.g. in case of OPL3Vsti) the source files can be found in FSMP's package itself.

Thanks for all your contributions to the community!
User avatar
gdjacobs
l33t
 
Posts: 3931
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: Munt Reloaded - Development

Postby Falcosoft » 2017-5-25 @ 09:13

Hi,
This question is mainly for Serg:
Please, help to find out what is the situation with the 'proper volume level' compared to hw MT-32.

Facts:
1. I use unmodified version of Munt library (mt32emu) in MuntVsti and do not modify the rendered samples any way in the plugin (they are sent 'as is' to the host)
2. There are 2 functions in Munt's C API to get the rendered samples (note: the 2nd one is not the same as the newly introduced floating point rendering path) :
a. mt32emu_render_bit16s()
b. mt32emu_render_float()
For a VSTi plugin mt32emu_render_float is the natural choice since VST plugins always use floating point data(32 or 64 bit).

The 2 functions give different results regarding volume level. The floating point one results in twice the volume.
Which is the right one?
(The driver uses the 16 bit integer one)
User avatar
Falcosoft
Member
 
Posts: 361
Joined: 2016-5-21 @ 13:46
Location: Pécs, Hungary

PreviousNext

Return to MT-32 Development

Who is online

Users browsing this forum: No registered users and 1 guest