VOGONS

Common searches


First post, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t

One thing I noticed about sound font is the bigger it is, the more susceptible it is to stutter and/or lag. My current combo is SGM V2.01, stacked with Bellatrix Orchestra and Drums! by Slavo, and MIDI songs stutter when played on WinAmp. Fortunately, DOS games played in DOSBOX and Windows games that use MIDI suffer the least, so it's fine for gaming, but playing MIDI songs is a PITA. I have tried various soft synth, and I noticed Timidity++ has more lags but less stutter, Fluidsynth is the exact opposite, while BASSMIDI falls somewhere in between. I have tried on various CPU, from lowly Atom to quad-core AMD, and the pattern persists; severe lagging/stuttering when playing MIDI songs stand-alone, while almost no lagging/stuttering when playing games that use MIDI song. Now, I have to admit I never go TOTL in regards to CPU, so the fastest CPU I have is only i5 2.4 GHz, and the problem stays.

Anyone has the idea which one has the biggest influence in improving sound font performance? Like, reducing stuttering and/or lagging? I noticed faster CPU and bigger RAM alleviates the problem, but not much, so I'm not sure which one helps the most (besides, my available RAM is still bigger than the total size of the sound fonts anyway). I remember reading somewhere that neither Timidity++ nor Fluidsynth are written to take advantage of multi core, so I think the number of cores doesn't matter. I have tried fast hard drive and slow hard drive, and I failed to notice any difference. I haven't tried Linux and 64-bit OS for the purpose, so I'd appreciate any input accordingly.

In other words, if you're building a "sound font appliance" PC, which one are you going to max it out? Will it be CPU? RAM size? How are you going to maximize MIDI playback performance? And does 64 bit matter?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 1 of 29, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie

I suppose CPU load is more dependent on how many voices are played at the same time as on the total size of sound font. Although the size of the sound font will certainly have an influence.
More lag and less stutter makes sense, this simply means a larger buffer.
It seems that audio buffers can be figured for eg. FluidSynth: http://sourceforge.net/p/fluidsynth/wiki/LowLatency/
Can the softsynths be configured to have a bigger cache for the sound font, or maybe load the complete sound font into RAM? I'm not sure they will do this by default, and if they have to keep loading parts of the sound font from disk than this sure may lead to stuttering. Can you see if the disk is used a lot while playing?

Reply 2 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
idspispopd wrote:
I suppose CPU load is more dependent on how many voices are played at the same time as on the total size of sound font. Although […]
Show full quote

I suppose CPU load is more dependent on how many voices are played at the same time as on the total size of sound font. Although the size of the sound font will certainly have an influence.
More lag and less stutter makes sense, this simply means a larger buffer.
It seems that audio buffers can be figured for eg. FluidSynth: http://sourceforge.net/p/fluidsynth/wiki/LowLatency/
Can the softsynths be configured to have a bigger cache for the sound font, or maybe load the complete sound font into RAM? I'm not sure they will do this by default, and if they have to keep loading parts of the sound font from disk than this sure may lead to stuttering. Can you see if the disk is used a lot while playing?

Well, regarding to disk, disk usage always accompanies stutter, but not all stutter comes with disk usage. All those stutters/lags only happen when playing MIDI songs stand-alone, though. It very rarely happens when playing games that use MIDI, whether DOS games in DOSBOX or Windows games that use MIDI (like Privateer 2: The Darkening Deluxe Edition).

The amount of stutter/lag increases as sound font size increases. SGM V2.0 generates more amount of stutter than, say, GeneralUser GS, while Crisis General MIDI 3.01 being the worst offender due to its hugemongous size. Nonetheless, I still don't understand. Yes, SGM V.20 is large --it's about 240 megabytes. But my PCs have around 2 to 4 gigabytes of RAM, so 240 MB shouldn't be a problem, no?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 3 of 29, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

It's probably RAM amount. 2GB is not enough. With FluidSynth and CrisisGeneralMidi, CPU load is 5% tops / 3% average (I'm on i5 2500 3.3GHz), but RAM usage is 2.3GB. I have exactly 0 dropouts or stutter though, and I think that's because I have 16GB RAM.

I can imagine that even 4GB might result in dropouts.

Reply 4 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
realnc wrote:

