0% found this document useful (0 votes)
103 views

Wavread Function

This document provides documentation on the wavread function in MATLAB. It allows reading of WAVE audio files and returning the sampled audio data and metadata like sample rate. It supports reading partial data or specific channels from multi-channel files. The output data is normalized or scaled depending on the file format.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

Wavread Function

This document provides documentation on the wavread function in MATLAB. It allows reading of WAVE audio files and returning the sampled audio data and metadata like sample rate. It supports reading partial data or specific channels from multi-channel files. The output data is normalized or scaled depending on the file format.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

wavread :: Functions (MATLAB)

jar:file:///C:/Program%20Files/MATLAB/R2011a/help/techdoc/help.jar!/...

wavread
Read WAVE (.wav) sound file

Alternatives
As an alternative to wavread, use the Import Wizard. To activate the Import Wizard, select File > Import Data.

Syntax
y = wavread(filename)
[y, Fs] = wavread(filename)
[y, Fs, nbits] = wavread(filename)
[y, Fs, nbits, opts] = wavread(filename)
[...] = wavread(filename, N)
[...] = wavread(filename, [N1 N2])
[...] = wavread(..., fmt)
siz = wavread(filename,'size')

Description
y = wavread(filename) loads a WAVE file specified by the string filename, returning the sampled data in y. If
filename does not include an extension, wavread appends .wav.
[y, Fs] = wavread(filename) returns the sample rate (Fs) in Hertz used to encode the data in the file.
[y, Fs, nbits] = wavread(filename) returns the number of bits per sample (nbits).
[y, Fs, nbits, opts] = wavread(filename) returns a structure opts of additional information contained in the
WAV file. The content of this structure differs from file to file. Typical structure fields include opts.fmt (audio format
information) and opts.info (text that describes the title, author, etc.).
[...] = wavread(filename, N) returns only the first N samples from each channel in the file.
[...] = wavread(filename, [N1 N2]) returns only samples N1 through N2 from each channel in the file.
[...] = wavread(..., fmt) specifies the data format of y used to represent samples read from the file. fmt can be
either of the following values, or a partial match (case-insensitive):

'double'

Double-precision normalized samples (default).

'native'

Samples in the native data type found in the file.

siz = wavread(filename,'size') returns the size of the audio data contained in filename instead of the actual
audio data, returning the vector siz = [samples channels].

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.
Native Formats

1 of 2

Number of Bits MATLAB Data Type

Data Range

uint8 (unsigned integer)

0 <= y <= 255

16

int16 (signed integer)

-32768 <= y <= +32767

24

int32 (signed integer)

-2^23 <= y <= 2^23-1

32

single (floating point)

-1.0 <= y < +1.0

9/29/2014 6:37 PM

wavread :: Functions (MATLAB)

jar:file:///C:/Program%20Files/MATLAB/R2011a/help/techdoc/help.jar!/...

Double Formats

Number of Bits

MATLAB Data Type

Data Range

N<32

double

-1.0 <= y < +1.0

N=32

double

-1.0 <= y <= +1.0


Note: Values in y might exceed -1.0 or
+1.0 for the case of N=32 bit data
samples stored in the WAV file.

wavread supports multi-channel data, with up to 32 bits per sample.


wavread supports Pulse-code Modulation (PCM) data format only.

Examples
Create a WAV file from the demo file handel.mat, and read portions of the file back into MATLAB.
% Create WAV file in current folder.
load handel.mat
hfile = 'handel.wav';
wavwrite(y, Fs, hfile)
clear y Fs
% Read the data back into MATLAB, and listen to audio.
[y, Fs, nbits, readinfo] = wavread(hfile);
sound(y, Fs);
% Pause before next read and playback operation.
duration = numel(y) / Fs;
pause(duration + 2)
% Read and play only the first 2 seconds.
nsamples = 2 * Fs;
[y2, Fs] = wavread(hfile, nsamples);
sound(y2, Fs);
pause(4)
% Read and play the middle third of the file.
sizeinfo = wavread(hfile, 'size');
tot_samples = sizeinfo(1);
startpos = tot_samples / 3;
endpos = 2 * startpos;
[y3, Fs] = wavread(hfile, [startpos endpos]);
sound(y3, Fs);

See Also
audioplayer | audiorecorder | mmfileinfo | sound | wavfinfo | wavwrite
Was this topic helpful?

Yes

No

1984-2011 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments

2 of 2

9/29/2014 6:37 PM

You might also like