Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Software equalization external to FB2K? (Read 9873 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Software equalization external to FB2K?

I'm wondering if software exists to provide audio equalization external to audio playback software like FB2K, Winamp et al.  Is this something that exists, or am I dependent on my sound card's drivers for EQ outside of any audio playback software?

The reason I'd like to try external EQ software if it exists is that I use an old P120 based Toshiba Libretto 70CT mini-notebook for MP3 playback, and it just doesn't have the resources to use FB2K's DSP EQ. 

I can play MP3s with the EQ in Winamp 2.9x and 5.x with the ReplayGain DSP v0.5 dsp_replaygain.dll plugin on the Libretto. 

So I'm wondering if there might be EQ software I can use external to FB2K that might draw less system resources than the DSP based one in FB2K.
Geopoliticus Child Watching the Birth of the New Man

 

Software equalization external to FB2K?

Reply #1
If CPU usage is the deciding concern, try to capture the effect with foo_convolve, and trim the impulse response as much as you can without affecting the sound.

If you do a search for foo_convolve here you will probably instructions how to do this "effect capturing".

The reason that this might work is that foo_convolve is much more highly optimized than the built-in equalizer. In fact, foo_convolve can equalizer much faster than the equalizer can. But it's less userfriendly and you can't quickly change a slider and so.

Software equalization external to FB2K?

Reply #2
Thanks for the suggestion Garf.  It seemed a good approach there for a while there, but it seems this little pup just doesn't even have the legs to support foo_convolve.  That is unless I've done something wrong.  Audio playback on this Libretto was broken up the same way the FB2K EQ does.

Just about all of what you're talking about is new to me.  So I don't really understand most of the terms you’re using, or many the details involving convolve.  But I read up on it earlier, and gave it a go from what I'd learned.

Here's what I did:

* Dowloaded impulses.zip and extracted unitpulse2K.wav
* Loaded unitpulse2K.wav into a blank FB2K playlist
* Set FB2K EQ to the average setting for most of my MP3s and sound system
* Started recording in SoundForge
* Played unitpulse2K.wav in FB2K
* Stopped recording, trimmed silence off the ends of the waveform, and saved the file as EQ_impulse.wav
* Downloaded foo_convolve.dll and copied it to the \component folder of the copy of FB2K on my desktop
* Added convolve in FB2K's enabled DSP component list
* Loaded the test impulse file EQ_impulse.wav in FB2K's convolver setup menu
* Played a MP3.

With only 32MB RAM and a PI 120MHz CPU, the audio playback on this Libretto 70CT was just a constant stream of what I call 'motorboating'.  Playback burbled, and the system was unresponsive to the mouse click to stop playback for 40-60 seconds or more.

The system will handle running FB2K's EQ or convolver on 32KBPS LAME encoded music captured from old webcasts via 56K dialup some time back.  But not with any high quality files.

So I still have the question, does anyone know if any EQ software exists that may demand less system resources, and work external to FB2K?  Or does EQ have to be run by the audio playback software itself?
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #3
Quote
* Started recording in SoundForge
* Played unitpulse2K.wav in FB2K

I don't want to be nitpicking, but using the Diskwriter (with DSP enabled) to write a floating point PCM WAV seems like a more sensible solution to me.

Another thing you could try is using foo_mad, which might perform better than the standard mpglib decoder on your system. Try benchmarking with the Speedmeter diskwriter to find the optimal solution.
"To understand me, you'll have to swallow a world." Or maybe your words.

Software equalization external to FB2K?

Reply #4
Maybe the resulting impulse file was simply unsuitable (too long? and doesn't the size have to be a power of two for best efficiency? not sure about that last point..)



How about you create a new impulse file using the method dev0 described and post it in the uploads forum, so we can have a look at it..
A riddle is a short sword attached to the next 2000 years.

Software equalization external to FB2K?

Reply #5
Quote
I don't want to be nitpicking, but using the Diskwriter (with DSP enabled) to write a floating point PCM WAV seems like a more sensible solution to me.

I did in fact start by attempting that, but the format of both the original unitpulse2K.wav file and the file Diskwriter created is one my old audio editing software doesn't recognize... basically an old copy of SourdForge, and the editor in EAC. 

Can you suggest something else I can edit these files with?

Quote
Another thing you could try is using foo_mad, which might perform better than the standard mpglib decoder on your system.

Okay... that marginally improves audio playback.  The 'motorboating' speeds up a bit with foo_convolve loaded.

Quote
Try benchmarking with the Speedmeter diskwriter to find the optimal solution.
[{POST_SNAPBACK}][/a]

I've downloaded it.  I'm pretty green around the ears on all this.  I'm not quite sure what you're suggesting I do to determine an "optimal solution," but I'll have a look.

Quote
Maybe the resulting impulse file was simply unsuitable (too long? and doesn't the size have to be a power of two for best efficiency? not sure about that last point..)

"Power of two"...  Is the exact size critical?  After I trimmed down the file created by recording with SoundForge, it was only 00.00.00.008 in length.  I don't know if length is important or not.  But I must have done something wrong in the process of making it.  When I play a 32kbps LAME encoded MP3 that doesn't break up, the highs and lows are actually decreased instead of increased.

I've uploaded the impulse file I created [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29165&view=findpost&p=252052]here: EQ_impulse.wav[/url]

Quote
How about you create a new impulse file using the method dev0 described and post it in the uploads forum, so we can have a look at it..
[a href="index.php?act=findpost&pid=252036"][{POST_SNAPBACK}][/a]

Thanks.. I'll do that when I can find something to trim these files.
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #6
I just tested your impulse response with the convolver, and it makes me wonder what you are trying to achieve? Does that kind of "EQ setting" improve the sound from the built in speakers in your notebook or something? Because that impulse response made my setup sound like a notebook... 

Software equalization external to FB2K?

Reply #7
Quote
"Power of two"...  Is the exact size critical?  After I trimmed down the file created by recording with SoundForge, it was only 00.00.00.008 in length.  I don't know if length is important or not.  [a href="index.php?act=findpost&pid=252058"][{POST_SNAPBACK}][/a]

I checked and it actually isn't important. Exact size doesn't matter. It just should be short.


As for being able to trim the impulse files, maybe create a plain 16bit file with the impulse you want to use for now..

(I'm surprised that SoundForge has problems reading your files though)
A riddle is a short sword attached to the next 2000 years.

Software equalization external to FB2K?

Reply #8
Quote
I just tested your impulse response with the convolver, and it makes me wonder what you are trying to achieve?

As I mentioned above, something went wrong when I made that test file.  The goal was to boost highs and lows, not cut them back.

But again, the goal from the top here was to provide an alternative to FB2K's DSP EQ.  I use my Libretto mini-notebook as an MP3 player, and with a 120MHz CPU and 32MB RAM running Win98SE, the DSP EQ breaks up playback.

So I tried to create (and obviously failed) an impulse file to set an average EQ via foo_convolve as Garf suggested.  The thinking being that foo_convolve may draw sufficiently fewer resources than FB2K's EQ.

But after a series of tests loading all of the impulse files in the impulses.zip into foo_convolve one at a time and playing a high bitrate MP3, it appears this little pup just isn't going to have the power to run either FB2K's EQ or foo_convolve.  Playback is broken up with any of the impusle files loaded

So unless someone can find a way to make this work for me where I've failed, I'm back to searching down external stand alone EQ software.  I did find freeware called RTEQ, but it doesn't support playback of MP3s, or apparently any compressed audio files.
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #9
Quote
Quote
Try benchmarking with the Speedmeter diskwriter to find the optimal solution.
[a href="index.php?act=findpost&pid=251964"][{POST_SNAPBACK}][/a]

I've downloaded it.  I'm pretty green around the ears on all this.  I'm not quite sure what you're suggesting I do to determine an "optimal solution," but I'll have a look.
[a href="index.php?act=findpost&pid=252058"][{POST_SNAPBACK}][/a]

It works just like any other diskwriter, but all it does is measure the speed.
If the speed is over 1.0X your system should be fast enough to playback the file without stuttering (1.5X or so should give you some headroom). This way you can benchmark which configuration (mpglib or mad? which impulse?) uses the least system resources.
"To understand me, you'll have to swallow a world." Or maybe your words.

Software equalization external to FB2K?

Reply #10
Quote
It works just like any other diskwriter, but all it does is measure the speed.  If the speed is over 1.0X your system should be fast enough to playback the file without stuttering (1.5X or so should give you some headroom). This way you can benchmark which configuration (mpglib or mad? which impulse?) uses the least system resources.
[a href="index.php?act=findpost&pid=252162"][{POST_SNAPBACK}][/a]

Okay... I see I had foo_null.dll configured as an 'Output method' instead of a diskwriter 'Output preset.'

Running the Speed Meter as a conversion on MP3s on the Libby results in decoding at or around 2.8x at an average with mpglib.  MAD runs slower at an average around 2x.

-----------------------------------------------
Edit: Those numbers were with foo_convolve loaded.  With both foo_convolve loaded, and EQ added as a DSP component, the decoding speed only slows down by a few tenths of a second.  That doesn't seem make sense, as the system is struggling and sputtering in order to get one of them play files normally, and then with broken up audio and FB2K freezing.  But I am new at most of this.
-----------------------------------------------

So I notice you qualified your statement about the speed being over 1x by saying, "your system should be fast enough to playback the file without stuttering."  What might I be able to do at this point to explore that possibility further?

Thx dev0
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #11
Quote
-----------------------------------------------
Edit: Those numbers were with foo_convolve loaded.  With both foo_convolve loaded, and EQ added as a DSP component, the decoding speed only slows down by a few tenths of a second.  That doesn't seem make sense, as the system is struggling and sputtering in order to get one of them play files normally, and then with broken up audio and FB2K freezing.  But I am new at most of this.
-----------------------------------------------
[a href="index.php?act=findpost&pid=252260"][{POST_SNAPBACK}][/a]


You will probably have to check the "use dsp" checkbox in the diskwriter preferences to see the difference in speed when the dsps are active.

Software equalization external to FB2K?

Reply #12
Quote
You will probably have to check the "use dsp" checkbox in the diskwriter preferences to see the difference in speed when the dsps are active.[a href="index.php?act=findpost&pid=252265"][{POST_SNAPBACK}][/a]

Thanks for that picmixer.  This makes more sense.

Decode speeds:

With DSP Convolve: 1.16x
With DSP EQ: 77x
With both: 57x

So is there still hope for the little beast?
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #13
Well, that result isn't making any sense at all.

It's saying your system is way fast enough for the EQ, barely fast enough for the convolver, and way fast enough for using both at the same time. Clearly, that's a contradiction.

Actually, the numbers don't make sense in another way too: your 120Mhz Pentium is supposedly 2 times faster than my 1700Mhz Centrino when running with the EQ.

Software equalization external to FB2K?

Reply #14
Quote
Well, that result isn't making any sense at all.[a href="index.php?act=findpost&pid=252300"][{POST_SNAPBACK}][/a]

Aaackkk.... The decimal points didn't make it. Here's the real picture:

Decode speeds:

With DSP Convolve: 1.16x
With DSP EQ: 0.77x
With both: 0.57x

Sound a bit closer to the real world?   

1.16x with convolver... any hope there?
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #15
Quote
If the speed is over 1.0X your system should be fast enough to playback the file without stuttering (1.5X or so should give you some headroom).

Well... I was kind of hoping someone would be able to offer a bit of magic to get convolver working on this Libretto.  But since I haven't heard back from anyone on this in the past few days (tho' it was a weekend), I'm beginning to assume that with my speed of decoding measued at at 1.16x with foo_convolve loaded, there's probably nothing I'll be able to tweak in FB2K or the system to stop the broken up playback.  I sure don't have that 1.5x overhead dev0.

I've also gotten feedback from a Andrei Grecu who's written stand-alone EQ software called RTEQ that acts only on audio fed through a line-in jack.  On the question of whether or not it's possible to set EQ outside of FB2K, he wroteback saying, "In Windows 98 I think that this is not possible at all if the soundcard or its driver do not have their own hardware or software equalizer."

So the possiblilties of getting FB2K running with EQ on the Lib that way doesn't look bright either.

If there were still hope, I'd investigate why I wasn't able to make a correct EQ impluse file from Tigre's Singleclick.wav file and instructions he spelled out here.
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #16
what kind of speed did you achieve when using convolver and the shorter impulse of the two I posted?
A riddle is a short sword attached to the next 2000 years.

Software equalization external to FB2K?

Reply #17
Quote
what kind of speed did you achieve when using convolver and the shorter impulse of the two I posted?
[a href="index.php?act=findpost&pid=252775"][{POST_SNAPBACK}][/a]

Oh... sorry ssamadhi97... I missed those.  I forgot to track that thread in the FB2K Upload forum. 

I just tested the two files you posted, and am getting a bit better results:

Decode speeds:

With DSP convolver &  EQ_impulse_short.wav loaded: Average of 1.38x
With DSP convolver &  EQ_impulse_very_short.wav loaded: Average of 1.49x

However playback is still breaking up with your files loaded in convolver.  Any hope there though?

I'm trying to learn about DirectSound now, as dev0 mentioned it to me in a thread in the audio forum on the QCD player.  I didn't think this Libretto or Windows 98 supported it, so I haven't been using it.  But does work when set up as an output device in FB2K via the system's cheap onboard Yamaha OPL3-SAx sound chip.  But it doesn't improve performance with convlover loaded in FB2K. 

For some reason my good TDK PCMCIA sound card doesn't seem to have a DirectSound driver.  It comes up as 'TDK MusicCard WAVE OUT (emulated)' in the 'Device' config for DirectSound.  And with it set, I get a console error from foo_output_std: error creating DirectSound buffer.

DirectSound affects output though, right?  Would that make a difference with this problem at all, as mpglib is doing the decoding?
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #18
Have you disabled dithering (Preferences -> Playback)?

I'm quite puzzled why you have stuttering playback even though foo_null reports a speed of 1.50X.
"To understand me, you'll have to swallow a world." Or maybe your words.

Software equalization external to FB2K?

Reply #19
Quote
Have you disabled dithering (Preferences -> Playback)?

No... FB2K came out of the box with it disabled, and from the warning on the option about CPU time, I've always just left it that way.

Quote
I'm quite puzzled why you have stuttering playback even though foo_null reports a speed of 1.50X.[a href="index.php?act=findpost&pid=252875"][{POST_SNAPBACK}][/a]

I'm right in line behind you there...  but my understanding of how computers deal with multimedia processes doesn't run too terribly deep.

A while back I got this great old TDK MusicCard PCMCIA sound card for a killing of $20 on Ebay.  These things used to go for hundreds in the 90s, and it has a nice clean sound, esp compared to the not-so-great Yamaha chip in the Lib.  But I couldn't get it to record without the recorded waveform being broken up.  I ended up downloading the free copy of 98Lite, and created a small partition on the Lib for it... and it works like a charm for recording.  But the copy of FB2K in 98Lite still stutters with EQ or foo_convolve loaded. 

I checked the Win98 ASPI drivers on the Lib recently, as I recall reading info on it for EAC setup online.  I’m not sure what they effect, but I never really nailed down whether Win98 needs only 2 of the 4 files other versions of Windows require.  My system has the same 4.0 versions of WNASPI32.DLL and APIX.VXD.  The Adaptec Win98 ASPI checker lists those two with spaces below for 2 more files.  And in gray letters below says the the ASPI drivers are installed and fully functional.  But I always wondered if the gray letters meant the message was not 'enabled', and that they might be bold black otherwise.

Would ASPI drivers be involved with FB2K’s decoding process and playback?

And how's your general grasp of factors dealing with hardware related audio problems? I'd guess pretty good if you're as involved here as you seem to be.  I thought maybe I should post in the Audio Hardware forum... and maybe search around the net for forums dealing with older systems and tweaking them for audio playback as best as possible.  But maybe you’re the man! 
Geopoliticus Child Watching the Birth of the New Man

Software equalization external to FB2K?

Reply #20
How about trying an audio format that requires less resources to decode than MP3, such as MPC ?
Microsoft Windows: We can't script here, this is bat country.

Software equalization external to FB2K?

Reply #21
Quote
How about trying an audio format that requires less resources to decode than MP3, such as MPC ?
[a href="index.php?act=findpost&pid=252970"][{POST_SNAPBACK}][/a]

Yes, musepack is currently the fastest lossy format around, or am I wrong?
"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

Software equalization external to FB2K?

Reply #22
MPEG layer II (MP2) decoding is slightly faster than musepack (tested mpglib vs fb2k's musepack decoder a while ago) but lacks relevant features (no gapless encoding/playback, no encoder tuned as well as mppenc).

[edit]
Results of old speed test - http://foobar2000.org/foospeed
Microsoft Windows: We can't script here, this is bat country.

Software equalization external to FB2K?

Reply #23
Quote
How about trying an audio format that requires less resources to decode than MP3, such as MPC ?
[a href="index.php?act=findpost&pid=252970"][{POST_SNAPBACK}][/a]

I play my music collection on so many different devices that sticking with the MP3 format makes the music the most compatible with all of the various players.

I could re-encode my collection to several other formats, each offering terrific features respectively.  But I'm at about 300 CDs through the encoding process at this point with a long ways to go to completion.  And then I'm gettting new CDs all the time.  Re-encoding that many files would be a highly time and space consuming venture, though possible.

So, at least at this point int time, it seems most logical to stick with the high quality LAME encoded audio format.
Geopoliticus Child Watching the Birth of the New Man