It's probably RAM amount. 2GB is not enough. With FluidSynth and CrisisGeneralMidi, CPU load is 5% tops / 3% average (I'm on i5 2500 3.3GHz), but RAM usage is 2.3GB. I have exactly 0 dropouts or stutter though, and I think that's because I have 16GB RAM.

I see. Very useful information, thank you very much. So it's more about RAM.

Then I guess a proper sound font appliance should be built on 64 bit OS and as much RAM as possible, while single-core CPU performance isn't really important --no need for i7, as i5 is already sufficient. Anyway, I just noticed that latest release of Fluidsynth now supports multi-core CPU. It's interesting to try, isn't sound font processing easily parallelizable?

realnc wrote:

I can imagine that even 4GB might result in dropouts.

Indeed. My laptop is 4 GB (3.25 GB usable, because I'm using 32 bit XP), and I still get stutters despite my sound font is only about 600 MB.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 5 of 29, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
Kreshna Aryaguna Nurzaman wrote:

Anyway, I just noticed that latest release of Fluidsynth now supports multi-core CPU. It's interesting to try, isn't sound font processing easily parallelizable?

Yes, obviously you can render instruments in parallel since they don't depend on each other. But CPU load is so low anyway on modern machines, that it doesn't seem to matter much.

Although I'm not sure what you mean with "latest release." They never did a release after 1.1.6, which is from 2012.

realnc wrote:

I can imagine that even 4GB might result in dropouts.

Indeed. My laptop is 4 GB (3.25 GB usable, because I'm using 32 bit XP), and I still get stutters despite my sound font is only about 600 MB.

You can check in the windows task manager to see how much memory the process consumes and how much the OS consumes. Although I myself am on Linux, I don't think this matters much. Memory use should be about the same, at least for FluidSynth.

Reply 6 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
realnc wrote:
Yes, obviously you can render instruments in parallel since they don't depend on each other. But CPU load is so low anyway on mo […]
Show full quote
Kreshna Aryaguna Nurzaman wrote:

Anyway, I just noticed that latest release of Fluidsynth now supports multi-core CPU. It's interesting to try, isn't sound font processing easily parallelizable?

Yes, obviously you can render instruments in parallel since they don't depend on each other. But CPU load is so low anyway on modern machines, that it doesn't seem to matter much.

realnc wrote:

I can imagine that even 4GB might result in dropouts.

Indeed. My laptop is 4 GB (3.25 GB usable, because I'm using 32 bit XP), and I still get stutters despite my sound font is only about 600 MB.

You can check in the windows task manager to see how much memory the process consumes and how much the OS consumes. Although I myself am on Linux, I don't think this matters much. Memory use should be about the same, at least for FluidSynth.

I'm using BASSMIDI. Oddly enough, memory use looks normal --about 1.5 GB or such. I just wonder about a thing: why are the stutters/lags less severe in games, compared to playing a MIDI song stand-alone?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 7 of 29, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
Kreshna Aryaguna Nurzaman wrote:

I'm using BASSMIDI. Oddly enough, memory use looks normal --about 1.5 GB or such. I just wonder about a thing: why are the stutters/lags less severe in games, compared to playing a MIDI song stand-alone?

No idea 😐

Reply 9 of 29, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Bassmididrv is great. On my actual SBLive 5.1 I couldn't play games with the Fluid soundfont as many instruments would be dropped and the initializing time for each midi was overly long. I couldn't imagine what kind of pain i'd go through with SGM 2.01 on actual hardware.

apsosig.png
long live PCem

Reply 10 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
leileilol wrote:

Bassmididrv is great. On my actual SBLive 5.1 I couldn't play games with the Fluid soundfont as many instruments would be dropped and the initializing time for each midi was overly long. I couldn't imagine what kind of pain i'd go through with SGM 2.01 on actual hardware.

Never tried large sound fonts on sound font-supporting sound card; what makes it inferior compared to CPU in processing large sound fonts?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 11 of 29, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
Kreshna Aryaguna Nurzaman wrote:

what makes it inferior compared to CPU in processing large sound fonts?

The fact Creative didn't know what they were doing at all, both from a driver standpoint and engineering standpoint.

The EMU chips on all the soundblasters have a idiotic memory addressing limitation, which makes using incredibly large soundfonts infeasible.

I forgot what that limit was but I think it was 29.7 MB?

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 12 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
DracoNihil wrote:
The fact Creative didn't know what they were doing at all, both from a driver standpoint and engineering standpoint. […]
Show full quote
Kreshna Aryaguna Nurzaman wrote:

what makes it inferior compared to CPU in processing large sound fonts?

The fact Creative didn't know what they were doing at all, both from a driver standpoint and engineering standpoint.

The EMU chips on all the soundblasters have a idiotic memory addressing limitation, which makes using incredibly large soundfonts infeasible.

I forgot what that limit was but I think it was 29.7 MB?

Then I guess it defeats the purpose of sound card on the first place. 🙁

Too bad MIDI's popularity in games is waning. If games continue to use MIDI, probably we would see a "MIDI accelerator card" of some sort where you can have multi-gigabyte sound font without lagging.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 14 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
alexanrs wrote:

Does any game in the past 10 years use MIDI? I'm curious.

Gah, I should have said "have waned" instead of "is waning". This is what you get when you're typing while suffering from mild fever.

Nonetheless, too bad MIDI popularity didn't continue. If only "sound font accelerators" became as popular as 3d accelerators....

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 15 of 29, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

FWIW, I just tried the crysis soundfont with BASSMIDI, and it only uses 800MB. No lagging. I suspect that the software you use (which internally uses BASSMIDI), doesn't configure BASSMIDI correctly and it probably loads the whole soundfont into RAM rather than just the instruments that are used.

(Btw, the crysis soundfont sounds really, really bad with games 😵 I suspect it's supposed to be used for music production, not for playing games or game MIDI files.)

Reply 16 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
realnc wrote:

FWIW, I just tried the crysis soundfont with BASSMIDI, and it only uses 800MB. No lagging. I suspect that the software you use (which internally uses BASSMIDI), doesn't configure BASSMIDI correctly and it probably loads the whole soundfont into RAM rather than just the instruments that are used.

Well it is Winamp, but Roland VSC MIDI player also suffers the same problem (the MIDI device is set to BASSMIDI instead of Roland VSC though). However, such lag/stutter very rarely happens in games, whether it's Windows games (like GZ Doom or Privateer 2) or DOS games played in DOSBOX (like Pacific Strike). Such stutter happens more often in DOSBOX games than Windows games though.

realnc wrote:

(Btw, the crysis soundfont sounds really, really bad with games 😵 I suspect it's supposed to be used for music production, not for playing games or game MIDI files.)

Classical instruments sound pretty good. However, any other instruments than classical.... 😵

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 17 of 29, by realnc

User metadata
Rank Oldbie
Rank
Oldbie
Kreshna Aryaguna Nurzaman wrote:
realnc wrote:

(Btw, the crysis soundfont sounds really, really bad with games 😵 I suspect it's supposed to be used for music production, not for playing games or game MIDI files.)

Classical instruments sound pretty good. However, any other instruments than classical.... 😵

Here, try this one (if you don't already have it):

http://expirebox.com/download/bd663d1f6bb82fb … 35d63b8616.html

(Link expires in two days.)

Sounds the least worse of everything I've tried so far with games.

Reply 19 of 29, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
realnc wrote:
Here, try this one (if you don't already have it): […]
Show full quote
Kreshna Aryaguna Nurzaman wrote:
realnc wrote:

(Btw, the crysis soundfont sounds really, really bad with games 😵 I suspect it's supposed to be used for music production, not for playing games or game MIDI files.)

Classical instruments sound pretty good. However, any other instruments than classical.... 😵

Here, try this one (if you don't already have it):

http://expirebox.com/download/bd663d1f6bb82fb … 35d63b8616.html

(Link expires in two days.)

Sounds the least worse of everything I've tried so far with games.

Thanks! So far, SGM V2.01 stacked with Drums! by Slavo and Bellatrix Orchestra works great for games, but I wonder how good the SC-55 sound font is. I can always stack it with Drums! by Slavo if the SC-55 drums are weak, and if its classical section is good enough (at least for Wing Commander or TIE Fighter), then SC-55 stacked with Drums! by Slavo could be uploaded to an AWE32 (or AWE 64 with SimnConn) for pure DOS system.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.