主要内容

音频输入和音频输出

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

读取和写入整个音频文件

若要将整个音频文件读入工作区,然后将整个音频信号写入扬声器,请使用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/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实时音频

另请参阅

||||||

相关的话题

Baidu
map