声信号的响度
指定一个默认的麦克风校准系数用于计算响度。响度
= acousticLoudness (audioIn
,fs
,calibrationFactor
)
(
还返回特定的响度。响度
,specificLoudness
)= acousticLoudness (___)
(
也回报百分比响度。响度
,specificLoudness
,全氯乙烯
)= acousticLoudness (___“TimeVarying”,真的)
(
指定要返回默认的百分位数。响度
,specificLoudness
,全氯乙烯
)= acousticLoudness (___,“TimeVarying”
,真的,百分位数的
,p)
acousticLoudness (___)
没有输出参数的具体情节响度和响度文本显示。如果TimeVarying
是真正的
响度和特定的响度都绘制,后者在3 d。
测量ISO 532 - 1固定声波测井响度。假设被校准的记录水平1 kHz语气寄存器SPL计为100分贝。
[audioIn, fs] = audioread (“WashingMachine-16-44p1-stereo-10secs.wav”);响度= acousticLoudness (audioIn fs)
响度=1×228.2688 - 27.7643
创建两个固定信号等效功率:粉红噪声信号和白噪声信号。
fs = 48 e3;大调的= 5;pnoise = 2 * pinknoise(大调的* fs);wnoise =兰德(大调的* fs, 1) - 0.5;wnoise = wnoise * sqrt (var (pnoise) / var (wnoise));
调用acousticLoudness
使用默认的ISO 532 - 1(茨威格)方法和输出参数的响度粉红噪声的阴谋。调用acousticLoudness
再一次,这一次与输出参数,得到具体的响度。
图acousticLoudness (pnoise fs)
[~,pSpecificLoudness] = acousticLoudness (pnoise fs);
情节的响度白噪声信号,然后得到特定的响度值。
图acousticLoudness (wnoise fs)
[~,wSpecificLoudness] = acousticLoudness (wnoise fs);
调用acousticSharpness
功能比较的清晰度粉红噪声和白噪声。
pSharpness = acousticSharpness (pSpecificLoudness);wSharpness = acousticSharpness (wSpecificLoudness);流(粉红噪声的锐度= % 0.2 f acum \ n 'pSharpness)
粉红噪声锐度= 2.00 acum
流(白噪声的锐度= % 0.2 f acum \ n 'wSharpness)
白噪声锐度= 2.62 acum
读入一个音频文件。
[audioIn, fs] = audioread (“JetAirplane-16-11p025-mono-16secs.wav”);
画出时变声音响度依照ISO 532 - 1和百分位数。听音频信号。
acousticLoudness (audioIn fs,“SoundField”,“扩散”,“TimeVarying”,真正的)
声音(audioIn fs)
调用acousticLoudness
的输入和百分位数。打印Nmax和它们被百分位数。的Nmax百分位是最大响度报道。的它们被百分位是下面的音量响度报道的95%。
[~,~,perc] = acousticLoudness (audioIn fs,“SoundField”,“扩散”,“TimeVarying”,真正的);流(“马克斯响度= % 0.2 f索恩斯\ n '全氯乙烯(1))
马克斯响度= 89.48索恩斯
流(“它们响度= % 0.2 f索恩斯\ n '全氯乙烯(2))
它们被响度= 81.77索恩斯
读入一个音频文件。
[audioIn, fs] = audioread (“Turbine-16-44p1-mono-22secs.wav”);
调用acousticLoudness
没有输出参数绘制具体的响度。假设一个校正因子为0.15,一个参考21 micropascals的压力。确定校正因子特定于您的音频系统,使用calibrateMicrophone
函数。
calibrationFactor = 0.15;refPressure = 21 e-6;calibrationFactor acousticLoudness (audioIn fs,“PressureReference”refPressure)
acousticLoudness
使您能够指定一个中间表示,声压水平,而不是一个时域输入。这使您能够重用中间SPL计算。另一个优势是,如果你的身体SPL计不报告响度根据ISO 532 - 1或ISO 531 - 2中,您可以使用期限1/3-octave兼容标准响度计算报告。
计算声压水平从音频信号,首先创建一个splMeter
对象。调用splMeter
对象与音频输入。
spl = splMeter (“SampleRate”fs,“带宽”,“1/3倍频程”,…“CalibrationFactor”calibrationFactor,“PressureReference”refPressure,…“FrequencyWeighting”,“Z-weighting”,“OctaveFilterOrder”6);splMeasurement = spl (audioIn);
计算平均SPL面,跳过第一个0.2秒。只有保持乐队从25 Hz至12.5千赫(第一28乐队)。
SPLIn =意味着(splMeasurement(装天花板(0.2 * fs):最后,一28));
使用SPL输入,调用acousticLoudness
没有输出参数绘制具体的响度。
acousticLoudness (SPLIn)
建立一个实验显示的图。
创建一个audioDeviceReader
从麦克风和读取一个对象audioDeviceWriter
对象编写你的扬声器。
fs = 48 e3;deviceReader = audioDeviceReader (fs);deviceWriter = audioDeviceWriter (fs);
创建一个audioOscillator
对象来生成一个1 kHz正弦信号。
osc = audioOscillator (“正弦”1 e3,“SampleRate”fs);
创建一个dsp.AsyncBuffer
对象从麦克风获得缓冲数据。
大调的= 5;浅黄色= dsp.AsyncBuffer(大调的* fs);
五秒钟,正弦信号通过你的扬声器和记录使用您的麦克风。音频流的同时,注意报道的响度SPL计。一旦完成,读取缓冲区的内容对象。
numFrames =大调的* (fs / osc.SamplesPerFrame);为2 = 1:numFrames audioOut = osc ();deviceWriter (audioOut);audioIn = deviceReader ();写(浅黄色,audioIn);结束SPLreading = 60.4;micRecording =阅读(浅黄色);
计算校正因子的麦克风,使用calibrateMicrophone
函数。
calibrationFactor = calibrateMicrophone (micRecording deviceReader.SampleRate SPLreading);
调用acousticLoudness
与麦克风录音,采样率和校正因子。响度的报告acousticLoudness
是真正的声音响度测量按照532 - 1。
响度= acousticLoudness (micRecording deviceReader.SampleRate calibrationFactor)
响度= 14.7902
你现在可以使用校准系数确定测量任何声音的响度是通过相同的麦克风录音链。
读入一个音频信号。
[audioIn, fs] = audioread (“TrainWhistle-16-44p1-mono-9secs.wav”);
ISO 532 - 1
确定时变特定响度根据默认的方法(ISO 532 - 1)。
[~,specificLoudness] = acousticLoudness (audioIn fs,“TimeVarying”,真正的);
ISO 532 - 1报告特定响度树皮,树皮垃圾箱在哪里0.1:0.1:24
。把树皮垃圾箱赫兹,然后画出具体的响度赫兹跨越时间。
barkBins = 0.1:0.1:24;hzBins = bark2hz (barkBins);t = 0:2e-3:2e-3 *(大小(specificLoudness, 1) 1);冲浪(t, hzBins总和(specificLoudness 3)”。“EdgeColor”,的插值函数甘氨胆酸)组(,“YScale”,“日志”)视图(90[0])轴紧包含(“时间(s)”)ylabel (的频率(赫兹))colorbar标题(“具体的响度(索恩斯/树皮)”)
ISO 532 - 2
确定固定具体的响度根据Moore-Glasberg方法(ISO 532 - 2)。
[~,specificLoudness] = acousticLoudness (audioIn fs,“方法”,《ISO 532 - 2》);
ISO 532 - 2报告特定的响度ERB规模,ERB垃圾箱在哪里1.8:0.1:38.9
。ERB规模的单位有时被称为凸轮。将ERB垃圾箱赫兹,然后画出具体的响度。
erbBins = 1.8:0.1:38.9;hzBins = erb2hz (erbBins);semilogx (hzBins specificLoudness)包含(的频率(赫兹))ylabel (“响度(索恩斯)”)标题(“具体的响度”网格)在
读入一个音频文件。
[x, fs] = audioread (“WashingMachine-16-44p1-stereo-10secs.wav”);
ISO 532 - 2允许您指定一个定制耳机响应计算响度时。创建一个30-by-2矩阵的第一列是频率和第二列是耳机的偏离平坦响应。
tdh = [0, 80, 100, 200, 500, 574, 660, 758, 871, 1000, 1149, 1320, 1516, 1741, 2000,…2297,2639,3031,3482,4000,4500,5000,5743,6598,7579,8706,10000,12000,16000,20000;…-50年,-15.3,-13.8,-8.1,-0.5,0.4,0.8,0.9,0.5,0.1,-0.8,-1.5,-2.3,-3.2,-3.9,…-4.2,-4.3,-4.3,-3.9,-3.2,-2.3,-1.1,-0.3,2,-5.4,,-12.1,-15.2,-30,-50]。';
计算响度使用ISO 532 - 2。指定SoundField
作为耳机
和耳机响应矩阵您刚刚创建。
acousticLoudness (x, fs,“方法”,《ISO 532 - 2》,“SoundField”,“耳机”,“EarphoneResponse”tdh)
创建一个dsp.AudioFileReader
对象读取音频信号帧。指定一个帧50毫秒时间。这将是你计算静止的响度帧持续时间。
fileReader = dsp.AudioFileReader (“Engine-16-44p1-stereo-20sec.wav”);frameDur = 0.05;fileReader。SamplesPerFrame =圆(fileReader.SampleRate * frameDur);
创建一个audioDeviceWriter
对象编写音频默认输出设备。
deviceWriter = audioDeviceWriter (“SampleRate”,fileReader.SampleRate);
创建一个timescope
随着时间的推移对象显示静止的响度。
范围= timescope (…“SampleRate”1 / frameDur,…“YLabel”,“响度(索恩斯)”,…“ShowGrid”,真的,…“PlotType”,“楼梯”,…“TimeSpanSource”,“属性”,…“时间间隔”,20岁,…“AxesScaling”,“汽车”,…“ShowLegend”,真正的);
在一个循环:
从音频文件读取一帧。
计算帧的静止的响度。
通过你的声音输出设备。
写的响度范围。
而~结束(fileReader) audioIn = fileReader ();响度= acousticLoudness (audioIn fileReader.SampleRate);deviceWriter (audioIn);范围(响度)结束发行版(fileReader)发布(deviceWriter)发布(范围)
audioIn
- - - - - -音频输入音频输入,指定为一个列向量(mono)或矩阵的两列(立体声)。
数据类型:单
|双
fs
- - - - - -采样率(赫兹)采样率在赫兹,指定为一个积极的标量。推荐的新唱片是48千赫采样率。
请注意
最低可接受的抽样率是8 kHz。
数据类型:单
|双
calibrationFactor
- - - - - -麦克风校准系数sqrt (8)
|积极的标量麦克风校准系数,指定为一个积极的标量。默认的校准系数对应于一个全面1 kHz正弦波100分贝声压级的(SPL)。计算校正因子特定于您的系统使用calibrateMicrophone
函数。
数据类型:单
|双
SPLIn
- - - - - -声压级(dB)在分贝声压级(SPL),指定为1-by-28-by -C数组或一个1-by-29-by -C数组,根据方法
:
如果方法
被设置为“ISO 532 - 1”
,指定SPLIn
作为一个1-by-28-by -C数组,28日对应one-third-octave乐队25 Hz之间和12.5 kHz,和C通道的数量。
如果方法
被设置为《ISO 532 - 2》
,指定SPLIn
作为一个1-by-29-by -C数组,29日对应one-third-octave乐队25 Hz - 16赫兹,和C通道的数量。
对于这两种方法,SPL输入应该与平面测量频率加权(Z-weighting)。
数据类型:单
|双
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
acousticLoudness (audioIn fs,“方法”,“ISO 532 - 2”)
TimeVarying
- - - - - -输入时变假
(默认)|真正的
SoundField
- - - - - -声场的录音“免费”
(默认)|“扩散”
|的耳膜
|“耳机”
指定的音频录制、声场特征向量或标量字符串。可能的值SoundField
依赖于方法
:
“ISO 532 - 1”
- - -“免费”
,“扩散”
《ISO 532 - 2》
- - -“免费”
,“扩散”
,的耳膜
,“耳机”
数据类型:字符
|字符串
EarphoneResponse
- - - - - -耳机的反应(0,0)
(默认)|米2矩阵耳机的反应,作为一个指定米2矩阵包含米frequency-amplitude描述耳机的偏离对平坦的响应。中指定的形式是一个ISO 11904 - 1:2002耳机修正文件。指定赫兹的频率在增加订单。指定振幅偏差在分贝。中间值由线性插值计算。给定范围的值设置为最近的frequency-amplitude一对。默认值对应于一个平坦的响应。
指定EarphoneResponse
,你必须设置SoundField
来“耳机”
。
数据类型:单
|双
PressureReference
- - - - - -参考压强(Pa)20 e-6
(默认)|积极的标量参考压力dB计算在帕斯卡,指定为一个积极的标量。默认值,20 micropascals,是空气的共同价值。
PressureReference
只是用于时域输入信号。
数据类型:单
|双
百分位数
- - - - - -百分位数计算百分比响度[0,5]
(默认)|向量和值范围(0,100)百分位数计算百分比响度,指定为一个矢量值的区间[0,100]。默认值,0
和5
,对应于N马克斯和N5百分位数,分别[1]。
百分位响度指的是达到或超过的响度X%的测量时间间隔,X是指定的百分比。
数据类型:单
|双
TimeResolution
- - - - - -输出的时间分辨率“标准”
(默认)|“高”
时间分辨率的输出,指定为一个特征向量或标量字符串。在女士的时间间隔是2“标准”
分辨率,或者0.5毫秒“高”
决议。默认值是“标准”
(符合ISO 532 - 1)。
数据类型:字符
|字符串
响度
——响度(索恩斯)sones响度,作为一个返回K1列向量或K2独立渠道的矩阵。如果TimeVarying
被设置为假
,K等于1
。如果TimeVarying
被设置为真正的
,然后响度计算每2 ms。如果方法
被设置为《ISO 532 - 2》
,然后响度
是用双耳计算模型和总是作为一个返回吗K1列向量。
specificLoudness
——特定的响度全氯乙烯
-百分比响度(索恩斯)sones百分位响度,作为一个返回p1的向量或p2矩阵。的行数,p,等于的数量百分位数
。
百分位响度指的是达到或超过的响度X%的测量时间间隔,X是指定的百分比。
百分位数输出论证是有效的前提TimeVarying
被设置为真正的
。如果TimeVarying
被设置为假
,全氯乙烯
输出是空的。
声音的响度和响度级感知属性。由于人与人之间的差异,测量的响度和响度级应考虑统计估计。ISO 532系列指定程序估计响度和响度级被特定的听力条件下给予人类的正常听力的人。
ISO 532 - 1和ISO 532 - 2为响度计算指定两种不同的方法,但让用户选择适当的方法对于一个给定的情况。
ISO 532 - 1:2017 (E)描述的方法计算声静止和时变信号的响度。
这种方法是基于DIN 45631:1991。方法B算法不同于ISO 532:1975,通过指定对低频率的修正。
图和提供一个高度概括的步骤序列的方法。有关详细信息,请参见[1]。
根据时域信号电平调整CalibrationFactor
。以下步骤算法的假设一个真正的信号电平。
信号转换为1/3倍频程使用SPL表示小数倍频带过滤。滤波器组由28 25 Hz至12.5千赫之间的过滤器。这个阶段的输出是在dB和标准化的参考压力。
低频率的1/3倍频程带根据固定权重表功能被弱化。一些低频的乐队组合起来形成一个乐队共有20至关重要的。
关键乐队的水平修正滤波器带宽和临界乐队水平阈值的安静,然后转化为核心的响度。
核心响度是映射到树皮垃圾箱。
频率传播计算用表级和频率相关的斜坡上。
响度计算积分的具体的响度,考虑到frequency-spreading斜坡。
这种方法是基于DIN 45631 / A1:2010,旨在正确模拟duration-dependent简称响度感知冲动的行为。时变的方法听起来是一个泛化的茨威格固定信号的方法。如果广义版本适用于静止的声音,它给相同的响度值作为固定的non-generalized形式的信号。
图和提供一个高度概括的步骤序列的方法。有关详细信息,请参见[1]。
根据时域信号电平调整CalibrationFactor
。以下步骤算法的假设一个真正的信号电平。
信号转换为1/3倍频程使用SPL表示小数倍频带过滤。滤波器组由28 25 Hz至12.5千赫之间的过滤器。这个阶段的输出是在dB和标准化的参考压力。
SPL乐队一起平滑时间根据band-dependent过滤器。
低频率的1/3倍频程带根据固定权重表功能被弱化。一些低频的乐队组合起来形成一个乐队共有20至关重要的。
关键乐队的水平修正滤波器带宽和临界乐队水平阈值的安静,然后转化为核心的响度。
非线性模拟使用diode-capacitor-resistor网络时间衰变。这个模型陡峭的知觉短信号相比,长信号后下降。
核心响度是映射到树皮垃圾箱。
频率传播计算用表级和频率相关的斜坡上。
时间权重应用于模拟的duration-dependence响度感知。
响度计算积分的具体的响度,考虑到frequency-spreading斜坡。
ISO 532 - 2:2017 (E)描述了一个双耳的声音响度计算模型平稳信号。ISO 523 - 2中的方法不同于那些在ISO 532:1975:它提高了在低频率范围和双耳响度计算每只耳朵模型允许不同的声音。ISO 532 - 2提供了一个很好的匹配的等响度级ISO 226:2003中定义的轮廓,和听力的阈值在ISO 389 - 7:2005中定义。
图和提供一个高度概括的步骤序列的方法。有关详细信息,请参见[2]。
根据时域信号电平调整CalibrationFactor
。以下步骤算法的假设一个真正的信号电平。
信号转换为光谱表征。光谱表征转换根据固定过滤器代表声音的传输通过鼓膜(耳膜)。光谱是根据参考压强。
信号转换使用内耳的典范。传递函数是由一个固定的过滤器中指定的标准。过滤器的选择取决于指定的声场。
信号转换声谱的基膜的一种激励模式。转换完成使用ERB上的一系列rounded-exponential过滤器传播规模。
激励模式转换为特定的响度。
具体响度通过二进制抑制的模型,一个信号在一只耳朵抑制信号的响度诱发另一耳朵。这个阶段的输出是具体响度索恩斯/ ERB。
特定的响度是集成在ERB规模给索恩斯响度。
[1]ISO 532 - 1:2017 (E)。“音响——响度的工程计算方法——第1部分:茨威格方法。”国际标准化组织。
[2]ISO 532 - 2:2017 (E)。“音响——响度的工程计算方法——第2部分:Moore-Glasberg方法。国际标准化组织。
splMeter
|acousticSharpness
|calibrateMicrophone
|sone2phon
|phon2sone
|acousticFluctuation
|acousticRoughness
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。