Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
invictius

do soundfonts burden a low-spec cpu?

Recommended Posts

I'm once again turning to my intel atom 1.5ghz laptop with intel gma graphics. I normally use the sgm soundfont (200mb), and prefer using bassmidi. It can be really hard to tell what's causing slowdowns on it at times.

Share this post


Link to post

They certainly do burden the memory bus and foul up the cache memory a lot due to their sheer size. The actual mixing, even if it certainly is no light task, it takes away a surprisingly small amount of CPU time (to make a comparison, an old 486 DX/40 could easily mix 32 channels at 44.1 kHz and 16-bit, stereo with maximum CPU usage).

Sadly, there's not much one can do to ease that, especially on a laptop, but TBQH, it's not worth it.

Perversely, even on a desktop PC using a soundcard with a hardware mixing engine (e.g. one of the Soundblaster Audigy 2 soundcards), thing are not necessarily better: the mixing engine taxes the PCI bus even harder than the CPU does the memory bandwidth (unless the card has its own onboard soundfont memory, which very few do and even less use), and coupled with Creative's notoriously bad drivers, bus mastering issues etc. at best you get data errors and a crackling sound, at worst an unstable system and data loss.

Share this post


Link to post

It depends more on the synth than on the font. Soundfonts can burden the RAM, though.

Example #1: the synth is a hardware synth that loads the soundfont in its own dedicated memory. Effect on CPU: basically nil. The CPU needs to run the driver, of course, but all the synth is done by hardware, so...

Example #2: good ol' TiMidity soft synth. It's pretty fast, as you can expect for something originally developed for Pentium processors all the way back in 1995.


Example #3: FluidSynth. It's much more complex and computationally expensive than TiMidity. When Randy added it to ZDoom way back then, he found out that performances suffered a lot when using it on a single-core CPU.

Share this post


Link to post
Gez said:

Example #1: the synth is a hardware synth that loads the soundfont in its own dedicated memory. Effect on CPU: basically nil. The CPU needs to run the driver, of course, but all the synth is done by hardware, so...


Good luck finding a soundcard in this category today. The consumer-grade ones by Creative Labs sucked major ass, and after the (ISA-bus based) AWE32 and AWE64, they didn't have a model with onboard RAM until the X-Fi line (and then again, only on the TOTL models).

They may have a DSP/hardware synth alright, but it's pointless if they have to fuck up your PCI bus and memory bandwidth just the same, with the "reliability" of Creative Labs drivers. Ugh...

Share this post


Link to post
invictius said:

I'm once again turning to my intel atom 1.5ghz laptop with intel gma graphics. I normally use the sgm soundfont (200mb), and prefer using bassmidi. It can be really hard to tell what's causing slowdowns on it at times.

How many cores does your CPU have?

I personally use timidity with gzdoom, it uses a separate executable so it's fine on my dual core.

I have never used bassmidi, there are many bug reports on their forum that have gone unanswered and it is now abandoned.

Share this post


Link to post
VGA said:

How many cores does your CPU have?

I personally use timidity with gzdoom, it uses a separate executable so it's fine on my dual core.

I have never used bassmidi, there are many bug reports on their forum that have gone unanswered and it is now abandoned.


One, ther replacement netbook model came out not long after with two cores.

Share this post


Link to post
Maes said:

They may have a DSP/hardware synth alright, but it's pointless if they have to fuck up your PCI bus and memory bandwidth just the same, with the "reliability" of Creative Labs drivers. Ugh...

