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.
Recent Posts
1
Support - (fb2k) / Re: Foobar crashing when pausing music and exiting
Last post by Air KEN -
Is the main Lyric Panel "OpenLyrics 1.11 (foo_openlyrics)"?
Failed to load Search Script (Lyric).
Are both of the bottom two necessary?

Multi-source lyrics 0.56 (foo_multisource)
MiniLyrics source 0.9.2 (foo_uie_lyrics3_minilyrics)
-------
OpenLyrics 1.11 (foo_openlyrics)
Multi-source lyrics 0.56 (foo_multisource)
MiniLyrics source 0.9.2 (foo_uie_lyrics3_minilyrics)

Please manually move the above 3 to your desktop.
Then try it.
2
Support - (fb2k) / Foobar crashing when pausing music and exiting
Last post by Azuriye -
I have attached two dump files along with the txt document in the crash reports.

This issue can be replicated by letting the music play and hit the pause button when some portion of the music time has elapsed. Then click the X button (closing foobar2000) then foobar2000 sends a crash dialog saying it crashed and whether you want to view the logs and etc. Any idea what could be causing this based on the dump files?

3
Other Lossy Codecs / Re: ADC (Adaptive Differential Coding) My Experimental Lossy Audio Codec
Last post by Klymins -
As for the heder structure, I haven't yet defined it well. The RIFF writing you see is due to the fact that I am currently recording the header of the Wav file to keep the structure of the wave source file in decompression.



struct WAVEHeader
{
    char  chunkID[4] = {'R','I','F','F'};       // Contains the letters "RIFF" in ASCII form
    long  chunkSize;                            // 4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
    char  format[4]  = {'W','A','V','E'};       // Contains the letters "WAVE" in ASCII form

    char  subchunk1ID[4] = {'f','m','t',' '};   // Contains the letters "fmt " in ASCII form
    long  subchunk1Size  = 16;                  // 16 for PCM
    short audioFormat;                          // PCM = 1 Values other than 1 indicate some form of compression
    short numChannels;                          // Mono = 1, Stereo = 2, etc
    long  FreqRate;                           // 8000, 44100, etc.
    long  byteRate;                             // shortRate * NumChannels * BitsPershort/8
    short blockAlign;                           // NumChannels * BitsPershort/8
    short bitsPershort;                        // 8 bits = 8, 16 bits = 16, etc

    char  subchunk2ID[4] = {'d','a','t','a'};   // Contains the letters "data" in ASCII form
    long  subchunk2Size;                        // This is the number of bytes in the data
};


struct ADCHeader
{
    char  chunkID[4] = {'A','D','C',' '};   // Contains the letters "adp " in ASCII form
    unsigned long  dataSize;                         // This is the number of bytes in the data
    unsigned long  direct_dataSize;                         // This is the number of bytes in the data
};




The structure allows me to load most .wav files


Second clarification. Unlike what I said, I had to put the predictor aside for the following reasons. It managed to get much closer to the ideal values ​​to be subtracted from the current value but it caused an anomaly. The difference data are somehow directly proportional to the wave values ​​themselves. Introducing a changing factor does not improve compression if I use multiple data writing keys.  Secondly, the predictor slowed down my compression and decompression. It follows that the predictor is nothing other than the compressed previous value. At this stage I am working on a new version which I believe will be one of the last before the definitive one. To increase the quality I will definitely have to slow down the compression but not the decompression. Once the core has been defined I will be able to think of a version that uses a VBR system. Of course, being a system that processes differences between wave values, I cannot obtain very low bitrates (<128 kbit) but I would be happy to obtain it. To do this I would have to do what mp3, AAC does, i.e. filter and remove the inaudible frequencies. This would result in very complex code.

Is the specification of this codec published? If yes, where is it? If no, will you publish it? If yes, where? If no, can you at least give a brief description of the working principles of this codec so people can have an opinion about it?

Also, how does {'A','D','C',' '} result in "adp "?
4
3rd Party Plugins - (fb2k) / First LibraryTree panel in chain throws a warning on every start-up
Last post by Penn42 -
I'm using Columns UI and a series of linked library tree panels in my layout.  No matter how I arrange my layout, the first LibraryTree panel always throws an "unresponsive script" warning when I start up. 

In full it reads:

Quote
A script may be busy or may have stopped working.  You can stop the script now or let it continue.

Panel: {panel name}: Library Tree
Script: adc02ef6a06f0d6db553bc56b2c: ###

If I stop the script my layout doesn't work, if I click continue things work just fine.  I've checked the "don't ask me again" box but it asks me every time regardless.  Also the "###" has changed before, but the rest of the script name stays the same.

Is this a bug or is there a step I may have missed in setting up Library Tree?
5
Support - (fb2k) / Re: foobar2000.exe doesn't close
Last post by Valetos2 -
Awesome! I removed the foo_input_ds module and replaced the ones you mentioned. Now it works like a charm! Thanks!!

There will be another issue about resizing the window after any update, but I'll make another post when it happens.
6
3rd Party Plugins - (fb2k) / Re: JSplitter (splitter + SMP x64 alternative)
Last post by Air KEN -
Reply #1174: https://hydrogenaud.io/index.php/topic,112914.msg1051982.html#msg1051982
foobar2000 v2.24 preview 2024-10-11 : 64-bit
JSplitter 3.6.1.10 (foo_uie_jsplitter) 2024-10-04

