我正在使用python读取一个mp3文件对象。
f = open("/home/user/temp.mp3", "r")
我的最终目标是提取幅度和频率作为时间的函数。我指的是wiki页面,http://en.wikipedia.org/wiki/MP3#File_structure
示例unicode:
edee 68c0 bb0b f65f 4ef1 62ae 8cb0 53be
3146 3c90 aa74 d558 ea62 85c1 9319 41b4
90a9 1260 e0c1 81c5 fb6c ae6b 626c 28c4
bbb2 6c4c 3d77 aee7 c5b3 a2fb 0e5d ed59
维基页面说,对于每32位,第21位和第22位代表采样率频率指数。
一个。采样率freq索引,(是每8位中第六位的十六进制到二进制转换中的第一和第二位)。对于给定的歌曲,这不应该是恒定的吗?
湾是否可以使用此数据来获取特定时刻的频率?
提前致谢
答案 0 :(得分:1)
a)这听起来会支持VBR encoding,您可能希望动态更改采样率(这是我最好的猜测)。
b)查找Fourier transforms - 频率在'时刻'没有意义 - 他们需要时间重复自己。傅立叶变换将为您提供足够长时间内存在的频率。但这仍然很短暂。