主要内容

音频输入和音频输出

这个示例演示了如何从文件中读取音频并将音频写入扬声器。

读和写整个音频文件

要将整个音频文件读入工作空间,然后将整个音频信号写入扬声器,请使用audioreadsoundsc功能。调用audioread用文件名读取整个音频文件和音频的采样率。调用soundsc与音频数据和采样率播放音频到您的默认扬声器。

[audioData, fs] = audioread (“SpeechDFT-16-8-mono-5secs.wav”);soundsc (audioData fs)

逐帧读取和写入音频文件

要将音频一帧一帧地读取到工作空间中,然后将音频一帧一帧地写入到扬声器中,请使用dsp。AudioFileReaderaudioDeviceWriter功能。

创建一个dsp。AudioFileReader对象从文件逐帧读取音频。音频文件读取器将音频文件的采样率保存到SampleRate财产。

fileReader = dsp。AudioFileReader (“文件名”“SpeechDFT-16-8-mono-5secs.wav”
fileReader = dsp。AudioFileReaderwith properties: Filename: '/mathworks/devel/bat/Bdoc21b/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中的实时音频

另请参阅

||||||

相关的话题