现在我正在使用声音进行频谱分析,使用Periodogram[]
绘制图表与使用PeridogramArray[]
然后使用ListLinePlot[]
的结果相同并不奇怪。有什么我理解错了吗?
源代码:
test1 = Import["/Users/phillipchang/Desktop/sounds/test1.wav",
"SampledSoundList"]
Periodogram[test1]
ListLinePlot[PeriodogramArray[test1], PlotRange -> Automatic]
答案 0 :(得分:1)
你是否有可能使用立体声(或更好)的声音?
http://reference.wolfram.com/mathematica/ref/PeriodogramArray.html “对于多声道声音和图像对象,返回每个声道的功率谱列表。”
http://reference.wolfram.com/mathematica/ref/Periodogram.html “Periodogram也适用于SampledSoundList对象。当应用于多声道声音对象时,它会绘制所有通道的功率谱。”
点击每个上面的“详细信息和选项”并阅读所有详细信息。 人们似乎经常跳过“细节和选项”。
我猜不出你的声音文件是什么,但是如果你的声音文件不包含文件中每个频率的整数倍周期,你也可以考虑使用窗口函数来最小化引入的伪像。
良好的调试方法可能是构造一个具有整数个周期的单个纯正弦波的声音,让自己确信你绝对肯定文件是正确的,然后尝试你的代码。调试直到光谱正确。然后将第二个频率(仍为整数个周期)添加到文件中并重复。完成所有操作后,您可能已经消除了原始文件的问题。