I call BS: Here are some numbers from my 1GHz Coppermine running Windows 98SE/Me hybrid with a EMU10K1, 512MB of 133 SDRAM, and GeForce 4 4600Ti. Official ZDoom 2.7.1 was used to benchmark at 320x200 smallest screen (to get the most sensitive FPS numbers). A demo was recorded and played back with -timedemo 3 times for each synth. (sw = Creative soft synth, which I have no idea if it uses the sound font or not. It's a really poor quality synth compared to hardware anyway.)

                      4MB              52MB         OPL
nosound nomusic hw    sw    fluid hw    sw    fluid MAME
------- ------- ----- ----- ----- ----- ----- ----- -----
191.3   181.3   179.8 169.2 144.3 179.7 169.5 144.2 160.2
191.1   181.3   180.1 169.6 144.2 179.6 169.5 143.9 160.1
191.3   181.2   179.2 169.4 144.2 179.7 169.4 144.4 160.4
52MB is the largest sound font I have on hand, but given that the numbers didn't move at all, I don't really have reason to think a larger sound font would change anything. What we see here is only about a 1-2fps drop when enabling hardware MIDI (most of which is probably overhead of the MIDI stream).

CPU usage peaks at 100% and I have no issues with sound.

On a side note, when using Fluidsynth Kernel Ex had to be enabled. Also, the video didn't seem to update quite as smoothly as the other synths, but I suspect that has to do with Windows 98's multitasking being primitive?

Edit: Also fun fact, the Audigy comes in PCI Express now. Can't say anything about the driver quality for it (I guess Linux sees it as an EMU10K1 attached to a PCI-Express to PCI bridge from what I read), nor do I have any idea why they brought back the EMU10K2 instead of continuing to use the EMU20K2.

Share this post


Link to post
Blzut3 said:

I call BS: Here are some numbers from my 1GHz Coppermine running Windows 98SE/Me hybrid with a EMU10K1, 512MB of 133 SDRAM, and GeForce 4 4600Ti.


And I have to warn you that I had got into a bitter flamewar with some Random P. Ass guy on Creative Labs' forums exactly for supporting exactly the opposite claim, but I now see that he has a point. Your test, while indeed interesting, lacks practical value because:

  • The soundfont used is very small. Try a larger one, in the class of the tenths of MBs and try playing MIDIs with large numbers of channels/voices, and then we're talking.
  • Doom's MIDIs don't use a lot of channels/voices, so they are not really a good stress test for a MIDI player.
  • CPU specs are very low, low enough for the hardware synth to make a difference under these conditions. However already on single-core Pentium 4-class machines (yours is a Pentium III), the difference can be negligible or even negative.

Blzut3 said:

Edit: Also fun fact, the Audigy comes in PCI Express now. Can't say anything about the driver quality for it (I guess Linux sees it as an EMU10K1 attached to a PCI-Express to PCI bridge from what I read), nor do I have any idea why they brought back the EMU10K2 instead of continuing to use the EMU20K2.


Heh. I recall that when the PCI Express bus came out, Creative at least at first pretty much ditched out all of their DSP-based cards, having only "dumb" soundcard offerings for the PCI Express bus, while their high-end products remained PCI-only. Why? Because the latency problems that had already plagued their PCI-based cards for years, leading to the dreaded "Snap, Crackle and Pop" problems (these words are all over the Creative Labs forums), were even worse on the PCI Express bus, which had a larger minimum data packet size.

It's really strange that they brought back the EMU10K2 though...unless the problems with the EMU20K2 and the PCI Express bus were so great, that they never managed to make it function reliably. If you google for it, you'll see there was quite a delay until the first "X-Fi" cards with a PCI Express (or USB bus) and the EMU20K2 chip appeared. Most PCI Express offerings are actually older Audigy Value/SE/LE/Live! 24 -bit in disguise (no DSP, and an "X-Fi" sticker over the old Audigy controllers).

Share this post


Link to post
Maes said:

Perversely, even on a desktop PC using a soundcard with a hardware mixing engine (e.g. one of the Soundblaster Audigy 2 soundcards), thing are not necessarily better: the mixing engine taxes the PCI bus even harder than the CPU does the memory bandwidth (unless the card has its own onboard soundfont memory, which very few do and even less use), and coupled with Creative's notoriously bad drivers, bus mastering issues etc. at best you get data errors and a crackling sound, at worst an unstable system and data loss.

This (lol). I used to like the Sound Blaster Live! which does have terrific soundfont support. But the more memory it uses for soundfonts, the heavier it is on memory bandwidth and bus contention. Actually even the tiniest byte of memory can cause the same slowdown. It is like having a video card with no ram. It has really good soundfont support, but it has to travel all the way across a bus full of other expansion cards and peripherals, and use system memory that's connected to the CPU and all those things. Everytime an expansion card accesses system memory, everything riding the pci bus has to wait for it, and the FSB has to work harder; system memory isn't that fast, and it's even slower this way. I've had to raise pci latency for my Live! many times due to crackling and performance problems, which makes sense since delaying it lets other hardware do what they can in time (I also recall many hardware sites recommending to install it at least one slot away from an AGP card, cause it would cause conflict).

It is probably faster in some cases, and overall more stable and better to use your CPU directly for soundfont rendering in software; it is also better quality, way more flexible and advanced.

BTW I have no idea why the Live!-Audigy cards never had an sdram slot. It's like they just didn't care or they were arrogant.

Share this post


Link to post
Holering said:

BTW I have no idea why the Live!-Audigy cards never had an sdram slot. It's like they just didn't care or they were arrogant.


They eventually added onboard memory ("X-RAM") on some of the most expensive X-Fi models, but at that point the game was lost, for me. I always wondered why sound cards weren't made to the same standards as video cards by now: powerful, programmable GPUs (DSPs), plenty of onboard memory, and relatively cheap. On the contrary, the tendency from most manufacturers was to dumb down the card as much as possible and offload decoding, mixing, effects etc. to the CPU, focusing more on providing 5.1 or 7.1 outputs or whatever, and in some cases "high quality onboard DACs". Riiiight.

In part justified by advances in CPU power and lack of (real) demand for accelerated audio, after a certain point. I don't think an EMU would really be an asset in any gaming rig made after 2003.

Share this post


Link to post
Maes said:

And I have to warn you that I had got into a bitter flamewar with some Random P. Ass guy on Creative Labs' forums exactly for supporting exactly the opposite claim, but I now see that he has a point.

Keep in mind that I'm not trying to start a flame war or cover for Creative (a company which basically killed the sound card market through protectionism). I would love to reproduce your claims, but right now I can't.

Maes said:

The soundfont used is very small. Try a larger one, in the class of the tenths of MBs and try playing MIDIs with large numbers of channels/voices, and then we're talking.

Considering the impressive sounds we used to be able to get out of a single MB, I don't really call the sound fonts small. Personally I like Creative's 8MB GM, so I don't have sound fonts lying around. Point me to a large sound font and I'll redo the test.

Maes said:

Doom's MIDIs don't use a lot of channels/voices, so they are not really a good stress test for a MIDI player.

Likewise, I don't really have a MIDI collection to pull from, but if you can provide me a link to a real MIDI I'd be happy to re run the test.

Maes said:

CPU specs are very low, low enough for the hardware synth to make a difference under these conditions. However already on single-core Pentium 4-class machines (yours is a Pentium III), the difference can be negligible or even negative.

I agree that the difference can become negligible, although I have doubts about Pentium 4. Unfortunately due to the EMU10K chips not supporting more than 2GB of memory, I don't have a test machine readily available. However, I do think the older PC has some merit as it does represent the target computer Creative had in mind when not including on board RAM on the Live!.

Maes said:

these words are all over the Creative Labs forums

Keep in mind that people, like myself, which never had these problems (I still use my first Live! in my current desktop, mostly for simultaneous analog and optical in as well as the louder headphone amp.) have no reason to ever go to the Creative Labs forum.

As far as latency is concerned, one of the big reasons I believe in hardware synths is that they have had much lower latency. We once tried to use a PC with a dumb DAC as a sound module, but it owuld take like 200ms for the sound to start, using a SB Live! fixed that. Granted I hear that newer soft synths such as Fluidsynth are capable of doing low latency, but I never really gotten around to trying it as my dad stopped composing music.

Maes said:

It's really strange that they brought back the EMU10K2 though...unless the problems with the EMU20K2 and the PCI Express bus were so great, that they never managed to make it function reliably. If you google for it, you'll see there was quite a delay until the first "X-Fi" cards with a PCI Express (or USB bus) and the EMU20K2 chip appeared. Most PCI Express offerings are actually older Audigy Value/SE/LE/Live! 24 -bit in disguise (no DSP, and an "X-Fi" sticker over the old Audigy controllers).

My guess is that the drivers for the EMU10K2 were more stable. Their E-MU professional sound cards always used the 10K2, so they already had a driver ready with years of development. (Interestingly, I hear the E-MU drivers didn't give access to the hardware synths?)

Share this post


Link to post
Blzut3 said:

Considering the impressive sounds we used to be able to get out of a single MB, I don't really call the sound fonts small. Personally I like Creative's 8MB GM, so I don't have sound fonts lying around. Point me to a large sound font and I'll redo the test.

The largest soundfont I bothered to download and test is Airfont 380, which weighs about 270 megabytes. The largest sound font I've heard of is Crisis GM v3, with a hefty 1.6 gigabyte.

I forgot where I got Airfont 380, so here's a link for SGM v2 instead, it's "only" 240 megs. Smaller yet, FluidR3 manages to be about 140 megs (more if you load the GS file on top of the GM file) and the Arachno soundfont is a good 150 megs.

Share this post


Link to post
Gez said:

I forgot where I got Airfont 380, so here's a link for SGM v2 instead, it's "only" 240 megs. Smaller yet, FluidR3 manages to be about 140 megs (more if you load the GS file on top of the GM file) and the Arachno soundfont is a good 150 megs.

For some reason the driver only loads 65MB of the SGM sound font, so I didn't bother with it. All 147.91MB of arachno loaded though: Results hw = 178.3, 178.1, 178.3; fluid = 130.3, 133.9, 134.4. (I confirmed the creative soft synth doesn't use the loaded sound font since it had sound with the font unloaded where as the hardware synths did not.) Looks like, at least for the architecture of the time, a larger sound font barely impacts the performance of the machine. 1fps drop for hardware, 10fps drop for software relative to smaller fonts.

Which still leaves the question of using a more involved MIDI track if anyone has any suggestions.

Edit: Oh and yes, I did unload the large sound font from the hardware synth before doing the fluid synth tests even though there should be enough memory for both.

Share this post


Link to post
Blzut3 said:

Keep in mind that people, like myself, which never had these problems (I still use my first Live! in my current desktop, mostly for simultaneous analog and optical in as well as the louder headphone amp.) have no reason to ever go to the Creative Labs forum.



Heh. I recall I got into a particularly bitter argument with some fellow using the FFFmad handle (Furious Famicom Faggot?) who claimed that all those people complaining of SCP (Snap, Crackle Pop) were using shitty systems (aka, the majority). His own "golden" super-stable system was some Intel-made Pentium III mobo (in 2007, mind you), as opposed to the shitty VIA and nVidia crap other people used. OK, so the chipset may indeed make a difference (the IDE corruption problems with VIA chipsets were notorious), but on the other hand, this happened only to Creative's cards (and then, only to those with an EMU chip, not the dumbed down models).

If a card is so picky as to the hardware it can function on reliably, and worse yet, if it forces me to use some very specific legacy system, then it pretty much cancels out any benefits it might -ever- provide. I wonder whether he's still using his golden Wunderwaffe system in some IT dungeon somewhere....

In any case, at the end of the day, audio acceleration never proved to be a "hot" thing, certainly not worth all that money and trouble for a few % difference in CPU utilization (that's the maximum CPU utilization difference I measured when playing a MIDI on an Audigy 4 vs Windows' built-in MIDI synth).

Share this post


Link to post
Maes said:

Heh. I recall I got into a particularly bitter argument with some fellow using the FFFmad handle (Furious Famicom Faggot?) who claimed that all those people complaining of SCP (Snap, Crackle Pop) were using shitty systems (aka, the majority). His own "golden" super-stable system was some Intel-made Pentium III mobo (in 2007, mind you), as opposed to the shitty VIA and nVidia crap other people used. OK, so the chipset may indeed make a difference (the IDE corruption problems with VIA chipsets were notorious), but on the other hand, this happened only to Creative's cards (and then, only to those with an EMU chip, not the dumbed down models).

Not that this was directed at me or anything, but just wanted to clarify that I've never had SCP problems on any of my systems, and I'm not particularly selective on chipsets. As I've said, I continue to use an SB Live! (I have multiple of these cards.) I probably used the cards in at least 6 systems between Intel and AMD.

I'm sure the problem is quite real, but just saying that it can be overblown if you just look at the manufacture's website. :)

Maes said:

In any case, at the end of the day, audio acceleration never proved to be a "hot" thing, certainly not worth all that money and trouble for a few % difference in CPU utilization (that's the maximum CPU utilization difference I measured when playing a MIDI on an Audigy 4 vs Windows' built-in MIDI synth).

True. I mostly blame Creative for that though. If other companies could make real sound cards without getting sued out of existence, we'd probably see more interesting things in this area (A3D).

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×