【问题标题】:C# Adaptive Sound Cancellation [closed]C#自适应声音消除[关闭]
【发布时间】:2012-12-25 09:28:14
【问题描述】:

在我的工作中,整个工程部门刚刚搬进了一个新的座位安排,让声音传播得比我们任何人都愿意享受的多一点。我想尝试用一种很酷的工程方式来解决这个问题。是否可以使用以下方法创建自适应声音消除:

  1. 麦克风输入
  2. 频率计算
  3. 扬声器播放

如果是这样,我想查看哪些库?我假设 FFT(快速傅里叶变换)麦克风输入和频率播放。谁能指出具有这些功能的优秀库? (如果这是可能的)

【问题讨论】:

  • 让每个人都得到一副耳机可能会更容易。 :)
  • 是的,它会的,我们曾经开玩笑说要为降噪耳机添加一堆采购申请,但它永远不会通过。 :-)
  • 这不是很清楚,但随机白噪声几乎可以像消除噪声一样有效地解决人为分心的问题。
  • 这是一个 DSP 应用程序,用于获得所需的亚毫秒级响应。它们不是用 C# 编程的,买不起 GC。
  • 只是为了回声@RBarryYoung - 白噪声会模糊所有其他声音,因为它会填充频率,使其他声音“迷失在噪音中”并且不会被识别为有意义的噪音你的脑。而且很容易尝试 - 只需在线查找 source 并通过扬声器播放即可。

标签: c# audio noise-reduction


【解决方案1】:

这会很困难/不切实际/不可能,主要有两个原因:

  1. 速度:声音消除必须快速捕获、计算消除并生成消除非常,延迟可能不超过 1 毫秒。托管代码很难做到这一点。

  2. 相位定位:任何声音/噪音的正确消除相位完全取决于麦克风、扬声器和您的耳朵之间的精确距离关系。前两个保持不变,但你的耳朵往往会随着你的头去哪里,你的代码无法知道。 (这是耳机降噪效果如此出色的一个重要原因,但不适用于其他任何东西)。

【讨论】:

    猜你喜欢
    • 2010-12-10
    • 2010-11-24
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2014-05-21
    • 2017-07-07
    相关资源
    最近更新 更多