音频输入和音频输出
这个例子展示了如何从文件中读取音频并将音频写入扬声器。
读取和写入整个音频文件
若要将整个音频文件读入工作区,然后将整个音频信号写入扬声器,请使用audioread
和soundsc
功能。调用audioread
用文件名读取整个音频文件和音频的采样率。调用soundsc
与音频数据和采样率播放音频到您的默认扬声器。
[audioData,fs] = audioread(“SpeechDFT-16-8-mono-5secs.wav”);soundsc (audioData fs)
逐帧读写音频文件
若要逐帧将音频读入工作区,然后逐帧将音频写入扬声器,请使用dsp。AudioFileReader
和audioDeviceWriter
功能。
创建一个dsp。AudioFileReader
对象逐帧从文件中读取音频。音频文件读取器将音频文件的采样率保存到SampleRate
财产。
fileReader = dsp。AudioFileReader (“文件名”,“SpeechDFT-16-8-mono-5secs.wav”)
fileReader = dsp。AudioFileReaderwith properties: Filename: '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/audio/samples/SpeechDFT-16-8-mono-5secs.wav' PlayCount: 1 SamplesPerFrame: 1024 OutputDataType: 'double' FilenameIsTunableInCodegen: 0 SampleRate: 8000 ReadRange: [1 Inf]
创建一个audioDeviceWriter
对象将音频写入扬声器。设置的采样率audioDeviceWriter
对象设置为音频文件的采样率。
deviceWriter = audioDeviceWriter(“SampleRate”fileReader.SampleRate)
deviceWriter = audioDeviceWriter with properties: Device: 'Default' SampleRate: 8000显示所有属性
在循环中,从文件中读取并写入设备。当循环运行时,音频将播放到默认音频设备。
而~结束(fileReader)从文件中读取一帧音频数据。audioData = fileReader();向扬声器写入一帧音频数据。。deviceWriter (audioData);结束
作为最佳实践,在完成后释放文件和音频设备。
发布(fileReader)发布(deviceWriter)
要了解如何实现其他音频I/O配置,例如从麦克风读取或向扬声器写入,请参见MATLAB实时音频.
另请参阅
audioDeviceReader
|audioDeviceWriter
|audioPlayerRecorder
|dsp。AudioFileWriter
|dsp。AudioFileReader
|asiosettings
|getAudioDevices