1

现在我正在用声音进行频谱分析,奇怪的是用 绘制图形与 Periodogram[]使用PeridogramArray[]然后使用的结果不同ListLinePlot[]。有什么我理解错了吗?

源代码:

test1 = Import["/Users/phillipchang/Desktop/sounds/test1.wav", 
  "SampledSoundList"]

Periodogram[test1]

ListLinePlot[PeriodogramArray[test1], PlotRange -> Automatic] 
4

1 回答 1

1

您是否有可能使用立体声(或更好的)声音?

http://reference.wolfram.com/mathematica/ref/PeriodogramArray.html “对于多通道声音和图像对象,返回每个通道的功率谱列表。”

http://reference.wolfram.com/mathematica/ref/Periodogram.html “周期图也适用于 SampledSoundList 对象。当应用于多声道声音对象时,它会绘制所有声道的功率谱。”

单击每个选项上的“详细信息和选项”并阅读所有详细信息。人们似乎经常跳过“详细信息和选项”。

我猜不出你的声音文件是什么,但如果你的声音文件不包含文件中每个频率的整数倍周期,你也可以考虑使用窗口函数来最小化引入的伪影。

好的调试方法可能是构建一个具有整数个周期的纯正弦波声音,让自己相信你绝对肯定文件是正确的,然后在上面尝试你的代码。调试直到光谱正确。然后将第二个频率(仍为整数个周期)添加到文件中并重复。完成所有这些后,您可能已经消除了原始文件的问题。

于 2013-10-21T15:41:10.447 回答