主要内容gydF4y2Ba

acousticRoughnessgydF4y2Ba

声信号的感知粗糙度gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

粗糙度gydF4y2Ba= acousticRoughness (gydF4y2BaaudioIngydF4y2Ba,gydF4y2BafsgydF4y2Ba)gydF4y2Ba返回粗糙度强度在aspers基于ZwickergydF4y2Ba[1]gydF4y2BaISO 532-1时变响度gydF4y2Ba[2]gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

粗糙度gydF4y2Ba= acousticRoughness (gydF4y2BaaudioIngydF4y2Ba,gydF4y2BafsgydF4y2Ba,gydF4y2BacalibrationFactorgydF4y2Ba)gydF4y2Ba指定用于计算响度的非默认麦克风校准因子。gydF4y2Ba

例子gydF4y2Ba

粗糙度gydF4y2Ba= acousticRoughness (gydF4y2BaspecificLoudnessIngydF4y2Ba)gydF4y2Ba使用高分辨率时变特定响度计算粗糙度。gydF4y2Ba

例子gydF4y2Ba

粗糙度gydF4y2Ba= acousticRoughness (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用一个或多个名称、值对参数指定选项。例如,gydF4y2Ba粗糙度= acousticRoughness (audioIn、fs“SoundField”,“扩散”)gydF4y2Ba假设一个扩散声场返回粗糙度。gydF4y2Ba

[gydF4y2Ba粗糙度gydF4y2Ba,gydF4y2BaspecificRoughnessgydF4y2Ba) = acousticRoughness (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba还返回特定的粗糙度强度。gydF4y2Ba

[gydF4y2Ba粗糙度gydF4y2Ba,gydF4y2BaspecificRoughnessgydF4y2Ba,gydF4y2Ba在你gydF4y2Ba) = acousticRoughness (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba还返回算法检测到的主导调制频率。gydF4y2Ba

例子gydF4y2Ba

acousticRoughness (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba没有输出参数时,绘制粗糙度强度和特定的粗糙度强度,并以文本形式显示调制频率。如果gydF4y2BaaudioIngydF4y2Ba是立体的,3-D图显示两个通道的和。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

声学粗糙度的测量基于gydF4y2Ba[1]gydF4y2BaISO 532 - 1gydF4y2Ba[2]gydF4y2Ba.假设自由场参考压力为20微帕斯卡,并进行记录电平校准,使1 kHz的音调在声压级计上登记为100 dB。gydF4y2Ba

读取立体声音频文件,并转换为单声道。gydF4y2Ba

[audioInStereo, fs] = audioread (gydF4y2Ba“Engine-16-44p1-stereo-20sec.wav”gydF4y2Ba);audioIn = (audiostereo (:,1) + audiostereo (:,2)) / 2;gydF4y2Ba

计算单声道音频信号的声学粗糙度并显示平均值。gydF4y2Ba

粗糙度= acousticRoughness (audioIn, fs);meanRoughness =意味着(粗糙度);displayOutput = [gydF4y2Ba计算的声学粗糙度平均值为gydF4y2Banum2str (meanRoughness),gydF4y2Ba“胪列其它”。gydF4y2Ba];disp (displayOutput)gydF4y2Ba
声学粗糙度的平均计算值为0.13358 aspers。gydF4y2Ba

参考文献gydF4y2Ba

Zwicker, Eberhard和Hugo Fastl。gydF4y2Ba心理声学:事实与模型gydF4y2Ba.卷。22。施普林格科学与商业媒体,2013。gydF4y2Ba

[2] ISO 532 - 1:2017 (E)。声学。响度计算方法。第1部分:兹威克法gydF4y2Ba国际标准化组织gydF4y2Ba.gydF4y2Ba

如图所示进行一个实验。gydF4y2Ba

创建一个gydF4y2BaaudioDeviceReadergydF4y2Ba对象从麦克风和一个gydF4y2BaaudioDeviceWritergydF4y2Ba我反对给你的发言人写信。gydF4y2Ba

fs = 48 e3;deviceReader = audioDeviceReader (fs,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 2048);deviceWriter = audioDeviceWriter (fs);gydF4y2Ba

创建一个gydF4y2BaaudioOscillatorgydF4y2Ba对象产生1 kHz的正弦信号。gydF4y2Ba

osc = audioOscillator (gydF4y2Ba“正弦”gydF4y2Ba1 e3,gydF4y2Ba“SampleRate”gydF4y2Bafs,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 2048);gydF4y2Ba

创建一个gydF4y2Badsp。AsyncBuffergydF4y2Ba对象以缓冲从麦克风获取的数据。gydF4y2Ba

大调的= 5;浅黄色= dsp.AsyncBuffer(大调的* fs);gydF4y2Ba

用5秒钟,通过扬声器播放正弦信号,并用麦克风录音。当音频流时,注意您的声压计报告的响度。一旦完成,读取缓冲区对象的内容。gydF4y2Ba

numFrames =大调的* (fs / osc.SamplesPerFrame);gydF4y2Ba为gydF4y2Baii = 1:numFrames audioOut = osc();deviceWriter (audioOut);audioIn = deviceReader ();写(浅黄色,audioIn);gydF4y2Ba结束gydF4y2BaSPLreading = 69.7;micRecording =阅读(浅黄色);gydF4y2Ba

要计算麦克风的校准系数,请使用gydF4y2BacalibrateMicrophonegydF4y2Ba函数。gydF4y2Ba

calibrationFactor = calibrateMicrophone (micRecording (fs + 1:结束),deviceReader.SampleRate, SPLreading);gydF4y2Ba

您现在可以使用您确定的校准因子来测量通过同一麦克风录音链获得的任何声音的粗糙度。gydF4y2Ba

再次进行实验,在40 Hz下添加100%的振幅调制。要产生调制信号,请使用gydF4y2BaaudioOscillatorgydF4y2Ba物体,并指定振幅为gydF4y2Ba0.5gydF4y2Ba和直流偏置为gydF4y2Ba0.5gydF4y2Ba在0和1之间振荡。gydF4y2Ba

mod = audioOscillator (gydF4y2Ba“正弦”gydF4y2Ba现年40岁的gydF4y2Ba“SampleRate”gydF4y2Bafs,gydF4y2Ba...gydF4y2Ba“振幅”gydF4y2Ba, 0.5,gydF4y2Ba“DCOffset”gydF4y2Ba, 0.5,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 2048);大调的= 5;浅黄色= dsp.AsyncBuffer(大调的* fs);numFrames =大调的* (fs / osc.SamplesPerFrame);gydF4y2Ba为gydF4y2Baii = 1:numFrames audioOut = osc().*mod();deviceWriter (audioOut);audioIn = deviceReader ();写(浅黄色,audioIn);gydF4y2Ba结束gydF4y2BamicRecording =阅读(浅黄色);gydF4y2Ba

调用gydF4y2BaacousticRoughness函数gydF4y2Ba具有麦克风记录、采样率和校准因子。报告的粗糙度gydF4y2BaacousticRoughnessgydF4y2Ba使用ISO 532-1规定的真实声学响度测量。在5秒内显示平均粗糙度强度,绘制粗糙度和具体粗糙度。gydF4y2Ba

粗糙度= acousticRoughness (micRecording deviceReader.SampleRate calibrationFactor);流(gydF4y2Ba'平均粗糙度= %d (asper)'gydF4y2Ba,意味着(粗糙度(2001:最终,:)))gydF4y2Ba
平均粗糙度= 4.992723e-01 (asper)gydF4y2Ba
acousticRoughness (micRecording deviceReader.SampleRate calibrationFactor)gydF4y2Ba

读入音频文件。gydF4y2Ba

[audioIn, fs] = audioread (gydF4y2Ba“Engine-16-44p1-stereo-20sec.wav”gydF4y2Ba);gydF4y2Ba

调用gydF4y2BaacousticLoudnessgydF4y2Ba函数使用高时间分辨率来计算特定的响度。gydF4y2Ba

[~, specificLoudnessHD] = acousticLoudness (audioIn fs,gydF4y2Ba“TimeVarying”gydF4y2Ba,真的,gydF4y2Ba“TimeResolution”gydF4y2Ba,gydF4y2Ba“高”gydF4y2Ba);gydF4y2Ba

调用gydF4y2BaacousticSharpnessgydF4y2Ba函数使用标准分辨率特定的响度,没有任何输出参数来绘制声音清晰度。gydF4y2Ba

specificLoudness = specificLoudnessHD (1:4:,:,);acousticSharpness (specificLoudnessgydF4y2Ba“TimeVarying”gydF4y2Ba,真正的)gydF4y2Ba

图中包含一个轴对象。标题为“时变锐度”(din45692)的轴对象包含2个类型线对象。这些对象表示通道1和通道2。gydF4y2Ba

调用gydF4y2BaacousticRoughnessgydF4y2Ba没有任何输出来绘制声学粗糙度。gydF4y2Ba

acousticRoughness (specificLoudnessHD)gydF4y2Ba

图中包含2个轴对象和另一个subplottext类型的对象。轴对象1与标题f M o d blank =空白{空白4 9。9、《我爱你》包含2个类型为line的对象。这些对象表示通道1和通道2。axis对象2包含一个类型为surface的对象。gydF4y2Ba

在调制频率为200hz时,产生中心频率为1500hz,频率偏差约为700hz的纯音。gydF4y2Ba

fs = 48 e3;你=gydF4y2Ba200gydF4y2Ba;大调的=gydF4y2Ba5gydF4y2Ba;numSamples = f大调的*;t = (0: numSamples-1) / fs;语气=罪(2 *π* t *作用)';fc =gydF4y2Ba1500gydF4y2Ba;excursionRatio =gydF4y2Ba0.47gydF4y2Ba;游览= 2 *π* (fc * excursionRatio / fs);audioIn =调节(语气,fc、fs、gydF4y2Ba“调频”gydF4y2Ba,游览);gydF4y2Ba

听音频并绘制前10毫秒的声谱图。gydF4y2Ba

声音(audioIn fs)谱图(audioIn (1:0.01 * fs),损害(64年gydF4y2Ba“周期”gydF4y2Bafs), 63年,1024年,gydF4y2Ba“桠溪”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个image类型的对象。gydF4y2Ba

调用gydF4y2BaacousticRoughnessgydF4y2Ba函数没有输出参数,用于绘制声粗糙度强度。gydF4y2Ba

acousticRoughness (audioIn fs);gydF4y2Ba

图中包含2个轴对象和另一个subplottext类型的对象。轴对象1与标题f M o d blank = blank 2 0 0。0空白的hz包含一个类型为line的对象。axis对象2包含一个类型为surface的对象。gydF4y2Ba

的gydF4y2BaacousticRoughnessgydF4y2Ba命令功能用于指定已知的粗糙度频率。如果您没有指定一个已知的粗糙度频率,该函数自动检测粗糙度。gydF4y2Ba

创建一个gydF4y2Badsp。AudioFileReadergydF4y2Ba对象以逐帧读取音频信号。创建一个gydF4y2BaaudioOscillatorgydF4y2Ba对象来创建调制波。将调制波应用于音频文件。gydF4y2Ba

fileReader = dsp。AudioFileReader (gydF4y2Ba“Engine-16-44p1-stereo-20sec.wav”gydF4y2Ba);你=gydF4y2Ba72.41gydF4y2Ba;振幅=gydF4y2Ba0.5gydF4y2Ba;osc = audioOscillator (gydF4y2Ba的正弦gydF4y2Ba作用,gydF4y2Ba...gydF4y2Ba“DCOffset”gydF4y2Ba, 0.5,gydF4y2Ba...gydF4y2Ba“振幅”gydF4y2Ba振幅,gydF4y2Ba...gydF4y2Ba“SampleRate”gydF4y2Ba, fileReader。SampleRate,gydF4y2Ba...gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, fileReader.SamplesPerFrame);testSignal = [];gydF4y2Ba而gydF4y2Ba~isDone(fileReader) x = fileReader();testSignal = [testSignal; osc()。* fileReader ()];gydF4y2Ba结束gydF4y2Ba

听2秒的测试信号并绘制其波形。gydF4y2Ba

samplesToView = 1:2 * fileReader.SampleRate;声音(testSignal (samplesToView:), fileReader.SampleRate);情节(samplesToView / fileReader.SampleRate testSignal (samplesToView,:))包含(gydF4y2Ba“时间(s)”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。轴对象包含两个类型为line的对象。gydF4y2Ba

绘制声学粗糙度。检测到的调制频率以文本形式显示。gydF4y2Ba

acousticRoughness (testSignal fileReader.SampleRate);gydF4y2Ba

图中包含2个轴对象和另一个subplottext类型的对象。轴对象1与标题f M o d blank =空白{空白7 2。4、《雷神3:诸神之战》包含2个类型为line的对象。这些对象表示通道1和通道2。axis对象2包含一个类型为surface的对象。gydF4y2Ba

指定已知的调制频率,然后再次绘制声粗糙度图。gydF4y2Ba

acousticRoughness (testSignal fileReader。SampleRate,gydF4y2Ba“ModulationFrequency”gydF4y2Ba,在你)gydF4y2Ba

图中包含2个轴对象和另一个subplottext类型的对象。轴对象1与标题f M o d blank =空白{空白7 2。4、《雷神3:诸神之战》包含2个类型为line的对象。这些对象表示通道1和通道2。axis对象2包含一个类型为surface的对象。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

音频输入,指定为列向量(单声道)或两列矩阵(立体声)。gydF4y2Ba

提示gydF4y2Ba

要测量给定任何调制频率的粗糙度强度,建议的最小信号持续时间为0.5秒。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

采样率(Hz),指定为正标量。新录音的推荐采样率为48 kHz。gydF4y2Ba

请注意gydF4y2Ba

最小可接受的采样率是8千赫。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

传声器校准因子,指定为正标量。默认的校准因子对应于1 kHz正弦波,声压级为100 dB (SPL)。要计算特定于您的系统的校准因子,请使用gydF4y2BacalibrateMicrophonegydF4y2Ba函数。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

在声/吠中特定的响度,指定为agydF4y2BaTgydF4y2Ba由- - - - - - - 240gydF4y2BaCgydF4y2Ba数组,地点:gydF4y2Ba

  • TgydF4y2Ba为每0.5 ms的时变信号1(高分辨率响度)。gydF4y2Ba

  • 240是特定响度域内Bark bins的数量。树皮箱gydF4y2Ba0.1:0.1:24gydF4y2Ba.gydF4y2Ba

  • CgydF4y2Ba为通道的数量。gydF4y2Ba

你可以使用gydF4y2BaacousticLoudnessgydF4y2Ba函数使用此语法计算时变的特定响度。gydF4y2Ba

[~, specificLoudness] = acousticLoudness (audioIn fs,gydF4y2Ba“TimeVarying”gydF4y2Ba,真的,gydF4y2Ba“TimeResolution”gydF4y2Ba,gydF4y2Ba“高”gydF4y2Ba);gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

名称-值参数gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba为对应值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2BaacousticRoughness (fs, audioIn ModulationFrequency, 100)gydF4y2Ba

已知调制频率Hz,指定为逗号分隔对组成gydF4y2Ba“ModulationFrequency”gydF4y2Ba以及值在该范围内的标量或二元素向量gydF4y2Ba[1000]gydF4y2Ba.gydF4y2Ba

集gydF4y2BaModulationFrequencygydF4y2Ba:gydF4y2Ba

  • “自动检测”gydF4y2Ba当需要调制频率自动检测功能时。当您选择此选项时,功能将搜索范围限制在10到400hz之间。gydF4y2Ba

  • 如果输入是单声道,则为标量。gydF4y2Ba

  • 如果输入是立体的,则为标量或二元素向量。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

录音的声音字段,指定为逗号分隔的对gydF4y2Ba“SoundField”gydF4y2Ba和gydF4y2Ba“免费”gydF4y2Ba或gydF4y2Ba“扩散”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

用于dB计算的参考压力帕斯卡,指定为逗号分隔的对gydF4y2Ba“PressureReference”gydF4y2Ba一个正标量。默认值为20微帕斯卡,为空气的通用值。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

粗柏木的粗糙度强度,返回为gydF4y2BaKgydF4y2Ba-乘1列向量gydF4y2BaKgydF4y2Ba独立通道的- × 2矩阵。gydF4y2BaKgydF4y2Ba对应于时间维度。gydF4y2Ba

请注意gydF4y2Ba

每个通道的粗糙度以每0.5毫秒的间隔独立报告。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

柏木/树皮的比粗糙度强度,返回为gydF4y2BaKgydF4y2Ba- × 47矩阵gydF4y2BaKgydF4y2Ba-by-47-by-2数组。的第一个维度gydF4y2BaspecificRoughnessgydF4y2Ba,gydF4y2BaKgydF4y2Ba,对应于时间维度,并与的第一个维度相匹配gydF4y2Ba粗糙度gydF4y2Ba.第二个维度gydF4y2BaspecificRoughnessgydF4y2Ba, 47,对应于Bark尺度上的波段,中心在[0.5,23.5]范围内,增量为0.5。第三维度gydF4y2BaspecificRoughnessgydF4y2Ba对应于通道的数量,并匹配的第二个维度gydF4y2Ba粗糙度gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

以Hz为单位的主导调制频率,对于单声道输入返回为标量,对于立体声输入返回为1 × 2向量。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

算法gydF4y2Ba

声学粗糙度强度是对振幅或频率调制的感知测量,这些调制太高而无法单独识别。声响度算法描述在gydF4y2Ba[2]gydF4y2Ba并在gydF4y2BaacousticLoudnessgydF4y2Ba函数。声学粗糙度的计算描述在gydF4y2Ba[1]gydF4y2Ba.声学粗糙度的算法定义1 asper的粗糙度为1 kHz的音调,在60 dB,在70 Hz的幅度调制为100%gydF4y2Ba[3]gydF4y2Ba.算法概述如下:gydF4y2Ba

rgydF4y2Ba ogydF4y2Ba ugydF4y2Ba ggydF4y2Ba hgydF4y2Ba ngydF4y2Ba egydF4y2Ba 年代gydF4y2Ba 年代gydF4y2Ba =gydF4y2Ba cgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ∫gydF4y2Ba zgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 24gydF4y2Ba fgydF4y2Ba 国防部gydF4y2Ba ΔgydF4y2Ba lgydF4y2Ba dgydF4y2Ba zgydF4y2Ba

在哪里gydF4y2BafgydF4y2Ba国防部gydF4y2Ba为检测到的或已知的调制频率,gydF4y2Ba卡尔gydF4y2Ba是保证参考信号的统一粗糙度的常数,ΔgydF4y2BalgydF4y2Ba为感知的调制深度。如果呼叫时未指定调制频率gydF4y2BaacousticRoughnessgydF4y2Ba,它是通过拾取声音响度的频域表示的峰值来自动检测的。感知的调制深度ΔgydF4y2BalgydF4y2Ba是通过通过校正的特定响度频带通过围绕gydF4y2BafgydF4y2Ba国防部gydF4y2Ba,然后用低通滤波器来确定包络线。gydF4y2Ba

参考文献gydF4y2Ba

Zwicker, Eberhard和Hugo Fastl。gydF4y2Ba心理声学:事实与模型gydF4y2Ba.卷。22。施普林格科学与商业媒体,2013。gydF4y2Ba

[2] ISO 532 - 1:2017 (E)。声学。响度计算方法。第1部分:兹威克法gydF4y2Ba国际标准化组织gydF4y2Ba.gydF4y2Ba

[3] Kalafata Stamatina。重症监护病房的声级、噪声源识别和知觉分析。硕士论文,哥德堡大学,2014。gydF4y2Ba

扩展功能gydF4y2Ba

介绍了R2021agydF4y2Ba