加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

使用linux命令行从WAV / RIFF获取频谱

发布时间:2020-12-14 00:30:17 所属栏目:Linux 来源:网络整理
导读:如何生成包含wav / riff声音文件频率的文件?我想用 linux命令行. 我知道很酷的sox函数来生成png谱图 sox sound.wav -n spectrogram 但我不需要频谱范围的直观表示.我只想在数据文件中获取频谱,以便我可以处理它们.我相信必须有一个使用sox的选项. Sox需要在
如何生成包含wav / riff声音文件频率的文件?我想用 linux命令行.

我知道很酷的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?以获得良好的开端.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读