主要内容

实时音频马铃薯

Audio Toolbox™针对实时音频处理进行了优化。audiodevicereader.audiodevicewriter.audioltayerrecorder.dsp.audiofilereader., 和dsp.audiofileWriter.专为流式传输多声道音频,它们提供必要的参数,以便您可以在吞吐量和延迟之间进行折衷。

有关如何优化算法的实时处理和提示的信息,请参阅音频I / O:缓冲,延迟和吞吐量

本教程描述了如何在MATLAB中实现音频流处理®。它概述了创建开发测试台的工作流程,并为工作流的每个阶段提供示例。

创建一个开发测试台

本教程在四个步骤中创建开发测试台:

  1. 从测试台中构建对象以输入和输出音频。

  2. 创建一个音频流循环,处理逐帧帧。

  3. 添加范围以可视化音频流循环的输入和输出。

  4. 为音频流循环添加一个处理算法。

本教程还讨论了实时可视化和调整处理算法的工具。

有关处理循环的概述,请考虑下面完成的测试台。您可以通过本教程逐步步行来重新创建此测试台。

已完成的测试台代码

1.创建输入/输出系统对象S.

您的音频流循环可以从设备或文件读取,并且可以写入设备或文件。在此示例中,构建一个音频流循环,该循环从文件读取音频帧逐帧,并将音频帧逐帧写入设备。看快速开始示例用于替代输入/输出配置。

创建一个dsp.audiofilereader.System Object™并指定文件。要减少延迟,请设置SamplesPerframe.财产的财产dsp.audiofilereader.系统对象到小帧大小。

接下来,创建一个audiodevicewriter.系统对象并将其采样率指定为文件读取器的采样率。

有关如何使用系统对象的详细信息,请参阅什么是系统对象?

查看示例代码

2.创建音频流循环

音频流循环迭代地处理音频。它确实如此:

  • 读取音频信号的框架

  • 处理该帧的音频信号

  • 将该帧写入设备或文件

  • 移动到下一个框架

在本教程中,从文件读取对音频流循环的输入。输出写入设备。

要读取逐帧帧,请调用您的dsp.audiofilereader.在您的音频流循环中,不提供任何参数。要编写逐帧音频信号,请调用您的audiodevicewriter.在您的音频流循环中,具有音频信号作为参数。

查看示例代码

所有系统对象都有一个释放功能。作为最佳实践,使用后释放您的系统对象,特别是如果这些系统对象与诸如声卡等硬件设备通信。

3.添加范围

有几个范围可用。两个常见的范围是Timescope.dsp.spectrumanalyzer.。本教程用途Timescope.可视化音频信号。

Timescope.系统对象在时域中显示音频信号。创建系统对象。要帮助可视化,请指定值的值时间跨度BufferLength., 和吉姆斯特性。要逐帧可视化音频信号,请调用Timescope.音频流循环中的系统对象,音频信号作为参数。

查看示例代码

4.开发处理算法

在大多数应用程序中,您希望在音频流循环中处理音频信号。处理阶段可以是:

  • 音频流循环中的一个MATLAB代码块

  • 在音频流循环中称为单独的函数

  • 在音频流循环中调用的系统对象

在本教程中,您称之为混响者处理音频流循环中的信号。

创建一个混响者系统对象,并指定采样率属性作为文件阅读器的采样率。要调整混响效果,请指定值的值预制湿润混合特性。要将混响效果应用于逐帧音频信号,请调用混响者在您的音频流循环中,具有音频信号作为参数。

查看示例代码

添加可调性

音频工具箱用户有多个选项,可以为处理算法添加实时可调性。要将可调性添加到音频流循环,可以使用:

  • 音频测试台- 基于UI的练习audioplugin类和大多数音频工具箱系统对象。

  • 内置函数 - 音频工具箱中的功能,用于可视化处理算法的关键方面。

  • 自定义内置的用户界面 - 请参阅实时参数调整为教程。

  • MIDI控制器 - 许多音频工具箱系统对象包括支持MIDI控件的功能。万博1manbetx你可以使用configuremidi.功能在混响者系统对象将系统对象属性同步到MIDI控件。使用MIDI控件与没有没有A的系统对象configuremidi.功能,参见MIDI控制表面界面

  • 用户数据报协议(UDP) - 您可以在MATLAB中使用UDP以进行无连接传输。您还可以使用UDP在环境之间接收或传输数据报。可能的应用程序包括使用MATLAB工具调整音频处理算法在第三方环境中播放和可视化您的音频时。有关UDP通信的示例应用,请参阅使用UDP在DAW和MATLAB之间进行通信

快速开始示例

从设备到设备的音频流

从设备到文件的音频流

从文件到设备的音频流

相关话题