zoukankan      html  css  js  c++  java
  • matlab中的实时音频

    音频系统工具箱™针对实时音频处理进行了优化。audioDeviceReaderaudioDeviceWriteraudioPlayerRecorderdsp.AudioFileReaderdsp.AudioFileWriter器是为流式传输多通道音频而设计的, 它们提供了必要的参数, 以便您可以在吞吐量和延迟之间进行权衡。

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

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

    创建开发试验台

    本教程通过四个步骤创建开发测试台:

    1. 生成对象以从测试台输入和输出音频。

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

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

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

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

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

    1. 创建 input/输出系统对象 s

    音频流循环可以从设备或文件中读取, 并且可以写入设备或文件。在本例中, 您将构建一个音频流循环, 该循环从文件逐帧读取音频帧, 并将音频帧写入设备。有关可选的输入/输出配置。

    创建dsp.AudioFileReader指定一个文件。若要减少延迟, 请设置 dsp 的SamplesPerFrame dsp.AudioFileReader

    接下来, 创建audioDeviceWriter system 对象, 并将其采样率指定为输入系统对象的采样率。

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

    2. 创建音频流循环

    音频流循环以迭代方式处理音频。它通过以下方式这样做:

    • 读取音频信号的帧

    • 处理该帧的音频信号

    • 将音频信号的帧写入设备或文件

    • 移动到下一帧

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

    要逐帧读取音频文件, 请调用dsp.AudioFileReader, 并且不提供任何参数。要逐帧写入音频信号, 请在音频流循环中调用音频audioDeviceWriter

    所有系统对象都具有release功能。作为最佳实践, 请在使用后释放系统对象, 尤其是当这些系统对象与硬件设备 (如声卡) 通信时。

    3. 添加范围

    音频系统工具箱用户可以使用多个作用域。两个常见的作用域是 dsp.TimeScope dsp.SpectrumAnalyzer本教程使用 dsp.TimeScope音频信号的时间范围系统对象。

    dsp.TimeScope中显示音频信号。创建系统对象。若要帮助可视化, 请指定TimeSpan、 BufferLength" 和YLimits" 属性的值。要逐帧显示音频信号, 请调用dsp.TimeScope流循环中的时间范围系统对象, 其中包含音频信号作为参数。

    4. 开发处理算法

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

    • 音频流循环中的 matlab 代码块

    • 在音频流循环中调用的单独函数

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

    在本教程中, 您将调用reverberator系统对象来处理音频流循环中的信号。

    创建reverberator系统对象, 并将SampleRate属性指定为输入系统对象的采样率。若要调整混响效果, 请指定PreDelayWetDryMix属性的值。若要将混响效果应用于音频信号帧逐帧, 请在音频流循环中调用reverberator系统对象, 并将音频信号作为参数。

    添加可调谐性

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

    • 音频测试台 –基于audioPlugin, 适用于音频插件类和大多数音频系统工具箱系统对象。

    • 内置功能–音频系统工具箱中用于可视化处理算法的关键方面的功能。

    • 自定义的用户界面–请参阅教程的实时参数优化。

    • midi 控制器–许多音频系统工具箱系统对象包括支持 midi 控件的功能。您可以使用reverberator系统对象中的configureMIDI函数将系统对象属性同步到 midi 控件。要将 midi 控件与没有configureMIDI系统对象一起使用, 请参阅midi 控制表面接口.

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

    音频系统工具箱™针对实时音频处理进行了优化。audioDeviceReaderaudioDeviceWriteraudioPlayerRecorderdsp.AudioFileReaderdsp.AudioFileWriter器是为流式传输多通道音频而设计的, 它们提供了必要的参数, 以便您可以在吞吐量和延迟之间进行权衡。

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

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

    创建开发试验台

    本教程通过四个步骤创建开发测试台:

    1. 生成对象以从测试台输入和输出音频。

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

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

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

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

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

    1. 创建 input/输出系统对象 s

    音频流循环可以从设备或文件中读取, 并且可以写入设备或文件。在本例中, 您将构建一个音频流循环, 该循环从文件逐帧读取音频帧, 并将音频帧写入设备。有关可选的输入/输出配置, 请参阅快速入门示例。

    创建dsp.AudioFileReader指定一个文件。若要减少延迟, 请设置 dsp 的SamplesPerFrame dsp.AudioFileReader

    接下来, 创建audioDeviceWriter system 对象, 并将其采样率指定为输入系统对象的采样率。

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

    2. 创建音频流循环

    音频流循环以迭代方式处理音频。它通过以下方式这样做:

    • 读取音频信号的帧

    • 处理该帧的音频信号

    • 将音频信号的帧写入设备或文件

    • 移动到下一帧

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

    要逐帧读取音频文件, 请调用dsp.AudioFileReader, 并且不提供任何参数。要逐帧写入音频信号, 请在音频流循环中调用音频audioDeviceWriter

    所有系统对象都具有release功能。作为最佳实践, 请在使用后释放系统对象, 尤其是当这些系统对象与硬件设备 (如声卡) 通信时。

    3. 添加范围

    音频系统工具箱用户可以使用多个作用域。两个常见的作用域是 dsp.TimeScope dsp.SpectrumAnalyzer本教程使用 dsp.TimeScope音频信号的时间范围系统对象。

    dsp.TimeScope中显示音频信号。创建系统对象。若要帮助可视化, 请指定TimeSpan、 BufferLength" 和YLimits" 属性的值。要逐帧显示音频信号, 请调用dsp.TimeScope流循环中的时间范围系统对象, 其中包含音频信号作为参数。

    4. 开发处理算法

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

    • 音频流循环中的 matlab 代码块

    • 在音频流循环中调用的单独函数

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

    在本教程中, 您将调用reverberator系统对象来处理音频流循环中的信号。

    创建reverberator系统对象, 并将SampleRate属性指定为输入系统对象的采样率。若要调整混响效果, 请指定PreDelayWetDryMix属性的值。若要将混响效果应用于音频信号帧逐帧, 请在音频流循环中调用reverberator系统对象, 并将音频信号作为参数。

    添加可调谐性

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

    • 音频测试台 –基于audioPlugin, 适用于音频插件类和大多数音频系统工具箱系统对象。

    • 内置功能–音频系统工具箱中用于可视化处理算法的关键方面的功能。

    • 自定义的用户界面–请参阅教程的实时参数优化。

    • midi 控制器–许多音频系统工具箱系统对象包括支持 midi 控件的功能。您可以使用reverberator系统对象中的configureMIDI函数将系统对象属性同步到 midi 控件。要将 midi 控件与没有configureMIDI系统对象一起使用, 请参阅midi 控制表面接口.

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

    关注公众号: MATLAB基于模型的设计 (ID:xaxymaker) ,每天推送MATLAB学习最常见的问题,每天进步一点点,业精于勤荒于嬉

     打开微信扫一扫哦!

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/52geek/p/10453551.html
Copyright © 2011-2022 走看看