VOGONS


2003-8-8 Release

Topic actions

First post, by canadacow

User metadata
Rank Member
Rank
Member

New release out today. Cleaner instruments... closer sound, and dynamic reverb. Hope everyone enjoys it.

http://www.artworxinn.com/alex

Reply 1 of 35, by teamster1975

User metadata
Rank Member
Rank
Member

Good morning!
The reverb is sounding good! There are a couple of instruments slightly out of key in underworld 2 and ultima 6, once those are sorted I think you'll be there 😁
Have a good weekend,
Matthew

Reply 3 of 35, by canadacow

User metadata
Rank Member
Rank
Member

Just to annoy the crap out of everyone, I just posted a new binary. This one is retuned and has better reverb. For those who already got today's zip (and care that much), download it again for even better sound.

This one comes with a challenge too... I'm actually looking for examples where my emulator is way off. I've tried as many programs as possible to compare and they all compare pretty well... so bring it on.

😁

Reply 4 of 35, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

Yikes! You need to warn those compiling that you also updated mathutil.h:)

I had found an apparent bug in the prior release that's still there(I hadn't mentioned it yet because I was working on some other updates as well).

Unless you intended not to configure the last entry, the for loop should be checking <16/<=15.

                        int order[16] = {0, 9,1 ,2, 3, 4, 5, 6, 7, 10, 11,  12,13, 14, 15,8};

e=0;
z = 15;
for(u=0;u<15;u++) {
if((order[u]<8) && (order[u]>=0)) {
bit = (s >> (7-order[u])) & 0x1;
} else {
if(order[u]>=8) {
bit = (c >> (7-(order[u]-8))) & 0x1;
} else {
bit = 0;
}
}
e = e | (bit << z);
--z;
}

I've done some optimization where, for some instances, the cpu usage is halved and gotten rid of some spikes. I havn't determined which of my changes are the ones that did it though. That said, an example of a game that still pegs the cpu is Microprose's F117 intro. It has around four/five big spikes.

An example of long load time is Microprose's Master of Orion. I did what optimizations I could to speed it up.

Reply 5 of 35, by canadacow

User metadata
Rank Member
Rank
Member
ih8registrations wrote:

Yikes! You need to warn those compiling that you also updated mathutil.h:)

Doh.. sorry.. Made a note to that on the webpage.

Unless you intended not to configure the last entry, the for loop should be checking <16/<=15.

Yeah... for some weird reason that LSB is always zero. Roland completely wasted one sixteenth of their ROM. Leaving that bit out was intentional on my part.

(Yeah, I know I should be documenting this stuff... I'm getting better about documentation though, aren't I?)

Reply 9 of 35, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

While you're at it, you could correct this line: 'To enable it, add the line "#include "midi_mt32.h"" at line 96 in the file "midi.h" in the same directory.'

It's midi.cpp. Which line number you intended to stick it I still don't know though..

Reply 10 of 35, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

In PlayMsg, patch setting, when you do the bounds check:

if((chan>=0) && (chan<8)) mt32ram.params.timTemp[chan] = mt32ram.params.patch[patch];

shouldn't it be chan<=8?

It's a redundant check since there's the same check before the case statement, but just in case you meant to be off by one here I thought I'd check.

Reply 11 of 35, by Snover

User metadata
Rank l33t++
Rank
l33t++

Tested the latest release, sounds gooood! But, yea, some notes are still off. Unfortunately I wasn't very hard-pressed to find them.

I've attached two savegames for SQ3. Really, the first one just leads to the second one, but in case you can't figure out how to "look computer" and navigate to monolith burger I've provided the second one. 😜

Unfortunately without isolating MIDI channels I can't quite tell which channel is off.

Attachments

  • Filename
    sq3.zip
    File size
    52.09 KiB
    Downloads
    399 downloads
    File license
    Fair use/fair dealing exception

Yes, it’s my fault.

Reply 12 of 35, by canadacow

User metadata
Rank Member
Rank
Member

Not sure what you're refering to here. I've listened to it and it sounds almost dead on to me. Record me two samples (one correct and one that you think is off) and I'll see what I can do to refine it. However, I did notice that though its trying to play the "Hand Clap" drum, its not audible in the music. I'm going to look into that.

Reply 14 of 35, by batfink111

User metadata
Rank Newbie
Rank
Newbie

Haven't checked the MT32 emulator for a while and I'm suprised how far it has come already. This is very exciting!

Attached are some MIDI files that are playing out of tune and have some instrument issues. All use the default voices.

Attachments

  • Filename
    midi.zip
    File size
    37.84 KiB
    Downloads
    397 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 35, by canadacow

User metadata
Rank Member
Rank
Member
Fop wrote:

I wonder why I can't hear any music in Monkey Island 🙁
So it's basically done now? Maybe some reverb stuff, turning it to a driver, optimizing, but nearly?

Its because for speed reasons I disabled all the other sound output and MI just happens to default to Adlib no matter what. Monkey Island one needs to be explictly told to use the roland output, so try typing "monkey r" when you run it. (Indy: Fate of Atlantis is the same way)

Yeah... I'm starting to get arrogant with my emulator in the sense that even in its almost finished state it now sounds more accurate than any MT-32 soundfont or patch out there I know of.

Last edited by canadacow on 2003-08-10, 13:37. Edited 1 time in total.

Reply 16 of 35, by Lucasierra

User metadata
Rank Newbie
Rank
Newbie

I have been following this project for a long time and I think you made an amazing progress, so congratulations. However, I'm sorry to say that from comparing the samples at your site I would have to say there is still a long way to go- almost all the instruments are way off with regards to tuning, sound and pitch (am I the only person that notices the not so subtle differences between the original recording of sq3 and one played by the emulator ?!). Although you state that you are about 99% finished with the emulator.. it sounds more like 80% complete. I myself dream about an emulator for mt-32 but maybe without exact specs from Roland - it's just isn't possible. I really hope it will be.. because I really want this project to succeed. Best of luck with this wonderful project!

Reply 17 of 35, by canadacow

User metadata
Rank Member
Rank
Member

Originally posted by Lucasierra
I myself dream about an emulator for mt-32 but maybe without exact specs from Roland - it's just isn't possible.

That's the worst thing you could say to a person like me. It only makes me work that much harder!

As for the percentages on the site, I've been rating them on how close I believe I have the algorithms implemented as they are in the MT-32. Since the MT-32's synthesis is based on well known principles, implementing such algorithms has been the easy part. The hard part has been translating the patch parameters to the correct interal logarithmic coefficients that the MT-32 uses. So, 95% on the time variant filter does not mean that my program sounds 95% like the MT-32, but rather that I'm 95% sure what I've implemeted is right. Despite my confidence, the sound could still be way off because my coefficients are wrong. Interestingly, from that very first sample of SQ3 on my site to the current release, I would say I've only changed about 400 lines of the 3300 lines total written for my emulator.

As for the possibility of ever getting an exact match without exact specs, I certainly think its possible. I've been using some pretty powerful sound analysis software to compare my emulator with the MT-32's output. http://www.telebyte.com/pioneer/
In many places my emulator matches almost exactly, though with other parameters or combination of parameters it gets a little off. Again, as I keep saying, its just a matter of time before I narrow it down even more.

Reply 18 of 35, by teamster1975

User metadata
Rank Member
Rank
Member

I see what you mean Lucasierra, the emulated version is two octaves lower than the original. Other than that though the music sounds pretty damn good, with only the odd underlying tracks slightly off pitch.
Canadacow: I wouldn't call it arrogance, I'd call it pride in your baby!:D