After installing Windows 11 23H2 (KB5044285) or 24H2 (Confirmed),

Failed to open archive: `Biography-v1.4.2.mod.1.zip`
  mz_zip_reader_init_file failed with error 0x11: file open failed

This error message appears and the Script Package (.zip) cannot be loaded.

Does anyone have symptoms like these?
----
Before the update, all the tabs I created had panels that used JSplitter, so I copied them and am using them.

7
Other Lossy Codecs / Re: lossyWAV 1.4.2 Development (was 1.5.0)
Last post by Nick.C -
Please find attached a new beta release of lossyWAV.

lossyWAV beta 1.4.3g, 13/10/2024 (expires 31/03/2025)
  • Weighted adaptive shaping method modified. Previous optional parameters have been removed and the option now takes a single optional parameter to determine the "width" of curve averaging to smooth the desired noise shaping curve over up to <n> FFT bins (dependent on the distance from each of the FFT the centre bin is located). Valid in the range 0 to 64; default = 0, i.e. no smoothing.
  • Low quality preset range extended down to -10.0, with presets "U, unadvised" at q=-10, "D, dubious" at q=-8.75, "Q, questionable" at q=-7.5, "A, aggressive" at q=-6.25. Quality presets at and above "X, extraportable", q=-5, remain unchanged

Recent low quality testing has been with the following command line options:
Code: [Select]
-q U -s W 8 taps 20 -A 0.14 -a 4 --limit 13782 --feedback 10

For clarity, presets between "aggressive" and "unadvised" are expected to be non-transparent in many cases, increasingly so further down the quality scale. Their inclusion is part of an exploration into the low quality depths of the method. It should be noted that the above testing command line employs two mitigations, i.e. the significant reduction in the "-A, --altspread" parameter from the default (0.14 vs 0.768544) and setting the feedback check to the max.
8
Other Lossy Codecs / Re: ADC (Adaptive Differential Coding) My Experimental Lossy Audio Codec
Last post by Nania Francesco -
As for the heder structure, I haven't yet defined it well. The RIFF writing you see is due to the fact that I am currently recording the header of the Wav file to keep the structure of the wave source file in decompression.



struct WAVEHeader
{
    char  chunkID[4] = {'R','I','F','F'};       // Contains the letters "RIFF" in ASCII form
    long  chunkSize;                            // 4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
    char  format[4]  = {'W','A','V','E'};       // Contains the letters "WAVE" in ASCII form

    char  subchunk1ID[4] = {'f','m','t',' '};   // Contains the letters "fmt " in ASCII form
    long  subchunk1Size  = 16;                  // 16 for PCM
    short audioFormat;                          // PCM = 1 Values other than 1 indicate some form of compression
    short numChannels;                          // Mono = 1, Stereo = 2, etc
    long  FreqRate;                           // 8000, 44100, etc.
    long  byteRate;                             // shortRate * NumChannels * BitsPershort/8
    short blockAlign;                           // NumChannels * BitsPershort/8
    short bitsPershort;                        // 8 bits = 8, 16 bits = 16, etc

    char  subchunk2ID[4] = {'d','a','t','a'};   // Contains the letters "data" in ASCII form
    long  subchunk2Size;                        // This is the number of bytes in the data
};


struct ADCHeader
{
    char  chunkID[4] = {'A','D','C',' '};   // Contains the letters "adp " in ASCII form
    unsigned long  dataSize;                         // This is the number of bytes in the data
    unsigned long  direct_dataSize;                         // This is the number of bytes in the data
};




The structure allows me to load most .wav files


Second clarification. Unlike what I said, I had to put the predictor aside for the following reasons. It managed to get much closer to the ideal values ​​to be subtracted from the current value but it caused an anomaly. The difference data are somehow directly proportional to the wave values ​​themselves. Introducing a changing factor does not improve compression if I use multiple data writing keys.  Secondly, the predictor slowed down my compression and decompression. It follows that the predictor is nothing other than the compressed previous value. At this stage I am working on a new version which I believe will be one of the last before the definitive one. To increase the quality I will definitely have to slow down the compression but not the decompression. Once the core has been defined I will be able to think of a version that uses a VBR system. Of course, being a system that processes differences between wave values, I cannot obtain very low bitrates (<128 kbit) but I would be happy to obtain it. To do this I would have to do what mp3, AAC does, i.e. filter and remove the inaudible frequencies. This would result in very complex code.
9
General - (fb2k) / Re: Request for a variation of Waveform Minibar (mod) plugin
Last post by Klymins -
https://youtu.be/siKBrO14Aw4?si=A2TMfjDMVq4X6SQW

Obviously, download latest version of component, not that is used in video. ffmpeg build is used in video for example. You can use any ffmpeg build that works on your system.

Thanks, but I could not run Spectrogram Seekbar while I have FFMPEG at the correct location, does anyone know why? Also, I want custom spectrogram colors, logarithmic frequency scale, different colors for played and unplayed parts of the audio, and blurry position marker with cusom color and custom width; how can I have those? And, is it possible to have spectrogram and waveform together for the seekbar? (Looks like the JS code is just an importer.)