Hi,
I am a little bit confused about the following procedure (Windows). What is wrong?
1. Take a usual 2ch/16 Bit/44,1 kHz WAV-File (CD)
2. To get a 32 Bit
FLOAT 88200 Hz File:
sox input_16_44100.wav"
-b 32 -e float output_88200_32F.wav rate -s -a -v -L 88200
3. sox output_88200_32F.wav output_88200_32F.raw
The
*.raw
file has 58
bytes less
-> the
Wav-Float-Header has a size of 58 bytes.
My own code
cannot read
this header in
Audio format 3
(only wav-PCM
and Extensible
like 24 Bit
Wav and 32 Bit
Wav). I
looked inside
with
Hex-Editor:
-4
byte
fact-chunk is
beginning at
byte 38
-4
byte
data-chunk is
beginning
at byte 50
("usually"
before
fact-chunk)
I
could not
read the size
of the
raw-data-chunk
(raw data
length). Theses
bytes are at
the end of the
header.
Here
(hex): 00 00
D8 0E ->
55310 bytes,
what is wrong!
It
should be (dec:)
249036800
bytes! This would
be 0E D8 00 00
-> most
significant
bit!
Then
I tried this:
sox.exe
-r 88200 -e float -b 24 -c 2output_88200_32F.raw
out.wav
Error!
This would be working (but makes no
sense...):
sox.exe -r 88200 -e signed-integer -b 24 -c 2output_88200_32F.raw
out.wav
Any idea?
Regards
Thomas