python播放生成的声音和准确的情节

时间:2013-07-30 05:20:46

标签: python audio plot

我正在寻找一种使用python实时生成的精确绘图声音的方法。 基本上,我正在产生一个频率随着噪声函数而变化的音调。当频率达到某个阈值时,我需要输出一个视觉提示(即:一个打印语句)

我一直在使用pyaudio输出音频,效果很好。但我还没有找到一种方法来绘制它,或者当它达到一定水平时进行监控。

编辑:澄清一点:让我说我生成1秒的样本。频率在0.1秒和0.7秒达到所需水平。如何播放此音频样本,并在达到0.1秒和0.7秒时精确打印声明。如何同步某种视觉线索或任何函数调用,与音频播放精确同步。

1 个答案:

答案 0 :(得分:1)

FFT,对于这个问题,任何离散样本的光谱分析,(几乎)都不会给出精确的光谱图。

如果您为FFT提供整个输入,它将为您提供最高分辨率的图形,但此图形将包含整个输入。

您提供的样本越少,光谱分辨率就越低。这是一种权衡。

然而,找到引入某个频率的确切样本是没有意义的。

您应该提供图形的某些部分(“窗口”)。计算它所代表的播放时间是微不足道的。找到适当数量的样品取决于您的需求(瞬态与光谱分辨率)。

我不知道你对信号处理的了解是什么,所以我现在不想太技术化,但一般的方法很简单:

  1. 找到适合您需要的适当数量的样本。
  2. 图表/分析这些窗口与播放或播放前后并行。
  3. 确定与已识别窗口对应的时间。