VOGONS


First post, by canadacow

User metadata
Rank Member
Rank
Member

Ok.... fixed the PCM tuning thing. Working on it has helped me through some major Rx drug induced insomnia. I'm not updating the sound files but this release is probably the first that sounds very close to the MT-32 (and I'm not kidding this time). There are still a few instruments out of tune and out of timing, but slowly I'll get those taken care of. Enjoy and as always grab the binary at http://www.artworxinn.com/alex

Reply 3 of 7, by canadacow

User metadata
Rank Member
Rank
Member

Good point. I would strongly doubt a 17 year old piece of hardware would rely on floating point math. Of course, looking at my code, I stick to using intergers as much as possible after I generate the tables. I believe the only time I venture from this is in the borrowed lowpass filter code. This code is a natural target for MMX optimization (of course, for that I'll have to convert the code to use intergers only to begin with, unless I want to learn SSE and 3DNow at the same time).

Reply 6 of 7, by vladr

User metadata
Rank Oldbie
Rank
Oldbie
Harekiet wrote:

Just wondering though, does the real mt-32 use floating points for the sound generation?

They would not need floating-point for these kinds of applications. Fixed point would more than suffice.

V.

Reply 7 of 7, by canadacow

User metadata
Rank Member
Rank
Member

Yeah, fixed point arithmatic is what I've stuck to mostly (once I generate all the lookup tables). Again, the only exception is the lowpass filter, which I'm looking to convert to interger math once I get the sound accurate. There are also several other areas I've identified as easy targets for optimization. This code should get a bit faster, again, once I'm confident I have it sounding right. I'm really looking forward to implementing a lot of the stuff using MMX. Such a change should also bring a big speed improvement.