实时音频输入MATLAB

Audio Toolbox为实时音频处理进行了优化。audioDeviceReaderaudioDeviceWriteraudioPlayerRecorderdsp.AudioFileReaderdsp.AudioFileWriter是专为流媒体多声道音频,以及它们提供必要的参数,这样就可以吞吐量和延迟之间进行权衡。

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

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

创建一个开发测试工作台

本教程将创建四个步骤的开发测试平台:

  1. 建立从您的测试平台反对输入和输出音频。

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

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

  4. 添加处理算法,音频流循环。

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

对于处理循环的概述,请考虑以下完成的试验台。您可以通过本教程走一步一步重建这个试验台。

已完成的试验台代码

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

您的音频流回路可以从设备或文件读取,并且可以写入设备或文件。在这个例子中,将构建的音频流循环,从文件中读取音频帧接一帧和一个装置将音频帧接一帧。看到快速入门实例可供选择的输入/输出配置。

创建一个dsp.AudioFileReader系统对象™和指定文件。为了减少等待时间,设置SamplesPerFrame财产的dsp.AudioFileReader系统对象的小帧的大小。

接下来,创建一个audioDeviceWriter系统对象,并指定其采样率的文件阅读器的采样率。

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

查看示例代码

2.创建音频流循环

音频流循环迭代地处理音频。它通过:

  • 读取音频信号的帧

  • 处理音频信号的帧

  • 写音频信号的该帧的装置或文件

  • 移动到下一帧

在本文中,将输入到音频流环被从文件中读取。输出被写入到设备。

要读取的音频文件帧一帧,请致电dsp.AudioFileReader您的音频流循环中,并没有提供参数。要写入的音频信号帧一帧,请致电audioDeviceWriter与音频信号的参数音频流循环中。

查看示例代码

所有系统对象有释放函数。作为一种最佳实践,在使用后释放系统对象,特别是当这些系统对象与硬件设备(如声卡)通信时。

3.添加作用域

有几个可用的范围。两种常见的范围是dsp.TimeScopedsp.SpectrumAnalyzer。本教程使用dsp.TimeScope以可视化的音频信号。

dsp.TimeScope系统对象显示在时域中的音频信号。创建系统对象。为了帮助可视化,指定值时间间隔BufferLengthYLimits属性。为了显现的音频信号一帧一帧,调用dsp.TimeScope与音频信号的参数音频流循环中系统对象。

查看示例代码

4.制定处理算法

在大多数应用中,你想你的音频流循环中处理音频信号。处理阶段可以是:

  • 的MATLAB代码的音频流环内的块

  • 叫你的音频流循环中有一个单独的函数

  • 叫你的音频流回路内的系统对象

在本教程中,调用混响处理您的音频流回路内的信号。

创建一个混响系统对象,并指定采样率财产的文件阅读器的采样率。要调整混响效果,指定值预延迟WetDryMix属性。以应用混响效果应用到音频信号一帧一帧,调用混响与音频信号的参数音频流循环中。

查看示例代码

添加可调性

音频工具箱用户有多种选择,以实时可调性添加到处理算法。要添加可调性,以您的音频流循环,你可以使用:

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

  • 内置功能 - 在音频工具箱功能的可视化你的处理算法的主要方面。

  • 一个定制的用户界面 - 请参阅实时参数调整一个教程。

  • MIDI控制器 - 许多音频Toolbox系统对象包括函数,支持MIDI控制。万博1manbetx您可以使用configureMIDI在功能混响系统对象的系统对象属性同步到MIDI控制。要使用MIDI控制与系统对象没有configureMIDI功能,参见MIDI控制界面接口

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

快速入门实例

音频流从设备到设备

音频流从设备到文件

音频流从文件到设备

相关的话题