GAudio vs. FMod vs. Bass
category: general [glöplog]
Has anyone written a comparative analysis of these popular audio engines for demos?
i haven't tried gaudio yet. i will check it out tho.
i found Bass much more reliable and more "lowlevel" than fmod, so my vote goes for Ian :)
(on the other hand, FMOD is really easy to use and there's minifmod which is such a pleasure to mutilate. :))
i found Bass much more reliable and more "lowlevel" than fmod, so my vote goes for Ian :)
(on the other hand, FMOD is really easy to use and there's minifmod which is such a pleasure to mutilate. :))
Recently started using Bass. Well, it works, but there are some weird things that can greatly reduce performance, as well as other small bugs... However, there are workarounds, and Bass was recommended to me once by someone who also used it. I only used it for recording so far, but that was quite easy to set up, so I recommend it.
portaudio + vorbisfile ;)
gargaj: jesus. thats what i was gonna say. exactly. but i closed the window instead of hitting submit..
does anyone know if bass and fmod both have the mp3 marks reader? i think only one of them has but im not sure which anymore.. i guess its fmod?
portaudio rules btw :)
does anyone know if bass and fmod both have the mp3 marks reader? i think only one of them has but im not sure which anymore.. i guess its fmod?
portaudio rules btw :)
clear advantage on bass for freq analysis btw, retrieves higher resolution then fmod..
hehe yeah, i actually wrote a little wrapper app which records the audio in and displays it on a little floating window as a VU :D
this way i can see the spectrum of the music in Buzz too :D
this way i can see the spectrum of the music in Buzz too :D
I have just done several test on BASS, Fmod and GAudio: some xm and s3m yo can download from GAudio webpage and mp3's from my personal collection. BASS does iit better on all test even those that break up all of them sound better with BASS. GAudio gives the worst performance on all tests.
My configuration is a PIII 450MHz, 512MB RAM and a Sound Blaster Live!... and WinMe.
My configuration is a PIII 450MHz, 512MB RAM and a Sound Blaster Live!... and WinMe.
Bass(mod) for modules , fmod for "streaming" formas. Both without competition in their areas.
I recently switched from fmod to bass for mp3 playback. I don't know why, but I had problems with fmod on my Soundblaster Audigy (I know, creative sucks). Maybe I didn't use fmod correctly, but there are no problems with bass so far (btw, I also saw other prods using fmod with problems on my card, like Dreamchild/ASD).
Gargaj:
i actually wrote a little wrapper app which records the audio in and displays it on a little floating window as a VU :D
this way i can see the spectrum of the music in Buzz too :D
Actually, there are some neat visual plugins, like harcs vision that do this for you already.
I use Bass ever since v0.6 or something. It's fast, reliable and well... just works and it does not have the 'crippled sound' problem, that chock mentioned.
i actually wrote a little wrapper app which records the audio in and displays it on a little floating window as a VU :D
this way i can see the spectrum of the music in Buzz too :D
Actually, there are some neat visual plugins, like harcs vision that do this for you already.
I use Bass ever since v0.6 or something. It's fast, reliable and well... just works and it does not have the 'crippled sound' problem, that chock mentioned.
Tomaes: maybe. i googled for something like that for 2 minutes, then figured that wasting more time would be more than the time it would actually take to WRITE one :D
to my limited experience, FMOD has slightly more accurate timing than BASS. Important if sync matters.
FMOD's also cool if you want to do silly things like add a huge chain of DSP effects or load custom samples into modules and stuff like that.
but of course kusma's superhighfrequencytiming ogglib kicks everyone's butt.
FMOD's also cool if you want to do silly things like add a huge chain of DSP effects or load custom samples into modules and stuff like that.
but of course kusma's superhighfrequencytiming ogglib kicks everyone's butt.
I've used FMOD till like several days ago. Noticed the feeling of "low FPS!" in my demos, though it was like 100+ FPS (or cap'd at refresh rate). Turns out FMOD updates timing at 40Hz only, so it's really bad to base synching on (and it's very apparent in slow camera motions).
Then I quickly tried Audiere. It's updating time at 20Hz :(
Then I grabbed vorbis libs and done simply through DSound. Now it's all ok :)
Then I quickly tried Audiere. It's updating time at 20Hz :(
Then I grabbed vorbis libs and done simply through DSound. Now it's all ok :)
For syncing, FMod is good due to the stream markers.
Im not sure if BASS has this feat, although I haven't found it yet. But, as mentioned FMod has a bad habit of making clicking noises etc. so I prefer BASS.
Im not sure if BASS has this feat, although I haven't found it yet. But, as mentioned FMod has a bad habit of making clicking noises etc. so I prefer BASS.
Fmod is a mega-clicker with modules. :/ Surprisingly, mifimod is much better!
NeARAZ: thanx... oh geez! However, i wonder whether you're not betting a problem with some cards which make reads in bursts in dsound... like, i haven't tried yet, but e.g. the every-second-stopper in fr08 is very annoying on some strange cards, and i heard it results from such stuff... how about combining the high-precision CPU timers and player's audio, like some smart resync a few times a second?
NeARAZ: thanx... oh geez! However, i wonder whether you're not betting a problem with some cards which make reads in bursts in dsound... like, i haven't tried yet, but e.g. the every-second-stopper in fr08 is very annoying on some strange cards, and i heard it results from such stuff... how about combining the high-precision CPU timers and player's audio, like some smart resync a few times a second?
don't use FMOD's timer for controlling the effects, just use it for quering as wheter or not a synch-event has happended (or keep a list of time-marks and query the time once in a while).
The effects should be controlled by something like queryperformancetimer or gettickcount.
The effects should be controlled by something like queryperformancetimer or gettickcount.
Then... how many audio libs are out there? BASS, FMOD, GAudio, Audiere... portaudio+file-reader (i prefer DSOUNG+file-reader instead of this but anyway...)... any more?
DSOUNG ? :)
FILE READER?
Ehrm, quite honestly, if you dont know what a software mixer is, youre prety much toughluck on all audio formats.
LAMER.
FILE READER?
Ehrm, quite honestly, if you dont know what a software mixer is, youre prety much toughluck on all audio formats.
LAMER.
yea mistyping is a prety bad thing...
mrwb you obviously have no clue what sync is.
rasmus, but wouldn't that get everything off sync if, for whatever reason, the sound would stutter for a short moment? any smart hint on solving that? (<-- newbie)
rasmus, but wouldn't that get everything off sync if, for whatever reason, the sound would stutter for a short moment? any smart hint on solving that? (<-- newbie)
sir RICHARD kbab: well, i was under the impression that syncing was somehow connected to the timing, (which you can use markers to do in a poor way) but i guess i was wrong.
File-reader == something that reads a ogg file, a mp3 file, an ADPCM file,... btw portaudio just cares about streams so i thought "file reader" was a good way to call that piece of software... of course you can call it a file decompressor if you want.
I probably don't know what a software mixer is but DSOUND (i can write it :P) cares about that for me... that's what primary buffer does isn't it? (you just have to fill all the secondary buffers you use with samples... errr sorry i'm just a lamer, sure you know all this basic stuff)
I probably don't know what a software mixer is but DSOUND (i can write it :P) cares about that for me... that's what primary buffer does isn't it? (you just have to fill all the secondary buffers you use with samples... errr sorry i'm just a lamer, sure you know all this basic stuff)
ohhh i forget something... portaudio is a portable audio library. Under windows it uses either windows multimedia facilities or dsound so... why to use it if you can call dsound yourself... ;)
slav: couz you gain on portability if you do.