【问题标题】:How can I compare two captures to see which one is louder?如何比较两个捕获以查看哪个更大?
【发布时间】:2010-10-30 21:02:01
【问题描述】:

给定从麦克风捕获的两个字节数组数据,我如何确定哪一个具有更多的噪声尖峰?我会假设有一种算法可以应用于数据,但我不知道从哪里开始。

说到底,我需要能够确定婴儿何时哭泣与房间内的环境噪音。

如果有帮助,我将使用 Microsoft.Xna.Framework.Audio.Microphone 类来捕捉声音。

【问题讨论】:

    标签: c# algorithm audio windows-phone-7


    【解决方案1】:

    您可以通过应用公式将每个样本(标准化为 1.0 到 -1.0 的范围)转换为分贝等级

    dB = 20 * log-base-10(样本值)

    说实话,只要您不介意偶尔的误报,并且您的麦克风设置正常,您应该可以轻松分辨婴儿哭声和环境背景噪音之间的区别,而无需费力做 FFT。

    我建议您查看噪声门的源代码,它几乎可以满足您的需求,具有可配置的攻击时间和阈值。

    【讨论】:

    • 这应该没问题,因为偶尔的误报也没问题。鉴于我只有原始数据(一个字节数组),我怎样才能实现你所说的?
    • 你确实需要知道每个样本有多少位。它似乎很可能是 16(即每个样本两个字节)。另外我猜这是单声道录音。所以每两个字节,把它变成一个短的(使用BitConverter),这就是那个样本的幅度
    【解决方案2】:

    首先使用快速傅里叶变换将信号变换到频域。 然后检查典型“哭泣频率”中的信号是否明显高于其他幅度。

    speex 编解码器的预处理器支持噪声与信号检测,但我不知道你是否可以让它与 XNA 一起使用。

    或者,如果您真的想要某种响度,请计算您感兴趣的频率(例如 50-20000Hz)的振幅平方和,如果过去 30 秒的平均值明显高于过去 10 分钟的平均值或超过某个绝对阈值会发出警报。

    【讨论】:

    • 查找“哭泣频率”不会捕捉到“婴儿将玩具撞到墙上”的声音或其他表明婴儿醒着但没有哭泣的响亮声音。
    • 添加了一些关于响亮的声音。
    【解决方案3】:

    在什么时候响亮?信号的平均幅度会告诉您平均哪个更大,但这是一种愚蠢的蛮力方式。不过在实践中它可能对你有用。

    说到底,我需要能够确定婴儿何时哭泣与房间内的环境噪音。

    好的,所以,我只是在这里抛出一些想法;我绝不是音频处理方面的专家。

    如果您知道自己的输入,即婴儿哭声(相对响亮,音调较高)与环境噪声(相对安静),您应该能够根据音调(频率)和幅度(响度)分析信号.当然,如果他在录音的过程中,有人把一些锅碗瓢盆掉在了厨房的地板上,那就很难辨别了。

    作为第一遍,我将简单地遍历信号,始终保持音高和幅度的标准偏差,然后在这些偏差超出您必须定义的某个阈值时设置一个标志。当他们回来时,您可以安全地假设您捕捉到了婴儿的哭声。

    再一次,只是在这里给你一个想法。你必须看看它在实际数据中是如何工作的。

    【讨论】:

    • 是的,我在想这样的事情会起作用,但我所拥有的只是原始数据。关于如何让它进入我可以评估的状态的任何想法?
    • 您的原始数据必然包括播放音频所需的所有信息,即频率、幅度等。数据采用什么格式?
    • 我有原始字节数据。我需要找到一些可以从中提取频率/放大器的类,对吧?
    • 我会选择 CodeInChaos 提供的解决方案。他显然比我更有经验。
    • 如果有人把锅碗瓢盆掉到厨房地板上,宝宝无论如何都会醒的。
    【解决方案4】:

    我同意@Ed Swangren 的观点,需要大量处理大量来源的数据样本。对我来说,这听起来像是限制或希望消除误报的诀窍。我对婴儿的体验是,他们的哭声比环境大。因此,跟踪正常环境的平均测量值(频率/安培/??),然后对变化与哭泣婴儿的特征进行分类,该特征因孩子而异,因此您可能需要一个系统'学习'。祝你好运。

    更新:你可能会发现这个库很有用 http://naudio.codeplex.com/

    【讨论】:

      猜你喜欢
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2023-04-05
      相关资源
      最近更新 更多