Node.JS音频混合+ MP3生成可能吗?

时间:2014-04-09 17:42:22

标签: node.js canvas mp3 html5-audio

简而言之,我有一个网站,在客户端,用户有一个“节拍制造”应用程序。用户可以打开/关闭噪音,背景节拍等,基本上根据我在客户端的预定噪音,音调和曲调创建自己的自定义“歌曲”。

我需要以某种方式将他们正在制作的节拍(在HTML5画布中)翻译到我的服务器端(目前是Node.JS)并吐出他们创作的MP3。

基本上我必须以某种方式让我的服务器端后端优雅地连接+重叠+将各种较小的MP3 / wav文件混合到一个MP3文件中,该文件与他们在客户端创建的节拍相匹配。然后我必须将MP3返回给客户端进行下载。

任何人都能指出我正确的方向吗?

就我的研究表明,由于手头问题的复杂性,这根本不容易实现或可行(在项目的实际预算/时间限制内)。

1 个答案:

答案 0 :(得分:1)

这是可能的,并且有一些JavaScript的音频库,但我会采取不同的方法。

如今,Web Audio API非常扎实。您可以让用户在客户端进行所有调整,然后在用户的浏览器中生成音频文件。如果需要获取服务器端副本,可以将原始PCM上传到服务器(带宽密集型),或将参数发送到服务器并重新生成文件。

现在不幸的是,PhantomJS不支持Web Audio。为了生成一个完美的服务器端副本,我将使用一个特殊页面执行Chrome,该页面呈现音频,然后上传到本地服务器。这可以保证您获得的声音输出与客户端的声音输出完全相同,并将所有重要信息留给已在浏览器中实现的Web Audio API。

对于像这样的项目,你找不到太多现成的东西,但是我觉得你会发现这一点并不太难。