是节点.JS音频混合+MP3生成可能



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

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

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

有人能给我指正确的方向吗?

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

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

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

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

对于这样的项目,你不会发现太多现成的东西,但只要有一点创造力,我想你会发现这并不太难。

最新更新