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: the issue of coverting 32bit integer WAV (Read 3893 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

the issue of coverting 32bit integer WAV

I have some 32bit integer wav.
Because they are too big so I convert them to wavepack file.
then I convert the wavepack back to wav again . I noticed that the codec changed to PCM (floating-point).

Ok , you may say tha't might the problem of wavpack.

So the second time I convert the 32bit integer wav to wav.

And the codec also become PCM (floating-point).


here shows the information of the original one and the converted one:

Duration    4:18.664 (24 831 716 samples)
Sample rate  96000 Hz
Channels 2
Bits per sample 32
Bitrate 6144 kbps
Codec PCM
Encoding lossless

After converting

Duration    4:18.664 (24 831 716 samples)
Sample rate  96000 Hz
Channels 2
Bits per sample 32
Bitrate 6144 kbps
Codec PCM (floating-point)
Encoding lossless




Is that just the Clerical error or it mistakes the 32bit integer to the 32bit floating-point?



------
sorry for my English

the issue of coverting 32bit integer WAV

Reply #1
one more.

I use Fooba2000 to convert 32bit integer wav to wavpack.

AND just use the Command Prompt  to covert  32bit integer wav to wavpack.

and compare their audio md5.

Theye're not the same!

So I doubt that Foobar2000 mistake the 32bit integer to 32bit float.

And Alos, I doubt which can foobar200  plays 32bit integer audio bitperfect?


the issue of coverting 32bit integer WAV

Reply #2
one more.

I use Fooba2000 to convert 32bit integer wav to wavpack.

AND just use the Command Prompt  to covert  32bit integer wav to wavpack.

and compare their audio md5.

Theye're not the same!

So I doubt that Foobar2000 mistake the 32bit integer to 32bit float.

And Alos, I doubt which can foobar200  plays 32bit integer audio bitperfect?

And Alos?And also

the issue of coverting 32bit integer WAV

Reply #3
And Alos, I doubt which can foobar200  plays 32bit integer audio bitperfect?
By default, foobar2000 will use built-in Windows audio output mechanisms, which means the output will be 32bit float. Bit-perfectness is nothing you need to care about for playback.

I can say nothing of value regarding your conversion issues, since I have never tried to convert (or owned, for that matter) 32bit audio files.
It's only audiophile if it's inconvenient.

the issue of coverting 32bit integer WAV

Reply #4
foobar2000 also uses 32 bit floating point internally for all audio operations, so it cannot work with 32 bit integer samples in a lossless manner.

the issue of coverting 32bit integer WAV

Reply #5
And Alos, I doubt which can foobar200  plays 32bit integer audio bitperfect?
By default, foobar2000 will use built-in Windows audio output mechanisms, which means the output will be 32bit float. Bit-perfectness is nothing you need to care about for playback.

I can say nothing of value regarding your conversion issues, since I have never tried to convert (or owned, for that matter) 32bit audio files.

here is a 32bit integer sample file
http://www-mmsp.ece.mcgill.ca/Documents/Au...-int32-AFsp.wav


the issue of coverting 32bit integer WAV

Reply #6
here is a 32bit integer sample file
http://www-mmsp.ece.mcgill.ca/Documents/Au...-int32-AFsp.wav
Thanks, I didn't not try for lack of being able to produce 32bit files, but rather for lack of need. Anyway, kode54 gave the answer. If you need to convert/process 32bit integer files, you should look into dedicated audio software. foobar2000 is still "just" an audio player.
It's only audiophile if it's inconvenient.

the issue of coverting 32bit integer WAV

Reply #7
here is a 32bit integer sample file
http://www-mmsp.ece.mcgill.ca/Documents/Au...-int32-AFsp.wav
Thanks, I didn't not try for lack of being able to produce 32bit files, but rather for lack of need. Anyway, kode54 gave the answer. If you need to convert/process 32bit integer files, you should look into dedicated audio software. foobar2000 is still "just" an audio player.

OK,I see.

Now I just want to figure out what's happened for the conversion in foobar2000.

I think internal process is just for playback.

To covert 32bit integer to wavpack in foobar2000  seems like:  original(32bit integer)  ?32bit float-point pcm (?)? wavpack encoder? 32bit wvpack (with losing data
)
That would be strange.  If it's normal, So if I covert a 16bit wav to 16bit flac it would be:  16bit wav?32bit float-point pcm ?flac encoder and deither to 16bit(?)

that's not possible because flac doesn't support 32bit flaot-point.

I think its a bug that mistake the 32bit integer to 32bit float-point. (maybe the header is the same?)

the issue of coverting 32bit integer WAV

Reply #8
I think internal process is just for playback.
According to kode54 it's not, and I tend to believe his words in that matter.

To covert 32bit integer to wavpack in foobar2000  seems like:  original(32bit integer)  ?32bit float-point pcm (?)? wavpack encoder? 32bit wvpack (with losing data
)
See above, lossless conversion of 32bit integer WAV seems to be impossible with foobar2000.

That would be strange.  If it's normal, So if I covert a 16bit wav to 16bit flac it would be:  16bit wav?32bit float-point pcm ?flac encoder and deither to 16bit(?)
Even if that is the case, which I don't know, 16 bit integer PCM can be represented losslessly by 32bit floating point, so it doesn't matter. As a matter of fact, even 24 bit integer PCM can be represented losslessly.

that's not possible because flac doesn't support 32bit flaot-point.
I don't really know if FLAC supports 32 bit floating point compression, but I also never really cared or tried, see my first post in this thread.

I think its a bug that mistake the 32bit integer to 32bit float-point. (maybe the header is the same?)
Maybe unfortunate, but I wouldn't consider this a bug. foobar2000 is mostly for playing back audio. Though I guess Case will disagree with me.
It's only audiophile if it's inconvenient.

the issue of coverting 32bit integer WAV

Reply #9
that's not possible because flac doesn't support 32bit flaot-point.
I don't really know if FLAC supports 32 bit floating point compression, but I also never really cared or tried, see my first post in this thread.

The last time I looked this up, I believe the format specs permit it, however, no encoder/decoder has yet been written to actually support it

the issue of coverting 32bit integer WAV

Reply #10
The last time I looked this up, I believe the format specs permit it

32-bit integer, but not 32-bit floating point.

the issue of coverting 32bit integer WAV

Reply #11
that's not possible because flac doesn't support 32bit flaot-point.



Ok, maybe I did not describe my question clearly.


Flac dosn't support 32bit float-point.
and also the official encoder doesn't support the 32bit integer input yet.

So if you use  command prompt to covert any 32bit wav, it fails like this.



So when using foobar2000 to covert 32bit integer to flac, it should fail if foobar2000 really does convert the original file to 32bit float intermediate file.

But, in my test. It works. Foobar2000 does covert out a flac (because the limit of the encoder it becomes a 24bit integer file).

So...why?





the issue of coverting 32bit integer WAV

Reply #12
Decoders in foobar2000 indeed convert everything to 32-bit float (used to be 64-bit before foobar2000 v0.9) and components can convert this on the fly to target format they wish to use. The converter component has settings for each encoder marking the highest bit depth they support. Converter tries to use the source bit depth for lossless codecs but silently falls back on unsupported format. It might be a good idea for converter to report of the lossy truncation you are seeing.
As Kohlrabi said, foobar's pipeline is optimized for audio playback. That is a bit unfortunate as it's also a great generic audio converter. Fortunately 32-bit integer PCM isn't used in the wild nor does using it make any sense. For the few tracks you have in this format you have to use something else than foobar2000 to convert.

 

the issue of coverting 32bit integer WAV

Reply #13
Decoders in foobar2000 indeed convert everything to 32-bit float (used to be 64-bit before foobar2000 v0.9) and components can convert this on the fly to target format they wish to use. The converter component has settings for each encoder marking the highest bit depth they support. Converter tries to use the source bit depth for lossless codecs but silently falls back on unsupported format. It might be a good idea for converter to report of the lossy truncation you are seeing.
As Kohlrabi said, foobar's pipeline is optimized for audio playback. That is a bit unfortunate as it's also a great generic audio converter. Fortunately 32-bit integer PCM isn't used in the wild nor does using it make any sense. For the few tracks you have in this format you have to use something else than foobar2000 to convert.

I see.  Thank you very much.