Skip to main content


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.
Recent Posts
Validated News / Re: Gnudb change of policy (
Last post by spoon -
Yes we can remove disc collisions for freedb going forward.

CD Ripper is able to fill the blanks in the database, freedb is basically filled by only 2 programs, EAC and dBpoweramp, when looking at the old stats for freedb. I try to get EAC onboard, but Andre has not posted anything in years, I try to bring him out of retirement.
3rd Party Plugins - (fb2k) / Re: Playlist-Manager-SMP
Last post by regor -
Ok, so this version should:
- Warn if you try to create a smart playlist with circular references.
- Warn if tries to load somehow such playlist, either internally or in UI (have not tested all cases though).
- New entry at playlist maintenance to check for circular references.

It's a package for testing. It's missing the readme pdf.
General - (fb2k) / Re: fdkaac input bitdepth
Last post by Case -
Alas, the confusion between FDKAAC and bit depth remains. HA wiki states: “…based on fixed-point math and only supports 16-bit integer PCM input”
The wiki page refers to The Fraunhofer FDK AAC Codec Library for Android. It is purely fixed point code.

but fdkaac.exe 32float.wav does not throw an error, so there is a temptation to believe that support has been added.
Here 'fdkaac' means the encoder frontend developed by @nu774 that utilizes the FDK AAC library. The frontend is being helpful and handles the input best way it can.

a) Is there any dither involved or are the extra bits are simply truncated when 32float.wav is converted to 16int?
b) Is further signal processing carried out in 16 bit precision?
c) I see that @kode54 tried to improve the situation, but were his patches used?
Doesn't look like there is dither. A quiet test tone turned into absolute silence with fdkaac.exe.
Everything FDK AAC library does to the signal is done in fixed point. It will clip and it will mutilate quiet tones.

I tested the library modifications from kode54 with fdkaac frontend. I had to patch an assert in nu774's code (assert(((SAMPLE_BITS)>>3) == sizeof(INT_PCM))) to make the encoding work. This modification allowed the encoder to encode 10 dB above digital fullscale. That is an improvement, but doesn't remove any limits. The test signal I was encoding had peaks 20 dB above full scale.
This change also breaks something very badly. Whenever the signal loudness increases there is a popping sound even when the signal goes nowhere near digital fullscale.
Someone with more time, interest and/or familiarity with the code might be able to fix that, but I'm not sure it's worth the effort. This is after all meant for Android.
There is a proper encoder library bundled in Windows 11 (though I haven't yet tested if it does floats) and the library bundled with old Winamp certainly supports floats.
Other Lossy Codecs / Re: Index tables for unofficial IMA ADPCM bit depths
Last post by C.R.Helmrich -
ADPCM is still required for some low processing power tasks. I'm asking this because i want to use ADPCM with Arduino.
Have you taken a look at LC3? That coding standard is longer (in terms of specification and code lines) but was specifically designed for operation on low-power devices, allows for much finer variation of bit-rate, and should perform much better than ADPCM in terms of audio quality.
More details:

General - (fb2k) / Re: Lame Settings for Foobar Conversion, CBR 128
Last post by Case -
I don't see anyone replying to your original wondering about the need for --noreplaygain. That command line parameter is there to make the encoding faster by preventing lame from computing a track gain for the file. If you don't care about ReplayGain, calculating the gain values is a waste of processing power. If you do care about ReplayGain, calculating only the track based values is most likely a waste of time. It's better to let foobar2000 calculate both track and album based values once encoding is done. And not only is foobar2000's scanner more optimized and faster, it also offers several advanced options people may like.

The -S is there also for performance reasons. It tells the encoder it doesn't need to waste any cycles printing progress/histograms to the non-existing console screen that no one can even see.
MP3 - General / Re: Resurrecting/Preserving the Helix MP3 encoder
Last post by Case -
Here's a test build with GCC linked against UCRT. All the compiles you have tried that have shown issues have used MSVCRT (the GCC builds and the clang build from @autodidact). The compiles that have worked have either been fully static or have been linked against the Universal CRT.

Not sure how useful this test is, but at least it's another data point. Publishing encoder binaries requiring UCRT isn't really an option in my opinion, that runtime is present by default only on Windows 10 and newer.
Other Lossy Codecs / Re: Index tables for unofficial IMA ADPCM bit depths
Last post by Klymins -
@Porcus Thank you, i can use it for some stuff but it can be too big for some stuff as it is 3.2 bits per sample (sometimes 2 bits per sample is needed for me) and i'll be happy if a 2 bits per sample version comes. @C.R.Helmrich Thank you, the reason i was thinking linear can be better was the fact that difference values are linear.
Support - (fb2k) / Re: Playlists Get Zero'd Out After a Library Search
Last post by sveakul -
thanks for the post.  Try this..Save your Playlist as a backup. Then do a search, press Enter (as most would to invoke) and the entire Playlist has zero contents. I am hoping the suggestion by Case will override to involuntary habit of pushing "Enter"
I agree that the natural response after entering a term in any "Search" dialog is to press "Enter," and that it would be best if Foobar could accomodate that especially when it appears the current situation can lead to a catastrophic result.