addAugmentationMethod
语法
描述
addAugmentationMethod (
添加一个自定义增强算法8月
,algorithmName
,algorithmHandle
)audioDataAugmenter
对象。
addAugmentationMethod (
使用一个或多个指定选项8月
,algorithmName
,algorithmHandle
,名称,值
)名称,值
对参数。
例子
添加自定义增强方法
您可以扩展的功能audioDataAugmenter
通过添加自定义增强方法。
读入一个音频信号,听它。
[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);声音(audioIn fs)
创建一个audioDataAugmenter
对象。设置应用白噪声的概率0
。
增量= audioDataAugmenter (“AddNoiseProbability”,0)
增量= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 1 TimeStretchProbability: 0.5000 SpeedupFactorRange: [0.8000 - 1.2000] PitchShiftProbability: 0.5000 SemitoneShiftRange: [2 2] VolumeControlProbability: 0.5000 VolumeGainRange: 3 [3] AddNoiseProbability: 0 TimeShiftProbability: 0.5000 TimeShiftRange: [-0.0050 - 0.0050]
指定一个自定义的扩展算法,适用于粉红噪声。的AddPinkNoise
算法被添加到增压器
属性。
algorithmName =“AddPinkNoise”;algorithmHandle = @ (x) x + pinknoise(大小(x),“喜欢”,x);addAugmentationMethod(增压器、algorithmName algorithmHandle)增压器
增量= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 1 TimeStretchProbability: 0.5000 SpeedupFactorRange: [0.8000 - 1.2000] PitchShiftProbability: 0.5000 SemitoneShiftRange: [2 2] VolumeControlProbability: 0.5000 VolumeGainRange: 3 [3] AddNoiseProbability: 0 TimeShiftProbability: 0.5000 TimeShiftRange: [-0.0050 - 0.0050] AddPinkNoiseProbability: 0.5000
设置添加粉红噪声的概率1
。
增压器。添加PinkNoiseProbability = 1
增量= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 1 TimeStretchProbability: 0.5000 SpeedupFactorRange: [0.8000 - 1.2000] PitchShiftProbability: 0.5000 SemitoneShiftRange: [2 2] VolumeControlProbability: 0.5000 VolumeGainRange: 3 [3] AddNoiseProbability: 0 TimeShiftProbability: 0.5000 TimeShiftRange: [-0.0050 - 0.0050] AddPinkNoiseProbability: 1
增加原始信号,听结果。检查参数的增强算法。
data =增加(增压器、audioIn fs);声音(data.Audio {1}, fs) data.AugmentationInfo (1)
ans =结构体字段:SpeedupFactor: 1 SemitoneShift: 0 VolumeGain: 2.4803 TimeShift: -0.0022 AddPinkNoise:“应用”
情节的梅尔·色和增强信号。
melSpectrogram (audioIn fs)标题(原始信号的)
melSpectrogram (data.Audio {1}, fs)标题(增强信号的)
指定自定义增强方法的参数
在本例中,您添加一个自定义的扩展方法,中值滤波适用于你的音频。
读入一个音频信号,听它。
[audioIn, fs] = audioread (“Counting-16-44p1-mono-15secs.wav”);声音(audioIn fs)
创建一个随机序列增量增加噪声的信噪比范围5 dB 10 dB。集的概率应用音量控制,时间延伸,音高变化和时间变化0
。集NumAugmentations
来4
创建4个单独的扩增。
8月= audioDataAugmenter (“NumAugmentations”4…“AddNoiseProbability”,1…“SNRRange”,5,10,…“VolumeControlProbability”0,…“TimeStretchProbability”0,…“TimeShiftProbability”0,…“PitchShiftProbability”,0)
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 4 TimeStretchProbability: 0 PitchShiftProbability: 0 VolumeControlProbability: 0 AddNoiseProbability: 1 SNRRange: 10 [5] TimeShiftProbability: 0
调用addAugmentationMethod
用一种算法名称和函数处理。指定算法名称MedianFilter
和函数处理movmedian
转换窗口长度。增加添加的属性audioDataAugmenter
对象。
algorithmName =“MedianFilter”;algorithmHandle = @ (x) (movmedian (x, 100));addAugmentationMethod(8月,algorithmName algorithmHandle) 8月
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 4 TimeStretchProbability: 0 PitchShiftProbability: 0 VolumeControlProbability: 0 AddNoiseProbability: 1 SNRRange: 10 [5] TimeShiftProbability: 0 MedianFilterProbability: 0.5000
设置应用中值滤波的概率为80%。
aug.MedianFilterProbability = 0.8
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 4 TimeStretchProbability: 0 PitchShiftProbability: 0 VolumeControlProbability: 0 AddNoiseProbability: 1 SNRRange: 10 [5] TimeShiftProbability: 0 MedianFilterProbability: 0.8000
调用增加
在音频创建4对应。
data =增加(8月,audioIn fs);
你可以检查每个增加使用的参数配置AugmentationInfo
表变量。如果申请增加中值滤波,然后AugmentationInfo
列出了参数“应用”
。如果没有申请中值滤波,然后AugmentationInfo
列出了参数“绕过”
。
augmentationToInspect =2;data.AugmentationInfo (augmentationToInspect)
ans =结构体字段:信噪比:9.5787 MedianFilter:‘应用’
你检查听音频。绘制原始和增强信号的时域表示。
增加= data.Audio {augmentationToInspect};声音(增大,fs) t =(0:(元素个数(audioIn) 1)) / fs;taug =(0:(元素个数(增加)1))/ fs;情节(t, audioIn taug增大)传说(“原始音频”,“增强音频”)ylabel (“振幅”)包含(“时间(s)”)
您可以指定额外的参数和相应的参数范围(当使用AugmentationParameterSource
设置为“随机的
)和参数值(当使用AugmentationParameterSource
设置为“指定的
)。您必须指定其他参数,参数范围和参数值在你的电话addAugmentationMethod
。
调用removeAugmentationMethod
删除MedianFilter
增强方法。调用addAugmentationMethod
再一次,这一次指定一个增加参数,参数范围和参数值。增加和参数范围添加到你的属性audioDataAugmenter
对象。
removeAugmentationMethod(8月,“MedianFilter”)algorithmName =“MedianFilter”;augmentationParameter =“MedianFilterWindowLength”;parameterRange = [1200];parameterValue = 100;algorithmHandle = @ (x, k) (movmedian (x, k));addAugmentationMethod(8月algorithmName algorithmHandle,…“AugmentationParameter”augmentationParameter,…“ParameterRange”parameterRange,…“ParameterValue”8月,parameterValue)
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 4 TimeStretchProbability: 0 PitchShiftProbability: 0 VolumeControlProbability: 0 AddNoiseProbability: 1 SNRRange: 10 [5] TimeShiftProbability: 0 MedianFilterProbability: 0.5000 MedianFilterWindowLengthRange: [200]
在当前增加管道配置,参数值不适用。ParameterValue
适用时,AugmetnationParameterSource
设置为“指定的
。集AugmentationParameterSource
“指定的
使当前参数值。
aug.AugmentationParameterSource =“指定”
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“指定”ApplyTimeStretch: 1 SpeedupFactor: 0.8000 ApplyPitchShift: 1 SemitoneShift: 3 ApplyVolumeControl: 1 VolumeGain: 3 ApplyAddNoise: 1信噪比:5 ApplyTimeShift: 1 TimeShift: 0.0050 ApplyMedianFilter: 1 MedianFilterWindowLength: 100
集AugmentationParameterSource
来随机
然后调用增加
。
aug.AugmentationParameterSource =“随机”;data =增加(8月,audioIn fs);
如果申请增加中值滤波,然后AugmentationInfo
列出了应用价值。
augmentationToInspect =3;data.AugmentationInfo (augmentationToInspect)
ans =结构体字段:信噪比:8.7701 MedianFilter: 117.9847
你检查听音频。绘制原始和增强信号的时域表示。
增加= data.Audio {augmentationToInspect};声音(增大,fs) t =(0:(元素个数(audioIn) 1)) / fs;taug =(0:(元素个数(增加)1))/ fs;情节(t, audioIn taug增大)传说(“原始音频”,“增强音频”)ylabel (“振幅”)包含(“时间(s)”)
指定多个参数的自定义增强方法
读入一个音频信号,听它。
[audioIn, fs] = audioread (“RockDrums-44p1-stereo-11secs.mp3”);声音(audioIn fs)
创建和audioDataAugmenter
对象输出5对应。设置AddNoiseProbability
来0
。
8月= audioDataAugmenter (“NumAugmentations”5,“AddNoiseProbability”,0);
添加混响作为自定义增强算法。的applyReverb
函数创建一个反射器
对象,更新采样率、pre-delay和干/湿结构表示,然后应用混响。以减少计算开销,反射器对象是持久的。对象在每次调用重置以避免混合音频文件之间的混响的尾巴。
类型applyReverb.m
函数audioOut = applyReverb(音频、预延迟wetDryMix sampleRate)持久reverbObject如果isempty (reverbObject) reverbObject =反射镜;reverbObject结束。SampleRate = SampleRate;reverbObject。预延迟=预延迟;reverbObject。WetDryMix = WetDryMix;audioOut = reverbObject(音频);重置(reverbObject)结束
添加applyReverb
作为一个自定义增强方法。为一个自定义指定多个参数方法,指定参数,参数范围和参数值与相同数量的细胞细胞阵列。设置应用混响的概率1
。
algorithmName =混响的;algorithmHandle = @ (x,预延迟,weDryMix) applyReverb (x,预延迟、weDryMix fs);参数= {“预延迟”,“WetDryMix”};parameterRanges = {[0, 1], [0, 1]};parameterValues = {0, 0.3};addAugmentationMethod(8月algorithmName algorithmHandle,…“AugmentationParameter”、参数…“ParameterRange”parameterRanges,…“ParameterValue”parameterValues) aug.ReverbProbability = 1
8月= audioDataAugmenter属性:AugmentationMode:“顺序”AugmentationParameterSource:“随机”NumAugmentations: 5 TimeStretchProbability: 0.5000 SpeedupFactorRange: [0.8000 - 1.2000] PitchShiftProbability: 0.5000 SemitoneShiftRange: [2 2] VolumeControlProbability: 0.5000 VolumeGainRange: 3 [3] AddNoiseProbability: 0 TimeShiftProbability: 0.5000 TimeShiftRange: [-0.0050 - 0.0050] ReverbProbability: 1 PreDelayRange: [0 1] WetDryMixRange: [0 1]
调用增加
创建5对应。
data =增加(8月,audioIn fs);
检查每个增加的配置使用AugmentationInfo
。
augmentationToInspect =1;data.AugmentationInfo (augmentationToInspect)
ans =结构体字段:SpeedupFactor: 1 SemitoneShift: -1.4325 VolumeGain: 0 TimeShift: 0混响:[0.2760 - 0.4984]
你检查听音频。绘制原始和增强信号的时域表示。
增加= data.Audio {augmentationToInspect};声音(增大,fs) t =(0:(大小(audioIn, 1) 1)) / fs;taug =(0:(大小(1,1)))/ fs;情节(t, audioIn (: 1), taug,增大(:1)传说(“原始音频”,“增强音频”)ylabel (“振幅”)包含(“时间(s)”)
输入参数
8月
- - - - - -音频数据增量
audioDataAugmenter
对象
algorithmName
- - - - - -算法名称
特征向量|字符串
算法名称,指定为一个字符或字符串向量。algorithmName
必须是一个独特的属性名的audioDataAugmenter
,8月
。
数据类型:字符
|字符串
algorithmHandle
- - - - - -处理函数实现自定义增强算法
function_handle
处理函数实现自定义增强算法,作为指定function_handle
。
数据类型:function_handle
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:,“AugmentationParameter预延迟的
AugmentationParameter
- - - - - -增加参数
特征向量|字符串|单元阵列的特征向量|单元阵列的字符串
增加参数,指定为一个特征向量,字符串,单元阵列的特征向量,或细胞的字符串数组。
使用单元格数组创建多个增强参数。如果你创建多个增加参数,您还必须指定ParameterRange
和ParameterValue
作为每个增加的细胞阵列包含信息参数。
例子:“AugmentationParameter”、“预延迟的
例子:AugmentationParameter,{“预延迟”、“HighCutFrequency”}
数据类型:字符
|字符串
ParameterRange
- - - - - -参数范围
[0,1]
(默认)|双元素向量不减少的值|细胞双元素向量不减少的值的数组
参数范围,指定为一个双元素向量不减少的值(对于一个参数)或双元素向量的单元阵列不减少的值(多个参数)。
例子:“ParameterRange”, [0, 1]
例子:ParameterRange, {[0,1], [20000]}
依赖关系
要启用这个特性,设置AugmentationParameterSource
你的属性audioDataAugmenter
对象“随机”
。
数据类型:单
|双
|细胞
ParameterValue
- - - - - -参数值
0
(默认)|标量|向量|单元阵列的标量或矢量
参数值,指定为一个标量,矢量,或单元阵列的标量或矢量。
例子:“ParameterValue”, 0
例子:“ParameterValue”, (0、0.5、1)
例子:ParameterValue, {0, 20000}
例子:ParameterValue, {[0、0.5、1], 20000}
依赖关系
要启用这个特性,设置AugmentationParameterSource
你的属性audioDataAugmenter
来“指定”
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
复数的支持:金宝app是的
版本历史
介绍了R2019b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。