Audio 门控声级

Audio 门控声级,audio,Audio,我正在实施基于ITU标准的响度测量程序,正如它所说,我应该使用某种门控来排除静音区域对测量平均声级的影响——例如,我将采用3秒的一般积分时间——如果,例如,整个声音的第一秒包含语音,最后2/3包含沉默(人们呼吸、思考或出于类似原因),然后我得到的响度值比它应该的值小,因为我考虑了沉默区域。因此,有人提出了一种解决方案,但没有很好的记录-除了需要的(3000ms)积分时间外,还需要进行“瞬间”(400ms)响度测量,如果“瞬间”响度比“全天”(3000ms)测量的响度低8LU(LU代表响度单位),

我正在实施基于ITU标准的响度测量程序,正如它所说,我应该使用某种门控来排除静音区域对测量平均声级的影响——例如,我将采用3秒的一般积分时间——如果,例如,整个声音的第一秒包含语音,最后2/3包含沉默(人们呼吸、思考或出于类似原因),然后我得到的响度值比它应该的值小,因为我考虑了沉默区域。因此,有人提出了一种解决方案,但没有很好的记录-除了需要的(3000ms)积分时间外,还需要进行“瞬间”(400ms)响度测量,如果“瞬间”响度比“全天”(3000ms)测量的响度低8LU(LU代表响度单位),则暂停响度测量,当你在远程关卡范围内获得即时关卡时。长话短说-你得到许多传入的样本,例如10ms,你计算你的滑动短期和长期响度,然后比较短期响度是否比长期响度低8个单位,并丢弃你刚刚得到的10ms样本的样本集/暂停声音测量,有效地忽略它们,并保持你的长期响度在更高的水平-忽略那些10毫秒的“相对于长期的沉默”

所以问题是:由于我忽略了所有比我的长期响度低8 LU的样本(实际上是一小块样本),我有效地阻止了我的长期响度在实际应该变小的时候变小

摘自“EBU p/Loud工作组2010年论文:

“p/LOUD在2009年第4季度和2010年1月进行了听力测试,以确定最佳选通阈值。结果发现,四种测试方法中的两种候选选通方法给出了良好的结果,两种方法在统计上都明显优于其他两种方法。这两种方法分别是相对于无标记LKFS('6rel')的6LU门和相对于无标记LKFS('10rel')的10LU门。对于所有候选者,使用400ms的区块长度。从实用角度讲,选择8rel作为进一步非正式测试的值,与宽边机已经使用的其他选通功能进行对比。”*


p.S对不起我的英语,这不是我的母语。

我看不出标准中有什么地方建议采用像你描述的那样复杂的方法。相反,从我对这一点的粗略概述来看,我认为你需要计算滑动窗口中的响度,方法是将窗口分成更小的时间段,如果任何更小的时间段如果此窗口低于阈值(-8LU),则将这些箱子排除在您的计算之外

可能您正在这样做,只是没有正确计算平均值。要在丢弃样本时正确找到平均响度,您需要获取未丢弃的响度级别的总和(即高于截止阈值的级别),并将其除以响度高于阈值的时间量。也就是说,我假设当你说,“响度级别变小[比]它实际上应该变小“,您所做的是除以总时间,这将错误地降低平均值。相反,您应该只除以计算总和所用的时间量,即
N*(以秒为单位的小时间存储箱大小)
,其中N是高于阈值的存储箱数量


也许这个算法看起来比实际更复杂,因为你正在寻找一种方法,试图确定每个新的时间单元进入滑动窗口时是否高于阈值,而不是在滑动窗口的每次移动时重新计算它?这当然是可能的,也是有效的方法,但算法有些复杂。

对不起,这实际上是一个巨大的新主题(关于选通的标准仅处于草稿状态,于2010年制定)1。问题是什么?2.它与编程有什么关系。所述解决方案如何从平均声级测量中正确排除静音?2.这是一个算法/信号处理问题。让他放松一下。我不认为它可以写得更短,尽管有相当多的语法错误。算法本身听起来合理,但我不确定我是否完全理解您遇到的实际问题。你能发布一些代码并更清楚地解释一下实际问题是什么吗?算法很复杂,我不能简单地按时间缩小它,因为它测量实际响度并考虑波形的特征,不是简单的容器总和,而是通过稍微“暂停”当前容器的液位测量来解决问题(我从声卡获得的样本块)比使用即时(400ms)缓冲区计算的当前响度级别低8LU,但由于我跳过了样本,也影响了门控响度级别,所以您的回答让我走上了正确的道路,谢谢。