我正在尝试使用html5和javascript来获得mp3的振幅(和其他组件),有什么库可以帮助我吗?
zpgglvta1#
首先需要把问题分为实时回放和非线性幅值获取等。对于实时播放,您可以使用Web音频APIhttps://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html搏动示例https://beatdetektor.svn.sourceforge.net/svnroot/beatdetektor/trunk/core/js/beatdetektor.js对于非线性、非实时访问,有两种方式如果允许服务器端处理,则可以编写代理,将数据发送到EchoNest服务器,并通过API检索信息Extracting beats out of MP3 music with Python如果你想完全避免服务器端处理,你需要用纯Javascript解码MP3,以非实时方式访问原始音频数据https://github.com/devongovett/mp3.js然后,你需要对原始音频数据应用必要的过滤器,以提取你需要的信息。这是一个信号处理的问题,与Javascript编程没有直接联系。如果你更仔细地指定你要的数据类型,人们可能会帮助你使用相关的Javascript库,比如快速傅立叶变换库。
1条答案
按热度按时间zpgglvta1#
首先需要把问题分为实时回放和非线性幅值获取等。
对于实时播放,您可以使用Web音频API
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
搏动示例
https://beatdetektor.svn.sourceforge.net/svnroot/beatdetektor/trunk/core/js/beatdetektor.js
对于非线性、非实时访问,有两种方式
如果允许服务器端处理,则可以编写代理,将数据发送到EchoNest服务器,并通过API检索信息
Extracting beats out of MP3 music with Python
如果你想完全避免服务器端处理,你需要用纯Javascript解码MP3,以非实时方式访问原始音频数据
https://github.com/devongovett/mp3.js
然后,你需要对原始音频数据应用必要的过滤器,以提取你需要的信息。这是一个信号处理的问题,与Javascript编程没有直接联系。如果你更仔细地指定你要的数据类型,人们可能会帮助你使用相关的Javascript库,比如快速傅立叶变换库。