VOGONS


First post, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

OK, so I jumped on the BASSMIDI bandwagon as soon as it came out and loaded up the Roland SC55 sound font. When playing games in DOSBox, I immediately noticed an improved fidelity. However, just today I noticed something sounded wrong in the beginning of Doom2 (1st level).

About 5 bars into the music, after the bass intro, a cymbal starts playing at the end of the riff. One a real SC55 or Microsoft's wavetable synth (piped into DOSBox), those cymbals are staccato and cut off quickly. With the BASSMIDI + SC55 sound font, those cymbals keep on ringing for a few beats.

1) Can anyone else confirm this too?
2) Why is this happening? Is it because soundfonts don't relay all the proper MIDI information?
3) Can anything be done to make it more accurate with BASSMIDI? Otherwise, it doesn't seem to be the panacea I thought.

Reply 1 of 33, by truth_deleted

User metadata

The real SC55 does not necessarily correspond to the emulated MIDI+SC55 soundfont; I've read stronger statements that the emulation+SC55 is designed, whether intentionally or not, to produce a different sound than the SC55 hardware. There are soundfonts recommended specifically for gaming, although one may sound better in one game but not another. I posted in the "Guides" section with a link to help on soundfonts. From memory, many recommend Weeds and SGM.

Reply 2 of 33, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

BASSMIDI might be a panacea if you are just looking for decent MIDI sound, but forget about soundfonts trying to emulate whatever device... you are better off looking into Virtual Sound Canvas. Was discussed about a million times here as well.

On ¥Weeds¥ soundfont Doom II intro sounds pretty normal to me btw.

Reply 3 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

It's not a question of the soundfont quality, it's a problem with the MIDI data. Something is sent to stop the cymbal (like a drummer putting his fingers on it) which isn't being represented through BASSMIDI. I just find it surprising that MS Wavetable Synth gets it right.

Reply 7 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

OK, I tried your special DOSBox build. Same thing. It's not the soundfont, but perhaps the way MIDI is handled. Obviously Microsoft must have partnered with Roland enough to produce the correct behavior, albeit with substandard samples.

Reply 8 of 33, by truth_deleted

User metadata

I haven't been able to confirm the cymbal problem yet. However, I posted a newer version of dosbox+fluidsynth (v1.1.6); if the SVN version of fluidsynth is not working as expected either, then you could submit a bug report to their team. We are fortunate to have this open source project to provide high quality MIDI.

The long time project ZDoom recommends the use of MIDI software synthesizers. Also, a thread about using Bassmidi with ZDoom; where many of the posts are positive on the use of it. However, the quality of music should be left up to the listener.

Reply 9 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

Correct: http://www.youtube.com/watch?v=8eN1lp2_raY - 11-12 second mark
Correct: http://www.youtube.com/watch?v=RKJsseejs2U - 43 second mark

I don't have a recording of my DOSBox playing it with Fluidsynth or BASSMIDI, but you can easily hear the difference.

Reply 10 of 33, by truth_deleted

User metadata

I could hear the difference in cymbal sounds when comparing fluidsynth to microsoft synth, but only nearby those time points. Confirmed this difference among two different soundfonts. Since it occurs in both bassmidi and fluidsynth, I would have to wonder whether their code base is similar or that the cymbal sound in question is an SC-55 specific extension also supported by the ms synth.

It would be interesting to playback Doom2 MIDI samples in non-SC55 MIDI devices. Perhaps the sound would vary among different hardware, too. An interesting thread about this: doom intro music fidelity query (sc-55 vs soundfonts vs vsc etc). Also, here's an interesting and related quote from that thread: "all SoundFonts and MIDI modules are going to sound different (especially with the "weird synthy" patches/instruments)."

The advantages of the softsynths would outweigh a few deviations from the originally encoded sound. Meanwhile, even different MIDI hardware is not assured of reproducing the sounds as originally intended.

Reply 11 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

It sounds like the Yamaha XG extends the cymbal too. I wonder what Doom II is encoded with to tell a Roland to truncate the cymbal.
http://www.youtube.com/watch?v=8MpnZlOJIqw

It's hard to hear, but it sounds like the cymbals are truncated in FM music (real OPL3) too after changing Doom 2 to use Soundblaster for music.

Edit: Not sure about the Yamaha. Could it be a bass drum extending out?

