实时音频MATLAB
音频工具箱™实时音频处理进行了优化。audioDeviceReader
,audioDeviceWriter
,audioPlayerRecorder
,dsp.AudioFileReader
,dsp.AudioFileWriter
为流多通道音频设计,提供必要的参数,这样您就可以吞吐量和延迟之间的权衡。
对信息实时处理和如何优化算法,明白了音频I / O:缓冲、延迟和吞吐量。
本教程描述如何在MATLAB中实现音频流处理®。它概述了工作流创建开发试验台为每个阶段的工作流程,并提供例子。
创建一个开发试验台
本教程中创建一个开发试验台四个步骤:
构建对象输入和输出音频试验台。
创建一个音频流循环处理你的音频帧。
添加一个范围可视化你的音频流的输入和输出循环。
添加一个音频流循环处理算法。
本教程还讨论了工具可视化和实时优化处理算法。
对于处理循环的概述,请考虑以下完成试验台。你可以重新创建这个试验台通过本教程一步一步走。
1。创建输入/输出系统对象年代
你的音频流循环可以阅读从一个设备或一个文件,它可以编写一个设备或一个文件中。在本例中,您构建一个音频流循环读取音频帧从一个文件,并将音频帧写入设备。看到快速入门示例对替代输入/输出配置。
创建一个dsp.AudioFileReader
™和指定一个文件系统对象。为了减少延迟,设置SamplesPerFrame
财产的dsp.AudioFileReader
系统对象小帧大小。
接下来,创建一个audioDeviceWriter
系统对象并指定采样率采样率的文件阅读器。
如何使用系统对象的更多信息,参见系统对象是什么?
2。创建音频流循环
一个音频流音频迭代循环过程。它是通过:
阅读一个音频信号的帧
处理音频信号的帧
写作的音频信号设备或文件
移动到下一帧
在本教程中,音频流的输入循环读取文件。输出写入设备。
读取一帧音频文件,打电话给你dsp.AudioFileReader
在你的音频流循环,并提供没有参数。编写一个音频信号帧,打电话给你audioDeviceWriter
在你的音频流循环一个音频信号作为参数。
所有系统有一个对象释放
函数。作为一项最佳实践,用后释放你的系统对象,尤其是如果这些系统对象是与硬件设备通信,比如声卡。
3所示。添加范围
有几个可用的范围。两个常见的范围是timescope
和dsp.SpectrumAnalyzer
。本教程使用timescope
可视化的音频信号。
的timescope
系统对象显示时域的音频信号。创建系统对象。帮助可视化、指定的值时间间隔
,BufferLength
,YLimits
属性。想象一个音频信号帧,调用timescope
系统对象在你的音频流回路与音频信号作为参数。
4所示。开发处理算法
在大多数应用程序中,你想处理你的音频信号在你的音频流循环。可以处理阶段:
一块MATLAB代码在您的音频流循环
一个单独的函数在您的音频流循环
一个叫做音频流内循环系统对象
在本教程中,您将调用反射器
处理信号的音频流内循环。
创建一个反射器
系统对象,指定SampleRate
房地产作为你的文件阅读器的采样率。调整混响效果,指定的值预延迟
和WetDryMix
属性。混响效应应用于音频信号帧,调用反射器
在你的音频流循环一个音频信号作为参数。
添加可调谐性
音频工具箱用户有几个选项来添加实时处理算法的可调性。添加你的音频流可调谐性循环,您可以使用:
的音频测试台上——基于ui的练习
audioPlugin
和大多数音频工具箱系统对象类。内置的音频工具箱函数,函数可视化处理算法的关键方面。
一个定制的用户界面——看到实时参数调优对于一个教程。
MIDI控制器——许多音频工具箱系统对象包括功能支持MIDI控制。万博1manbetx您可以使用
功能configureMIDI
反射器
系统对象同步您的系统对象属性MIDI控制。使用MIDI控制系统没有的对象configureMIDI
功能,请参阅MIDI控制表面界面。用户数据报协议(UDP)——你可以在MATLAB中使用UDP连接传输。您还可以使用UDP环境之间接收或发送数据报。可能的应用包括使用MATLAB工具来优化您的音频处理算法在播放音频和可视化的一个第三方的环境。UDP通信的一个示例应用程序,请参阅穴鸟和MATLAB使用UDP通信。