Вы находитесь на странице: 1из 2

wavread

Read WAVE (.wav) sound file

Alternatives

Products & Services Solutions Academia Support User Community Company As an alternative to wavread, use the Import Wizard. To activate the Import Wizard, select File > Import Data.

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

y = [y, [y, [y,

Description
y = wavread(filename) loads a WAVE file spec ified 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 enc ode 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 struc ture differs from file to file. Typical struc ture fields inc lude 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 eac h channel in the file. [...] = wavread(filename, [N1 N2]) returns only samples N1 through N2 from eac h 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
matc h (case-insensitive):

'double' 'native'

Double-precision normalized samples (default). 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 ac tual audio data, returning the vector siz = [samples channels].
Output Scaling
The range of values in y depends on the data format fmt spec ified. 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 Number of Bits MATLAB Data Type 8 16 24 32 Data Range 0 <= y <= 255 -32768 <= y <= +32767 -2^23 <= y <= 2^23-1 -1.0 <= y < +1.0

uint8 (unsigned integer) int16 (signed integer) int32 (signed integer) single (floating point)

Double Formats Number of Bits MATLAB Data Type Data Range -1.0 <= y < +1.0 -1.0 <= y <= +1.0 Note: Values in y might exc eed -1.0 or +1.0 for the c ase of N=32 bit data samples stored in the WAV file.

N<32 N=32

double double

wavread supports multi-channel data, with up to 32 bits per sample. wavread supports Pulse-c ode 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

Free MATLAB Interactive Kit


Explore how to use MATLAB to make advancements in engineering and science. Download free kit

Trials Available
Try the latest version of MATLAB and other MathWorks products. Get trial software

1984-2011- The MathWorks, Inc .

Site Help

Patents

Trademarks

Privac y Polic y

Preventing Piracy

RSS

Вам также может понравиться