Reply 12 of 33, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

Ah, this is what the thread is about... I knew about that issue, but totally forgot it over time. Yeah, I think it's some GS command making the cymbal act like that. On a Yamaha synth in TG300B (GS compatibility) mode it'll act like a Roland device ("muting"), while in GM mode like a regular GM synth ("extending").

What you probably don't know is that Doom sends a GM reset on startup though... this is because the game was very likely composed on an early SC-55 which interpreted a GM reset as GS and did not have a dedicated GM mode, however never synths do have GM modes which may cause this to sound wrong. Not sure about Roland right now since the newer synths do take at least GS drumsets fine in GM mode, but on other synths (Yamaha, etc) this will cause issues.

So, bottom line, get either VSC or S-YXG50 and find a way to use them under your modern operating system, or find a soundfont that is genuinely GS/Roland compatible and not as half-assed as that SC-55 soundfont... I doubt the problem lies with BASSMIDI, since they do claim to support GS SysEx and a long list of commands.

Additionally for Yamaha you will need something to eliminate the GM resets... tikalat here on vogons has created a patch for the game which does just this.

Reply 13 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie
d1stortion wrote:

So, bottom line, get either VSC or S-YXG50 and find a way to use them under your modern operating system, or find a soundfont that is genuinely GS/Roland compatible and not as half-assed as that SC-55 soundfont... I doubt the problem lies with BASSMIDI, since they do claim to support GS SysEx and a long list of commands.

Hmm. I'm not a MIDI expert, but isn't a soundfont just a collection of samples? I don't understand how any soundfont would fix the way MIDI commands (GS or otherwise) are being received. It could very well be a problem with BASSMIDI. Doom II, or any game for that matter, is sending the same information whether it is a real SC-55, BASSMIDI or FluidSynth. Those programs are processing it, not the soundfont.

I understand this is a pretty minor complaint, but it's all in the name of accuracy. Makes you wonder what else the software synths are missing.

Reply 14 of 33, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

Quick capture w/ S-YXG50.

Attachments

  • Filename
    doom2 map01 gm.mp3
    File size
    809.18 KiB
    Downloads
    148 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    doom2 map01 tg300b.mp3
    File size
    788.77 KiB
    Downloads
    152 downloads
    File license
    Fair use/fair dealing exception
Last edited by d1stortion on 2013-11-08, 19:22. Edited 1 time in total.

Reply 15 of 33, by leileilol

User metadata
Rank l33t++
Rank
l33t++
valnar wrote:

Hmm. I'm not a MIDI expert, but isn't a soundfont just a collection of samples?

Not just samples, but lots of parameters (attack, reverb, chorus, delay, loop points, etc) and instrument mappings to those samples.

apsosig.png
long live PCem

Reply 16 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie
d1stortion wrote:

Quick capture w/ S-XYG50.

Yep, that's the difference! So it is GS mode that I want.

leileilol wrote:
valnar wrote:

Hmm. I'm not a MIDI expert, but isn't a soundfont just a collection of samples?

Not just samples, but lots of parameters (attack, reverb, chorus, delay, loop points, etc) and instrument mappings to those samples.

I'm at work now and can't test anything, but can either of you confirm that BASSMIDI will work with any soundfont to produce the GS results?
.

Reply 17 of 33, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

I tried the special patch for Doom with the GS reset and it did not work. Same thing. I also found a midi file of the Doom2 music on the Interwebs and played it natively in Windows through BASSMIDI. I tried several different SF files. It still doesn't play right. So what do you think the problem is?

Reply 18 of 33, by d1stortion

User metadata
Rank Oldbie
Rank
Oldbie

Your soundfont, as explained in the previous posts... S-YXG50 was released for free by Microsoft, get it here and find a way to use it under whatever OS you are using (there are tutorials on youtube I think, or maybe someone else here knows how to do it). 2k/XP works natively.

Reply 19 of 33, by truth_deleted

User metadata

The abovementioned S-YXG50 driver has high quality sound and the cymbals match the reference (SC-55). Also, this GS soundfont also sounds very good and the cymbals are a reasonably close match to the reference. For dosbox+fluidsynth, it is recommended to download the soundfont labelled FluidSynth version 1.44. Bassmidi would use a different version, I believe it is named Sound Blaster version 1.44.