主要内容

反射器

音频信号加混响

描述

反射器系统对象™加混响单声道或立体声音频信号。

将混响添加到您的输入:

  1. 创建反射器对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

混响=反射器创建一个系统对象,混响音频信号,增加了人工混响。

混响=反射器(名称,值)每个属性集的名字到指定的价值。未指定的属性有默认值。

例子:混响=反射镜(预延迟,0.5,“WetDryMix”, 1)创建一个系统对象,混响,0.5秒pre-delay和wet-to-dry混合比。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

Pre-delay混响在几秒钟内,指定为一个真正的标量在[0,1]。

Pre-delay对混响之间的时间听直接声音和第一个早期反射。的价值预延迟房间的大小成正比的建模。

可调:是的

数据类型:|

低通滤波器截止在赫兹,指定为一个真正的积极的标量范围在0到 ( 年代 一个 p l e R 一个 t e 2 )

低通滤波器截止是3 dB单刀低通滤波器的截止频率的反射镜结构。它阻止混响高频组件的应用程序的输入。

可调:是的

数据类型:|

密度混响的尾巴,指定为一个真正的积极的标量范围[0,1]。

扩散成正比的速度混响尾巴构建密度。增加扩散将反射紧密,增厚的声音。减少扩散创造了更多的离散的回声。

可调:是的

数据类型:|

衰减系数的混响的尾巴,指定为一个真正的积极的标量范围[0,1]。

DecayFactor成反比的时间反思耗尽精力。模型一个大房间,用长混响尾巴(低衰减系数)。模型的一个小房间,用一个短混响尾巴(高衰减系数)。

可调:是的

数据类型:|

高频阻尼,指定为一个真正的积极的标量范围[0,1]。

HighFrequencyDamping成正比的高频衰减混响的输出。设置HighFrequencyDamping一个较大的值使高频反射衰减速度比低频反射。

可调:是的

数据类型:|

Wet-dry混合,指定为一个真正的积极的标量范围[0,1]。

Wet-dry混合是湿的比率(回响)干(原始)信号,你呢反射器系统对象输出。

可调:是的

数据类型:|

输入采样率在赫兹,指定为一个积极的标量。

可调:是的

数据类型:|

使用

描述

例子

audioOut=混响(audioIn)将混响添加到输入信号,audioIn,并返回混合信号,audioOut。指定的类型的混响算法和反射镜系统对象的属性,混响

输入参数

全部展开

音频输入反射镜,指定为一个列向量或两列矩阵。矩阵的列被视为独立的音频通道。

数据类型:|

输出参数

全部展开

音频输出反射镜,作为一个两列返回矩阵。

数据类型:|

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

createAudioPluginClass 创建音频插件类实现的功能系统对象
parameterTuner 调整对象参数而流
configureMIDI 配置MIDI音频对象和MIDI控制器之间的连接
disconnectMIDI 断开MIDI控制从音频对象
getMIDIConnections MIDI音频对象的连接
克隆 创建重复的系统对象
isLocked 确定系统对象在使用
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象
一步 运行系统对象算法

例子

全部折叠

使用反射器系统对象™添加人工混响音频信号读取一个文件。

创建dsp.AudioFileReaderaudioDeviceWriter系统对象。使用读者的采样率采样率的作家。

fileReader = dsp.AudioFileReader (“FunkyDrums-44p1-stereo-25secs.mp3”,“SamplesPerFrame”,1024);deviceWriter = audioDeviceWriter (“SampleRate”,fileReader.SampleRate);

10秒的音频信号通过你的设备。

抽搐toc < 10音频= fileReader ();deviceWriter(音频);结束发行版(fileReader)

构造一个反射器系统对象的默认设置。

混响=反射器
混响=反射器的属性:预延迟:0 HighCutFrequency: 20000扩散:0.5000 DecayFactor: 0.5000 HighFrequencyDamping: 5.0000 e-04 WetDryMix: 0.3000 SampleRate: 44100

构造一个时间范围可视化原始音频信号和音频信号添加人工混响。

范围= timescope (“SampleRate”fileReader.SampleRate,“TimeSpanOverrunAction”,“滚动”,“TimeSpanSource”,“属性”,“时间间隔”3,“BufferLength”3 * fileReader.SampleRate * 2,“YLimits”[1],“ShowGrid”,真的,“ShowLegend”,真的,“标题”,“音频混响与原创”);

播放音频信号与人工混响。可视化音频混响和原始的音频。

~结束(fileReader)音频= fileReader ();audioWithReverb =混响(音频);deviceWriter (audioWithReverb);范围([audioWithReverb(: 1),音频(:1)))结束发行版(fileReader)发布(deviceWriter)发布(范围)

创建一个dsp.AudioFileReader阅读的音频帧。创建一个audioDeviceWriter写音频你的声卡。创建一个反射器处理音频数据。

frameLength = 1024;fileReader = dsp.AudioFileReader (“RockDrums-44p1-stereo-11secs.mp3”,“SamplesPerFrame”frameLength,“PlayCount”2);deviceWriter = audioDeviceWriter (“SampleRate”,fileReader.SampleRate);混响=反射器(“SampleRate”,fileReader.SampleRate);

调用parameterTuner打开一个UI的调优参数octaveFilter而流。

parameterTuner(混响)

在一个音频流循环:

  1. 阅读在一个框架的音频文件。

  2. 应用混响。

  3. 写的音频帧为倾听您的音频设备。

而流,调整参数的反射镜,听的效果。

~结束(fileReader) audioIn = fileReader ();audioOut =混响(audioIn);deviceWriter (audioOut);drawnowlimitrate%更新所需参数结束

作为一项最佳实践,一旦完成释放你的对象。

发行版(deviceWriter)发布(fileReader)发布(混响)

提示

createAudioPluginClassconfigureMIDI函数映射的可调谐特性压缩机面向用户的参数:

财产 范围 映射 单位
预延迟 [0,1] 线性 年代
HighCutFrequency [20000] 日志 赫兹
扩散 [0,1] 线性 没有一个
DecayFactor [0,1] 线性 没有一个
HighFrequencyDamping [0,1] 线性 没有一个
WetDryMix [0,1] 线性 没有一个

算法

全部展开

添加混响算法遵循plate-class混响的拓扑描述[1]和基于一个29761 Hz的采样率。

该算法有五个阶段。

接下来的描述算法是立体声输入。mono的输入是一个简化的情况。

引用

[1]Dattorro,乔恩。“效果设计,第1部分:反射镜和其他过滤器。”音频工程协会杂志》上。9卷。45岁的问题,1997年,页660 - 684。

[2]Dattorro,乔恩。”效应设计,第2部分:延迟线调制和合唱。”音频工程协会杂志》上。45卷,10个问题,1997年,页764 - 788。

扩展功能

版本历史

介绍了R2016a

另请参阅