Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode (Read 8287 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

MUNT sounds awful to my ears, so I bought a cheap USB-Midi cable, a MT-32 and a CM-32L to listen to old PC-Game songs over DosBox and standard windows players (my favourite is Media Player Classic for that).
BUT:
Today I found out something strange by coincidence: I listened to some MIDI files from www.QuestStudios.com. They don't only have the MT-32 versions, but also some GM compatible conversions. These also sound below average when listening on a SC55 / SC88 / BassMidi / Fluidsynth or my X-Fi's Windows Audio. Just for fun I tried to switch to S-YXG50 with the 4MB soundbank and listened to them with foobar.

Holy cow, I was surprised that this was the closest outcome near to listening to the Originals on my MT-32 or CM-32L!
I don't know how, but even the sound effects of the CM-32L with all the cracks and pops where there.
How is that possible? HOW?


My Foobar:
Code: [Select]
Core (2011-09-14 09:11:28 UTC)
    foobar2000 core 1.1.8
foo_abx.dll (2010-09-28 21:04:10 UTC)
    ABX Comparator 1.3.4
foo_ac3.dll (2010-09-28 21:04:10 UTC)
    AC3 decoder 0.9.5
foo_albumlist.dll (2011-09-14 09:09:52 UTC)
    Album List 4.5
foo_cdda.dll (2011-09-14 09:09:40 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2011-09-14 09:09:32 UTC)
    Converter 1.5
foo_dsp_delta.dll (2008-10-24 13:57:16 UTC)
    Noise Sharpening DSP 1.0.0
foo_dsp_std.dll (2011-09-14 09:10:12 UTC)
    Standard DSP Array 1.0
foo_dsp_winamp.dll (2010-01-23 07:39:18 UTC)
    Winamp DSP Bridge 1.4.7
foo_dumb.dll (2011-10-08 03:18:00 UTC)
    DUMB module decoder 0.9.9.45
foo_facets.dll (2011-10-08 03:18:00 UTC)
    Facets 1.0
foo_fileops.dll (2011-09-14 09:08:24 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2011-09-14 09:08:22 UTC)
    freedb Tagger 0.6.4
foo_game.dll (2008-12-11 21:26:52 UTC)
    Game Audio Decoder 1.10
foo_gep.dll (2011-12-17 13:33:06 UTC)
    Game Emu Player 1.117
foo_input_adplug.dll (2011-02-19 05:12:07 UTC)
    AdPlug 1.39
foo_input_hvl.dll (2011-11-23 06:45:15 UTC)
    Hively Tracker decoder 1.8
foo_input_monkey.dll (2011-03-10 10:04:09 UTC)
    Monkey's Audio Decoder 2.1.5
foo_input_std.dll (2011-09-20 17:21:14 UTC)
    Standard Input Array 1.0
foo_input_tfmx.dll (2011-03-22 18:46:44 UTC)
    TFMX decoder 0.5
foo_input_ym.dll (2011-03-19 11:16:42 UTC)
    YM Decoder 0.3
foo_jesus.dll (2010-09-23 00:34:06 UTC)
    Autosave & Autobackup 10
[b]foo_midi.dll (2011-12-13 00:36:24 UTC)
    MIDI synthesizer host 1.146[/b]
foo_out_asio.dll (2011-12-19 00:28:38 UTC)
    ASIO support 2.0.3
foo_out_ks.dll (2006-08-04 20:54:58 UTC)
    Kernel Streaming Output 1.2.2
foo_out_wasapi.dll (2009-05-19 21:45:18 UTC)
    WASAPI output support 2.1
foo_playcount.dll (2011-07-13 10:47:18 UTC)
    Playback Statistics 3.0.2
foo_rgscan.dll (2011-09-14 09:09:32 UTC)
    ReplayGain Scanner 2.1.2
foo_scheduler.dll (2011-12-13 00:36:24 UTC)
    Scheduler 4.09
foo_sid.dll (2011-02-19 05:12:07 UTC)
    sidplay2 1.23
foo_ui_std.dll (2011-09-14 09:09:46 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2011-09-14 09:09:06 UTC)
    ZIP/GZIP/RAR Reader 1.6
foo_unpack_7z.dll (2011-08-13 16:27:58 UTC)
    7-Zip reader 1.8
foo_unpack_lha.dll (2011-08-13 17:28:06 UTC)
    LHA reader 1.11
foo_vis_shpeck.dll (2009-09-28 09:32:16 UTC)
    Shpeck - Winamp vis plugins wrapper 0.3.7
foo_vst.dll (2011-03-05 06:19:04 UTC)
    VST 2.4 adapter 0.9.0.3

Additionally to that you need the VSTi for the Yamaha S-YXG50 and the GM (General Midi, yes, not XG!) sound files from http://www.queststudios.com/Joomla/index.php .
The VSTi (and the SC55/88 VSTi) took me long to find and I am not sure if you also need the MT-32 ROM's which MUNT normally uses.

If you need help finding them, I guess I can help you when you write me a PM or mail (sorry, I am new to this forum).

If you love the sounds of old games and vintage multi timbre sound modules, but could not fetch one on xbay, try it out!

Rev

**edit**

The sound file from queststudios should have the sysex hardcoded into the midi file!

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

Reply #1
Thanks for your experience. I had the Roland SCB-55 hardware in the good old times. Thanks to you, I found the Yamaha S-YXG50 and the MT-32-Emulation.

The S-YXG50 fells like it has lots of pressure an a lot of charme from the old times. I enjoy it very much with GM-Files. Whenever there are real MT-32-files available, I enjoy the MT-32-Emulation by MUNT with the original MT-32-ROM-Files even more.

My software:
  • Foobar 2000
  • foo_midi.dll
  • Plugin: MUNT
  • MUNT-Files: Original DLLs from MUNT-Homepage
  • MT32_PCM.ROM - googled (MD5:89e42e386e82e0cacb4a2704a03706ca)
  • MT32_Control.ROM - googled and built by myself (MD5:9513fec4f09a7d327748340ce3a2a59b)


On top I use an exciter to give the music a more aery feeling.

MUNT eats a lot of CPU-cycles. Usually I underclock my two-core-AMD to 800 MHz all the time but with MUNT I have to set it between 1.600 MHz and 2.400 MHz. So I better find the best setting, transcode to AAC@200kbps and underclock my notebook again.

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

Reply #2
Since foobar is doing a reset between each midi file and you can't load sysex (.syx) files I switched to sergey's / sergm's mt32emu-qt. MUNT forked there, but I am not quite sure if the forks aren't working together. Anyway, link is at https://github.com/sergm/munt_devel/downloads . If you're a power saver, try setting the audio properties (right side, middle) to 10, 500, 100. If you're not happy with the provided Midi-Driver or it is not working, there's a free professional solution named "copperlan" to patch and reroute your virtual midi cable from the player to Sergey's version of MUNT or mt32emu or whatever it will be called when someone reads this.

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

Reply #3
Keeping the system exclusive messages in separate files annoys me greatly. It's not that much effort to include them in all the MIDI files. It would also be nice if they supported marking loop points in the files as well.

Oh, and you don't need the MUNT binaries, just the MT-32 or CM-32L ROM dumps. That's for foo_midi MUNT mode, not for the S-YXG50 VSTi. For that, all you need is the VSTi.

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

Reply #4
Yeah, separate sysex are annoying, but it seems to be the way it is.

I found out that even if the S-YXG50 is selected it uses MUNT for playback if the midi file identifies (not sure how that works) as MT-32 midi file (Space Quest III, Police Quest III from Queststudios e.g.).

Btw. kode54, I got the ROM's for the MT-32 and CM-32, using the CM-32 ones for playback of files, where the sysex is integrated in the midi file. But I am no musician, so I am not that professional that I can integrate the sysex into midi files. The only thing I figured out was to convert syx into a midi file, that I can play before I play the main midi file, the syx is supposed to be for.

Normally I used a simple USB-Midi-Interface and the "real thing", because I am one of the lucky ones (and persistent ebay searcher) whos got 2 MT-32's and one CM-32L (all first gen). But my audio interface blew up and the normal soundcard amplification is a bit too low to record stuff in a good way without the need of editing the songs volume afterwards. Therefore I started listening over foobar with your plugin again (with the outcome, that only midi files with integrated sysex work). I realized a hearable leap in quality in the playback, compared to the real thing. Thats how I came to Sergey's project.

But I thought about it, and for a codejuggler like you there might be an easy solution to fix it. Isn't the syx file just another midi command sent to your MUNT implementation? I am imagining syx- compatibility for your plugin. And seen from Sergey's implementation of a small player in his gui, he managed to make .syx files playable and the option (in the ini file), to disable resets between midi tracks, so the sysex "stays" in the soft synth. Considering his code is open and youre working on similar projects, there's always the possibility to ask.

MT-32 / CM-32L on S-YXG50 SoftSynth VSTi with kode54's Midi Decode

Reply #5
Btw, I realized I can help anyone working on any form of the MT-32 emulation even without skills in coding or using pro audio software, and I will. If you're a coder of one of the MUNT / mt32emu projects or forks and you need comparison between your emulation and the real thing, I can record some files with one of my MT's for you. Just two prerequisites: I am not converting these files for everyone, just for the people working on one of the above mentioned or related projects and since time is limited, I am not mass converting anything you can get your hands on (because its realtime 1:1 recording, a 10 minutes track takes me at least 10 minutes to record, if you want mastering because volume is to low, I have to do that and then convert the output to a FLAC or MP3 you can listen to).

If you meet these prerequisites, and want me to help you can PM me and I will do my best to help.