主要内容

integratedLoudness

测量综合响度和响度范围

描述

例子

响度= integratedLoudness (audioInFs返回音频信号的综合响度,audioIn,样本率Fs.ITU-R BS.1770-4和EBU R 128标准定义了计算综合响度的算法。

例子

响度= integratedLoudness (audioInFschannelWeights指定用于计算综合响度的通道权重。channelWeights行向量的元素个数必须和通道个数相同audioIn

例子

(响度loudnessRange=综合响度(___使用前一种语法返回音频信号的响度范围。EBU R 128 Tech 3342标准定义了响度范围的计算。

例子

全部折叠

确定一个音频信号的综合响度。

创建一个2秒的正弦波,振幅为0 dB,频率为1 kHz,采样率为48 kHz。

sampleRate = 48e3;增量= sampleRate*2;振幅= 10^(0/20);频率= 1e3;sininegenerator = audioooscillator (...“SampleRate”sampleRate,...“SamplesPerFrame”增量,...“振幅”振幅,...“频率”、频率);signal = sininegenerator ();

计算指定采样率下音频信号的综合响度。

响度=综合响度(信号,采样率)
响度= -3.0036

读取四声道音频信号。指定具有四个元素的非默认权重向量。

[signal,fs] = audioread(“AudioArray-16-16-4channels-20secs.wav”);weightingVector = [1,0.8,0.8,1.2];

用默认信道加权和非默认信道加权向量计算综合响度。

standardLoudness = integratedLoudness(信号,fs,权重向量)
standardLoudness = -11.6825
nonStandardLoudness = integratedLoudness(信号,fs)
nonStandardLoudness = -11.0121

读入音频信号。从信号中截取三段五秒的间隔。

[x,fs] = audioread(“FunkyDrums-44p1-stereo-25secs.mp3”);X1 = x(1:fs*5,:);X2 = x(5e5:5e5+5*fs,:);X3 = x(end-5*fs:end,:);

计算总信号和每个区间的响度和响度范围。

[L,LRA] =积分响度(x,fs);[L1,LRA1] = integratedLoudness(x1,fs);[L2,LRA2] = integratedLoudness(x2,fs);[L3,LRA3] = integrated响度(x3,fs);流([“响度:% 0.2 f \ n”...音量范围:%0.2f\n\n...'起始响度:%0.2f\n'...起始响度范围:%0.2f\n\n...中响度:%0.2f\n...中响度范围:%0.2f\n\n...'结束响度:%0.2f\n'...'端响范围:%0.2f\n'),...LRA1 L,上帝抵抗军,L1, L2, LRA2, L3, LRA3);
响度:-22.93响度范围:1.50起始响度:-23.29起始响度范围:1.17中响度:-22.99中响度范围:1.12结束响度:-22.09结束响度范围:1.82

输入参数

全部折叠

输入信号,指定为矩阵。矩阵的列被视为音频通道。

输入信号的最大列数取决于您的channelWeights规格:

  • 如果使用默认值channelWeights时,输入信号最多有5个通道。按以下顺序指定频道:[左,右,中,左环绕,右环绕]。

  • 如果你指定了nondefaultchannelWeights时,输入信号的列数必须与元素的列数相同channelWeights向量。

数据类型:|

输入信号的采样率(以Hz为单位),指定为正标量。

数据类型:|

应用于每个输入通道的线性加权,指定为非负值的行向量。行向量中的元素数量必须等于或大于输入通道的数量。向量中的多余值将被忽略。

缺省信道权值遵循ITU-R BS.1170-4标准。属性的通道要使用默认的通道权重,请指定audioIn矩阵的顺序是:[左,右,中,左环绕,右环绕]。

属性是一种最佳实践channelWeights矢量的顺序:[左,右,中,左环绕,右环绕]。

数据类型:|

输出参数

全部折叠

相对于满量程(LUFS)的以响度单位表示的综合响度,作为标量返回。

ITU-R BS.1770-4和EBU R 128标准定义了综合响度。该算法通过将音频信号分解为重叠75%的0.4秒段来计算响度。如果输入信号小于0.4秒,响度返回为空。

数据类型:|

以响度单位(LU)表示的响度范围,作为标量返回。

EBU R 128 Tech 3342标准定义了响度范围。该算法通过将音频分解成3秒长的片段,其中2.9秒的重叠部分来计算响度范围。如果输入信号小于3秒,loudnessRange返回为空。

数据类型:|

算法

全部折叠

integratedLoudness函数返回音频信号的综合响度和响度范围(LRA)。您可以指定用于响度测量的任意数量的通道和非默认通道权重。的integratedLoudness对一般情况下的算法进行了描述n频道。

集成响度和响度范围

输入通道,x,通过k加权weightingFilter.k加权滤波器塑造频谱,以反映感知的响度。

集成响度
  1. k加权信道,y,分为0.4秒的片段,其中0.3秒重叠。计算k加权信道每段的功率(均方):

    P 1 w k 1 w y 2 ( k

    • 国会议员是瞬间的力量吗信道的段。

    • w是样本中的段长度。

  2. 瞬间的喧嚣,毫升,为每个段计算:

    l 0.691 + 10 日志 10 c 1 n G c × P c l U F 年代

    • Gc是通道加权吗c

  3. 瞬时功率使用瞬时响度计算门控:

    P P j

    j | l 70

  4. 相对阈值,Γ,计算为:

    Γ 0.691 + 10 日志 10 c 1 n G c × l c 10

    lc信道的平均瞬时功率是多少c

    l c 1 | j | j P j c

  5. 瞬时功率子集,国会议员j,使用相对阈值进行门控:

    P j P k

    k j | P j Γ

  6. 瞬时功率段平均如下:

    P 1 | k | k P k

  7. 综合响度通过传递平均瞬时功率子集来计算,P,透过“计算响度”系统:

    集成 响度 0.691 + 10 日志 10 c 1 n G c × P c l U F 年代

响度范围
  1. k加权信道,y,每段3秒,重叠2.9秒。计算k加权信道每段的功率(均方):

    年代 P 1 w k 1 w y 2 ( k

    • sP是短期的动力吗信道的段。

    • w是样本中的段长度。

  2. 短期的响度,sL,为每个段计算:

    年代 l 0.691 + 10 日志 10 c 1 n G c × 年代 P c

    • Gc是通道加权吗c

  3. 短期响度使用绝对阈值进行门控:

    年代 l 年代 l j

    j | 年代 l 70

  4. 门控的短期响度被转换回线性,然后取平均值:

    年代 P j 1 | j | j 10 年代 l j 10

    相对阈值,K,计算为:

    K 20. + 10 日志 10 年代 P j

  5. 短期响度子集,sLj,使用相对阈值进行门控:

    年代 l j 年代 l k

    k j | 年代 l j K

  6. 短期响度子集,sLk,已排序。响度范围计算在分布的第10和第95百分位数之间,并以响度单位(LU)返回。

参考文献

[1]国际电信联盟;无线电通信部门。测量音频节目响度和真峰值音频水平的算法。ITU-R BS.1770-4。2015.

[2]欧洲广播联盟。声音信号的音量正常化和允许的最大电平。Ebu r 128。2014.

[3]欧洲广播联盟。响度计量:“EBU模式”计量补充EBU R 128响度归一化。EBU R 128技术3341。2014.

[4]欧洲广播联盟。响度范围:EBU r128响度归一化的补充措施。EBU R 128技术3342。2016.

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2016b中引入