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
Other Lossy Codecs / Re: Descript Audio Codec (.dac) - 90x smaller than .wav?
Last post by binaryhermit -
I'm going to go out on a limb and say it either sounds bad
Well you can test it ... ? Although the samples are not that interesting ...
Ever since the "64 kbps WMA sounds as good as 128 kbps mp3" stuff, I don't trust a codec developer to not cherrypick a codec implementation that's subpar for the opposing format or cherrypick samples, or otherwise be somewhat dishonest in things like this.

And it sounds like you currently need a nVidia GPU to work with this codec?  That's something I don't have to work with.
Support - (fb2k) / Re: A possible Xing VBR tag issue
Last post by Case -
It's a bug in winLAME. Its AddLameID3v2Tag() function thinks it's adding padding for ID3v2 tag.
It's weird for the linked github thread to blame LAME. The command line LAME uses the same library, only it's statically linked.
3rd Party Plugins - (fb2k) / Re: [fb2k v2] SQLite Utilities (foo_sqlite)
Last post by regor -
Thanks! Following this discussion:
- As far as I have tested this saves the tag to the files; is it possible to save them on the database only?
- Is it possible to automatically re-calculate this tag when new files are added to the library?

Btw, I have found round does not output numbers in a consistent format. Had to use padr() too
Code: [Select]
       padr(round(sum(rating*length_seconds)/sum(length_seconds),2),4,'0') as albumrating

Otherwise I keep getting ratings as 2.0 and other times as 2.72, ... instead of always 2 decimals.
Other Lossy Codecs / Re: exhale - Open Source USAC encoder
Last post by celona -
I compiled Exhale for Linux ISA RISC-V 64, you can find it here:

Once the program is launched, an x64 architecture is reported. I'll leave you the output below for any corrections.

 | exhale - ecodis extended high-efficiency and low-complexity encoder |
 |                                                                     |
 | version 1.2.0 (x64, built on Sep 27 2023) - written by C.R.Helmrich |

 Copyright 2018-2023 C.R.Helmrich, project ecodis. See License.htm for details.

 This software is made available under the exhale Copyright License and comes
 with ABSOLUTELY NO WARRANTY. This software may be subject to other third-party
 rights, including patent rights. No such rights are granted under this License.

 Usage:   exhale preset [inputWaveFile.wav] outputMP4File.m4a


 preset   =  # (0-9)  low-complexity ISO/MPEG-D Extended HE-AAC at 16*#+48 kbit/s
         (a-g)  low-complexity Extended HE-AAC using eSBR at 12*#+36 kbit/s

 inputWaveFile.wav  lossless WAVE audio input, read from stdin if not specified

 outputMP4File.m4a  encoded MPEG-4 bit-stream, extension should be .m4a or .mp4

 Notes:   The above bit-rates are for stereo and change for mono or multichannel.


I suggest the following lines for the output:
| version 1.2.1 (32 bit, built on 20230927) - written by C.R.Helmrich |
| version 1.2.1 (64 bit, built on 20230927) - written by C.R.Helmrich |
| version 1.2.1 (ARM 32, built on 20230927) - written by C.R.Helmrich |
| version 1.2.1 (ARM 64, built on 20230927) - written by C.R.Helmrich |
| version 1.2.1 (RISC-V, built on 20230927) - written by C.R.Helmrich |


From actual exhaleApp.cpp code:

fprintf_s (stdout, " |                                                                     |\n");
#if defined (__arm__) || defined (__aarch64__) || defined (__arm64__)
  fprintf_s (stdout, " | version %s.%s%s (ARM, built on %s) - written by C.R.Helmrich |\n",
#elif defined (_WIN64) || defined (WIN64) || defined (_LP64) || defined (__LP64__) || defined (__x86_64) || defined (__x86_64__)
  fprintf_s (stdout, " | version %s.%s%s (x64, built on %s) - written by C.R.Helmrich |\n",
#else // 32-bit OS
  fprintf_s (stdout, " | version %s.%s%s (x86, built on %s) - written by C.R.Helmrich |\n",
  fprintf_s (stdout, "  ---------------------------------------------------------------------\n\n");
FLAC / Re: FLAC v1.4.x Performance Tests
Last post by bennetng -
Here is an old arrangement I made in 2006, since I made it, it can be longer than 30 seconds. The plot is set to show stuff below 16-bit noise floor as purple/magenta.

I collected some public domain 44.1/48k samples, made some SoundFonts and arranged in a DAW. One octave has 12 semitones, but it was/is pretty hard to find high quality public domain sample sets (especially, ethnic instruments) that sampled every semitone. For example, it may just has the white keys (7 per octave) or even fewer like 2-3 per octave. Then the samples are being scaled in the synthesizer to cover up the missing keys. There are of course, effect like pitch bend and modulation where one can continuously change the pitch of a sample. The result is irregular cutoff plus some ultrasonic artifacts caused by resampling.

Download link:!AvzB71jO7t0-gY1qXyHYew8N1nehTw

flac 1.3.4 -8

flac 1.4.3 -8

So if anything, the biggest optimizations had already been done, even for music with such a bizzare spectrum. -8 is the most important thing for typical users.

For those who are curious about the music itself, here is one of the live performances.
General Audio / Re: Why do DSF files not sound as good as the SACDs they were made from?
Last post by Porcus -
If there are three listeners doing independent trials (rather than switching back and forth while they discuss), then this is 31/48, and the chances that cointosses would produce 31 or more is < 3 percent. If this independence between listeners holds up, we should conclude that the signals are audibly different, even if we cannot conclude that any single of the three listeners is able to distringuish.

But since one was sent to a hardware player, they were sitting in the same room and listening, while someone would change source (so effectively it isn't double-blind)? Did they have the opportunity to discuss?

If there was indeed a difference, then first guess is to put it down on the noise in the DSD signal, and the Oppo being able to filter it away when it received it from the SACD but not when played from file. If it got the file delivered as PCM (no "pass-through") then it isn't the Oppo's fault for not knowing.

As for noise in DSD, look at the link @bennetng posted, or the charts by the same user in this thread:,123597.0.html
General - (fb2k) / Re: Edit Title/track artist & using shortcuts
Last post by a -
I don't quite understand what you are asking in the first half of your post, but there aren't really any hardcoded keyboard shortcuts for foobar2000--you have to make them yourself in Preferences [CTRL+P] > Keyboard Shortcuts, where you can see the few preset keyboard shortcuts as well. To edit tags, or the titles and artists fields of your files, you just need to select what file you want to tag and press ALT+ENTER or right click the selection and press Properties at the very end.