1

我的目标是能够使用 Python 检测通过 PC 扬声器发出的特定噪音。这意味着以下内容,在伪代码中:

  1. 声音正在通过扬声器播放,例如游戏等应用程序
  2. 我的“要检测的音频”声音发生了,我想检测到它并采取行动

例如,我想检测的特定声音可以在这里找到

如果我把它分解,我相信我需要两件事:

  1. 一种对正在流式传输到音频设备的音频进行采样的方法——也许基于此?或潜在的声音设备 - 但我无法通过查看他们的 api来确定如何完成这项工作?
  2. 一种将每个样本与我的“要检测的音频”声音文件进行比较的方法。

检测不需要精确 - 它只需要接近。比如会有很多其他的噪音同时发生,所以它更能在各种声音的音频流中检测到“要检测的音频”的足迹。

对此进行调查后,我发现了这篇关于 SO 的帖子以及这篇关于 Chromaprint 的有趣文章中提到的技术。Chromaprint 文章使用 fpcalc 生成指纹,但因为我的“音频检测”在 1 - 2 秒左右,fpcalc 无法生成指纹。我需要一些可以在更小的时间空间工作的东西。

我的问题是 - 有人可以帮助我解决我的问题的两个部分:

  1. 如何使用 python 对 PC 上的音频设备进行采样
  2. 我应该如何尝试这种比较(最好有一个小例子)

提前谢谢了。

4

0 回答 0