我知道很酷的sox函数来生成png谱图
sox sound.wav -n spectrogram
但我不需要频谱范围的直观表示.我只想在数据文件中获取频谱,以便我可以处理它们.我相信必须有一个使用sox的选项. Sox需要在绘制数据之前生成该数据.怎么弄这个?
不确定,也许第二个解决方案是将wav文件导出到dat文件中.来自dat文件的每个样品都是膜在某个时刻的位置的量度.所以这不是频谱.
sox sound.wav file.dat
如何将这些膜位置转换为我需要的光谱?
谢谢.
解决方法 您正在寻找的是傅立叶变换或快速傅立叶变换(FFT). FFT是一种数学算法,可将时域采样(即膜位置,如你所说,在时间点上)转换为频率分量,这些数据包含在.wav文件中.如果您使用Google FFT,您将找到更多信息,包括可以在linux中编译和重用的源代码.请参阅 How do I plot the spectrum of a wav file using FFT?以获得良好的开端. 总结以上是内存溢出为你收集整理的使用linux命令行从WAV / RIFF获取频谱全部内容,希望文章能够帮你解决使用linux命令行从WAV / RIFF获取频谱所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)