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

标签 node.js canvas mp3 html5-audio

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

我需要以某种方式将他们制作的节拍(在 HTML5 Canvas 中)转换到我的服务器端(当前是 Node.JS),并吐出他们创作的 MP3。

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

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

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

最佳答案

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

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

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

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

关于node.js - Node.JS 音频混合 + MP3 生成可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22970081/

相关文章:

javascript - 在 React 中如何在表单验证后路由用户?

node.js - 将 Gulp 任务组合成一个 gulp-rev list

javascript - 在 Node.js 中读取 ZIP 文件

javascript - 如何使用 JavaScript 在 Canvas 中单击一个圆圈

bash - 递归目录并转换音乐

c# - 如何在C#中从存储流中播放MP3?

javascript - Adm Zip 将文件压缩为目录

javascript - 如何使用 toDataURL() 将图像作为背景图像与 Canvas 内容一起添加到一个图像中?

ios - 使用 Retina 显示屏在 Canvas 上绘制图像

iphone - AVFoundation iOS 5