Record sound using PC-based audio input device


y = wavrecord(n,Fs)
y = wavrecord(___,ch)
y = wavrecord(___,'dtype')


y = wavrecord(n,Fs) records n samples of an audio signal, sampled at a rate of Fs Hz (samples per second). The default value for Fs is 11025 Hz.

y = wavrecord(___,ch) uses ch number of input channels from the audio device. ch can be either 1 or 2, for mono or stereo, respectively. The default value for ch is 1.

y = wavrecord(___,'dtype') uses the data type specified by the string 'dtype' to record the sound. The following table lists the string values for 'dtype' along with the corresponding bits per sample and acceptable data range for y.

dtypeBits/sampley Data Range
'double'16–1.0 <= y < +1.0
'single'16–1.0 <= y < +1.0
'int16'16–32768 <= y <= +32767
'uint8'80 <= y <= 255


Record 5 seconds of 16-bit audio sampled at 11025 Hz. Play back the recorded sound using wavplay. Speak into your audio device (or produce your audio signal) while the wavrecord command runs.

Fs = 11025;
y = wavrecord(5*Fs,Fs,'int16');

More About

collapse all


Standard sampling rates for PC-based audio hardware are 8000, 11025, 22050, and 44100 samples per second. Stereo signals are returned as two-column matrices. The first column of a stereo audio matrix corresponds to the left input channel, while the second column corresponds to the right input channel.

The wavrecord function is for use only with 32-bit Microsoft® Windows® operating systems. To record audio data from audio input devices on other platforms, use audiorecorder.

Introduced before R2006a

Was this topic helpful?