微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在tone.js或其他框架中快速组合样本

如何解决在tone.js或其他框架中快速组合样本

我需要根据一些规则以编程方式将一堆音乐曲目一个一个地组合成一个序列,它们之间有一些重叠。

我今天在看tone.js,这很棒,我刚刚设法完成工作(玩家输入录音机),但我在最后意识到你必须等待整个序列实时播放,然后才能保存。

我不想等待一个小时来获取文件,我需要在最多一分钟内得到它。这可以通过tone.js实现吗?如果不能,是否还有其他编程方式可以做到这一点?

解决方法

您应该能够为此使用 OfflineContext 渲染。基本上你要做的就是调用 Tone.Offline 然后获取结果的 audioBuffer 并将其保存到文件中。您不需要 Recorder 节点。所以是这样的:

const audioBufferNode = await Tone.Offline(({ transport }) => {
  // Do all your player scheduling along the transport here.

  transport.start(0.5); // Start the transport to trigger all scheduled players
},4 /* The length of the resulting file */);

要将音频缓冲区下载为文件,您需要读取原始数据并将其写入您希望下载的格式。

可以在此处找到波形编写器的音频缓冲区: https://www.russellgood.com/how-to-convert-audiobuffer-to-audio-file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。