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
12
3rd Party Plugins - (fb2k) / Re: Should some foobar2000 components be using AVX2 instruction set?
Last post by mudlord -
I'm thinking of compiling the next versions with Advanced Vector Extensions 2 (AVX2) instructions enabled. This would mean that the CPU in your computer should be released in 2013 or later (10 years ago, Intel Haswell).

Is that an unreasonable requirement?

I'm hoping for a civil discussion...
So, I wonder if certain components like foo_enhanced_spectrum_analyzer (moreso with some new features I've requested that is too CPU intensive) benefit from using AVX2 instruction set introduced in 2013 for Intel processors and 2015 for AMD CPUs, at the cost of not being able to run some of these components on older CPUs like Intel Core 2 Duo (which AFAIK, doesn't have SSE4.2 and AVX2 support) unless fallback to older SIMD instructions is implemented properly

Do you think that use of AVX2 instruction set is reasonable on certain parts in foobar2000 components?

BTW, what about use of AVX-512 instruction set in a foobar2000 component?

I wouldnt personally mind if SSE4.2 and AVX is mandatory. NEON is a given in modern ARM devices anyway.
13
3rd Party Plugins - (fb2k) / Re: foo_discogs
Last post by heliosphaner -
I have the same error with Discogger as I had with Discogs Tagger. I can't write tags because of this:

(FATAL) Error: Error loading release 31635865: JSON Parser ExceptionArray assertion failed.

Any idea how to get rid of it?
15
General Audio / Line at 18 or 20 kHz in spectogram
Last post by Squeller -
Hi,

in quite a few higher resolution files I have found a line exactly at 20 kHz, but I have also seen it at 18k.

What may be the cause of this?

Thx

X

And while we're at it, the following, above 20k, that's just random high frequency noise? I've also seen it before in a 358k SACD conversion to 96k FLAC.

X
17
Scientific Discussion / Re: One updated and one new audio processing DSP library
Last post by bennetng -
BTW, is this with your "double" change for precision? And which of the provided convolutions implementations is this with?
I specifically tried mingw64 because I hate the MSVC limitations. There is no change in the original source code (i.e. 32-bit with canonical convolution). Because the comparison among different versions would be unfair for example in the 4x unroll version:
Code: [Select]
sum += (A[0] * B[0]) + (A[1] * B[1]) + (A[2] * B[2]) + (A[3] * B[3]);
Everything is still in float before adding to sum, and if I cast A and B to double within such a loop things will slow down a lot which nullify any unrolling effort.
18
General Audio / Re: Downsampling 192/96 to 48 kHz - best SoX setting?
Last post by Squeller -
My current related converter presets with their chain, in order.

a) Low: Create 44.1/16 flac.
- SoX: SampleRate 44100, Best quality, Passband 95, Aliasing off, Phase response 50
- Replaygain(Alternative), clipping only, max 0dbfs, compress peaks, rescan everything

b) Medium: Create 48/19 flac (24 bps reported).
- SoX: SampleRate 48000, Best quality, Passband 95, Aliasing off, Phase response 50
- Replaygain(Alternative), clipping only, max 0dbfs, compress peaks, rescan everything
- SmartDither, Target bit depth 19, Amount of dither 1

c) Higher: Create 64/20 flac (24 bps reported).
- SoX: SampleRate 64000, Best quality, Passband 95, Aliasing off, Phase response 50
- Replaygain(Alternative), clipping only, max 0dbfs, compress peaks, rescan everything
- SmartDither, Target bit depth 20, Amount of dither 1

In the classical + orchestral realm, say if a 96 kHz file has 2200kbps, then the resulting 44/16 may be at 600 kbps, the 48/19 at ~800, the 64/20 somewhere at 1200 kbps.

My thought as for the Replaygain clipping compression is, it may affect just a few samples normally - and if plugin does its thing, it may be inaudible. I prefered this over lowering the volume.

I hope the converter chain order is reasonable.
19
Scientific Discussion / Re: One updated and one new audio processing DSP library
Last post by bryant -
I tried mingw64 14.2.0 in my i3-12100 Win10 PC, with these build commands I benchmarked the executables in elapsed milliseconds. Input is a 2m 13.5s stereo 32-bit float 44.1k .wav file.

-O3
H:\>art-O3 -q -y -4 -r76543 1.wav 2.wav
19307
H:\>art-O3 -q -y -4 -r44100 2.wav art-O3.wav
11159

...snip...

-O3 -mavx2 -fno-signed-zeros -fno-trapping-math -fassociative-math
H:\>art-avx2-switch -q -y -4 -r76543 1.wav 2.wav
2998
H:\>art-avx2-switch -q -y -4 -r44100 2.wav art-avx2-switch.wav
1802
Thanks for testing these! I was certainly aware of -Ofast and I built the release binary with that because it makes a huge difference, but it looks like twice more is still available with some compiler flags (at least on some CPUs). I always assumed that hand-written SIMD code would be required to be fully competitive speedwise, but perhaps not!

BTW, is this with your "double" change for precision? And which of the provided convolutions implementations is this with? I assume it must matter, right, although if they're smart enough they could abstract all that away.  :D
20
3rd Party Plugins - (fb2k) / Re: foo_midi (foobar2000 v2.0)
Last post by pqyt -
The current version seems to be ignoring libADLMIDI and libOPNMIDI if a soundfont path is set - regardless of what player I choose the console reports the following:

Code: [Select]
Opening track for playback: "D:\Synth\rips\1991 - Jimmy White's Whirlwind Snooker\01 - Snooker.mid"
foo_midi failed to initialize FluidSynth: Invalid FluidSynth directory: The system cannot find the path specified (0x00000003)
foo_midi uses SoundFont "D:\soundfonts\HiDef.sf2" with bank offset 0.

clearing the soundfont path allows libADLMIDI and libOPNMIDI to operate as normal, it's only when a soundfont path is set that they're getting overridden.
Thx. for reporting. The player override logic has been updated to support layered soundfonts but it looks like it's a bit too assertive.