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
General Audio / Re: AI language models can exceed PNG and FLAC in lossless compression, says study
Last post by Kamedo2 -
Indeed, converting 16bit FLAC to 8bit without dither, it is getting closer to the paper's "LZMA2 is 29.9%, FLAC 30.9%" claim.
With headers FLAC 31.6%, without headers FLAC 27.6%.

Complete name                  : C:\~~~~~~~~\librispeech-8bit-no-dither.flac
Format                         : FLAC
Format/Info                    : Free Lossless Audio Codec
File size                      : 64.8 KiB
Duration                       : 13 s 125 ms
Overall bit rate mode          : Variable
Overall bit rate               : 40.5 kb/s

Format                         : FLAC
Format/Info                    : Free Lossless Audio Codec
Duration                       : 13 s 125 ms
Bit rate mode                  : Variable
Bit rate                       : 35.4 kb/s
Channel(s)                     : 1 channel
Channel layout                 : C
Sampling rate                  : 16.0 kHz
Bit depth                      : 8 bits
Compression mode               : Lossless
Stream size                    : 56.7 KiB (87%)
Writing library                : libFLAC 1.4.3 (UTC 2023-06-23)
MD5 of the unencoded content   : 99573F92139EF6D23F0994CA4E23243F
LibriSpeech original samples librispeech-8bit.wav bytes librispeech-8bit.flac bytes FLAC ratioLZMA2 bytesLZMA2 ratiolibrispeech-8bit-no-dither.flac bytes Non-dither FLAC ratioNon-dither LZMA2 bytesNon-dither LZMA2 ratio
Code: [Select]
flac.exe -d -f --force-legacy-wave-format in.original.distributed.flac -o flac-decode-16bit.wav
sox.exe flac-decode-16bit.wav -b 8 --no-dither librispeech-8bit-no-dither.wav
flac.exe -f librispeech-8bit-no-dither.wav -o librispeech-8bit-no-dither.flac
7z.exe a librispeech-8bit-no-dither.7z librispeech-8bit-no-dither.wav
3rd Party Plugins - (fb2k) / Re: [fb2k v2] Playlist Attributes (foo_playlist_attributes)
Last post by francesco -
@Air KEN
I have read the help file , and well beautiful
but seen my english it's not my native language about
Pattern: Specify a pattern, which will decide, for which playlists the template will be applied. For the given example, the attributes will be applied to all playlists which begin with 'A' and have at least two characters or which begin with 'Genre_' or 'Artist_'.
1) with pattern , can I specify folder or tags for example "remastered" ?

2) could be possibile that Playlist Attributes  can handle folders names or tags and apply dsp , or it works only with the name of the playlist

FLAC / Re: Is there an online database to check the checksum of tracks?
Last post by MrRom92 -
CueTools is only valid for media ripped from CD

QOBUZ has albums that are CD rips, for example, they check out in CueTools.

I would assume this makes up a very small minority of the content hosted on Qobuz or any DSP, and even if it were 16/44.1 it would be impossible to know if their files on the backend happened to come from a CD rip anyhow, prior to checking for a potential match in the CTDB.

My general rule of thumb, is if it’s only available in 16/44.1 and an older release from before the modern lossless streaming/download age - just get/rip the CD and forget about the WEB version!
Then you get a legitimate cue/log as well. There’s no longer any need for guesswork.
3rd Party Plugins - (fb2k) / Re: JScript Panel script discussion/help
Last post by marc2k3 -
Add a normal Text Display panel and make sure the album art option is turned off. Also, make sure vertical alignment is set to bottom.

Then on line 16, you should find this...

Code: [Select]
var text = new _text_display(LM, 0, 0, 0);

Insert this directly after it...

Code: [Select]
text.paint = function (gr) {
if (!this.text_layout) return;

var h = panel.h - this.text_layout.CalcTextHeight(text.w) - 50;
_drawImage(gr, albumart.img, 20, 20, panel.w, h, image.centre);

gr.WriteTextLayout(this.text_layout, this.colour_string, this.x, this.y + _scale(12), this.w, this.ha, this.offset);
this.up_btn.paint(gr, this.default_colour);
this.down_btn.paint(gr, this.default_colour);