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.
Topic: 32-bit floating-point (WAV) files "in the wild" (Read 22203 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #50
Maybe (... likely ...) all 32 bit files, but certainly not 24 or 16, cf the error message I pasted above.
Of course I meant 32-bit. Because even if someone managed to create a 16 or 24 bits float file it will not be supported by all other third party programs and hardware player. It requires a special decoder:
https://hydrogenaud.io/index.php/topic,90770.0.html

Quote
Originated from, that is question for when input file is integer. ("32-bit integer"?). BTW, to other readers: that option is as of now only in a beta.
I have yet to see WavPack mis-identify input files.
I meant if you see obvious size differences when using --optimize-32bit, then the file is likely converted from another 32-bit format. So this 810MB file is encoded in integer, but because --optimize-32bit can further reduce the file size significantly, then it means the file was originally processed in float, but exported to integer. So it is not about misinterpretation of file encoding formats. The file can be compressed to 537MB without using -h or -x when using --optimize-32bit.

[edit]
Tested other settings using --optimize-32bit and --threads=8
Code: [Select]
561,864,578 gx4.wv
561,532,860 gx6.wv
555,605,858 hx4.wv
555,328,064 hx6.wv
553,126,794 hhx4.wv
553,009,866 hhx6.wv

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #51
Of course I meant 32-bit. Because even if someone managed to create a 16 or 24 bits float file it will not be supported by all other third party programs and hardware player. It requires a special decoder:
https://hydrogenaud.io/index.php/topic,90770.0.html
No longer supported by the latest version of foobar2000, and I don't have anything else which can correctly read these files.
X

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #52
Now we're over into integer, but anyway ... still a weirdly-high-bitdepth format to find in the wild, so ...

Maybe (... likely ...) all 32 bit files, but certainly not 24 or 16, cf the error message I pasted above.
Of course I meant 32-bit. Because even if someone managed to create a 16 or 24 bits float file it will not be supported by all other third party programs and hardware player.
That's not "of course" ... if you don't check what you encode, you could for that matter have take 16 bit integer as 32-bit float.

Anyway, only float PCM supported by ffmpeg, are 32 and 64 (both endiannesses for both).

The file can be compressed to 537MB without using -h or -x when using --optimize-32bit.

[edit]
Tested other settings using --optimize-32bit and --threads=8
Code: [Select]
561,864,578 gx4.wv
561,532,860 gx6.wv
555,605,858 hx4.wv
555,328,064 hx6.wv
553,126,794 hhx4.wv
553,009,866 hhx6.wv

Quite impressive, when you look at the competition:
676 534 856 refalac
664 965 457 flac -8p (1.4.3, without keeping foreign metadata)
663 189 990 WavPack -mhx4 (the "m" for MD5 sum ... out of habit)
655 937 031 ALS -7 -p
654 811 611 OptimFrog  --preset max (that is ofr.exe, as appropriate!)

(Is there any audio editing program that works in float, saves in integer, and could save by way of a WavPack plugin?)

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #53
That's not "of course" ... if you don't check what you encode, you could for that matter have take 16 bit integer as 32-bit float.
It is because the differences of 16, 24 and 32-bit formats are not only a simple bit-depth field, it also affects Block Align (which sets the boundary of how many bytes represent a sample in one or more channels), Bytes Per Second and other stuffs. If you indeed have a file which is written by a buggy software that set the bit-depth as 16-bit but storing 32-bit float data then it will just become garbage or unreadable. Audition for example has an option to open as raw and users have to manually enter info like bit-depth, number of channels, sample rate, endianness and so on. It does not detect anything when using this mode. So users need to guess these things manually to reconstruct the header.

It is pretty easy to see how foobar2000 2.0 can seemingly capable of identifying the base format is 16-bit float, but as long as I play it and run it through the integrity checker it shows error. It is based on the assumption that any type 3 format must be float rather than looking into the audio data. When putting this 16-bit float file in oldsCool it also shows the error message "unsupported 16-bit type 3 format" because oldsCool does not have any code which can deal with 16-bit float, and I have no intent to further branch the code to check for example if it is actually type 1 or something else.

If a specific piece of software is advertised to have "forensic" grade of data analysis for recovery etc. then the approach would indeed be trying to check as many things as possible.

The header of .wav file is arranged in a way that it can be easily parsed sequentially instead of requiring the programmer constantly going back and forth. For example, it is perfectly legal for the format to have something like 56-bit integer and 40-bit float, but these formats are unsupported so it is completely meaningless to look any further into the audio data.

There are of course also ACM .wav format where you can stuff things like MP3 into a .wav file but the format tag will not be type 1 or 3. The format tag is placed in a very early position of a .wav file so that the programmer can quickly checks whether a format is supported or not.

As a practical example I reported a bug in someone's software due to misuse of format tag. When it is wrong the file is quickly rejected by everything I have.
https://www.audiosciencereview.com/forum/index.php?threads/beta-test-deltawave-null-comparison-software.6633/post-802776

Therefore the Cool Edit formats are special in a way that because they are documented as type 1, so the code needs to look further to identify these formats.

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #54
Is it possible to use 32-bit float with flac?
EZ CD Audio Converter

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #55
The latest version of FLAC only supports up to 32-bit integer.

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #56
And the FLAC format does not provide for it.

Big difference between 32-bit integer and 32-bit float, even if it took years until 32-bit integer was implemented as well:
* 32-bit integer was always part of the format: in the frame header, after the bits describing channel assignment, you got bits to describe bit depth, and after 110 for 24, there is 111 for 32. But the available encoders didn't support it until recently.
* But there is nothing for 32-bit float.

Use WavPack.
There's a ton of hypothetical LPCM WAVE files which you won't actually find, which WavPack supports and FLAC does not. Say, sample rate of 1 234 567 Hz.

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #57
(Is there any audio editing program that works in float, saves in integer, and could save by way of a WavPack plugin?)
Reaper's highest supported processing bit-depth is 64-bit float, but can also be configured to use 32-bit float processing, and Reaper can export to 32-bit integer WavPack.

Reaper cares about WavPack metadata support too. schwa is a core Reaper developer.
https://hydrogenaud.io/index.php/topic,119263.0.html
https://hydrogenaud.io/index.php/topic,120280.0.html
https://forums.cockos.com/member.php?s=44e829c01da1fc124f5c9be4e37f787e&u=3752

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #58
Googled up a few more files at soundcloud - and this time I checked file properties. Largest/longest first:

https://soundcloud.com/erikerixontechno/affenkafig-karnevalsrave-2018-bogen-2-koeln
110 minutes track. That's > 2 GB.

https://soundcloud.com/elektronikos
"Made with REAL synthesizers & drum machines, which for a while seems to have diminished."
102 min in 31 tracks, not counting one 16-bit track.

https://soundcloud.com/uzuknm7fvipv
This user (or bot?) has made a big number of playlists all with the same content (I think), just changing the name and the picture. Anyway, pick one playlist:
74 minutes of 32-bit float in 19 tracks. And about the same in 24-bit.

https://soundcloud.com/user-520842854
54 minutes, the second file is float.

A couple of single tracks:
https://soundcloud.com/tamore-3/the-not-gentle-techno-version-32bit-wave
https://soundcloud.com/outertone/crusadope-back-in-time-32bit-outertone-free-release


... and the THX "Deep note" can be found if sought - who knows how much processing that has been through until someone uploaded it in float.

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #59
Spread those bits around.

X
EZ CD Audio Converter

Re: 32-bit floating-point (WAV) files "in the wild"

Reply #60
https://soundcloud.com/elektronikos
"Made with REAL synthesizers & drum machines, which for a while seems to have diminished."
102 min in 31 tracks, not counting one 16-bit track.

https://soundcloud.com/user-520842854
54 minutes, the second file is float.
These two sound like good candidates for lossy codec listening tests.