Convert the wave file to a 16 bit signed binary format
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I am working with the audio codecs and I need to give an input to the encoder which mentions that the input should be 16 bit signed binary files. I have the wave files with me and am using wavread function to read it into an array. Once I read it into the array I am not sure how to convert it into signed 16 bit binary file.
0 Kommentare
Akzeptierte Antwort
dpb
am 13 Aug. 2014
Bearbeitet: dpb
am 17 Aug. 2014
Would seem simplest to just use the optional FMT input argument to wavread and set the format of the returned values...
[Y,...]=wavread(...,FMT) specifies the data type format of Y used
to represent samples read from the file.
If FMT='double', Y contains double-precision normalized samples.
If FMT='native', Y contains samples in the native data type
found in the file. Interpretation of FMT is case-insensitive,
and partial matching is supported. If omitted, FMT='double'.
...
Output Scaling
The range of values in Y depends on the data format FMT specified.
Some examples of output scaling based on typical bit-widths found
in a WAV file are given below for both 'double' and 'native' formats.
FMT='native'
#Bits MATLAB data type Data range
----- ------------------------- -------------------
8 uint8 (unsigned integer) 0 <= Y <= 255
16 int16 (signed integer) -32768 <= Y <= +32767
Presumes, of course, your .wav file is 16-bit.
Otherwise,
doc int16
which also presumes the data will fit into a 16-bit integer.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Standard File Formats finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!