【发布时间】:2014-09-17 14:18:00
【问题描述】:
换句话说,我正在尝试播放一个 .wav 文件,为此我需要知道它的频率和持续时间;我正在使用的 API 有一个方法,该方法需要一个具有两个字段(频率和时间)的向量作为参数!
我尝试使用快速傅立叶变换,但它给了我频率和幅度!
杂志
/\
|
|
-|-----> 频率
但我需要这样的东西: 频率 /\ | | -|----->时间
我想知道是否可以从 wav 文件中获取这些信息!
【问题讨论】:
-
除非 WAV 文件只包含一个恒定频率的正弦波,否则就不能只测量一个频率 - 对于语音、音乐等,会有各种各样的复杂的时变分量.您真正想要实现的目标是什么?音高检测?
-
“频率”真的是指采样率吗?无论您使用什么来打开
wav文件,都应该为您提供该信息。 -
@PaulR 我想知道是否可以通过频率和时间来描述声音。例如:132 HZ.....1ms、350.....1ms、300 Hz....5ms,等等。我不知道这是否可能,这就是我问的原因
-
您需要了解通常没有单一的“频率”(除非您处理的是纯正弦音调)。在任何给定的瞬间,声音都有一个频谱,它是幅度与频率的关系图。因此,对于整个声音文件,您最终会得到一个 频谱图,它是一个 3D 图:通常是 X 轴上的时间,Y 轴上的频率,以及作为强度值的幅度(通常是调色板用于此)。如果您实际上是在寻找 pitch 而不是频率,那么情况就完全不同了。
标签: c++ audio signal-processing fft wav