WebAudio API:更改样本的音高(例如mp3)

WebAudio API: Change pitch of samples (for example mp3)

本文关键字:例如 mp3 API 样本 WebAudio      更新时间:2023-09-26

我想我可以使用playbackRate拉伸样本,但我如何设置间距?我试图在不使用任何库的情况下实现这一点。

我在说明书中发现了多普勒音调效应,但除此之外,我找不到任何与我的目标真正相关的东西。只是一个简单的音调转换,这可能吗?如果是,那怎么办?

编辑playbackRate是否也会更改音高,但浏览器会进行某种更正?我认为情况可能就是这样。如果是这样并且可能的话,我必须禁用它。

样本没有"简单"的音高偏移。有很多方法可以在不改变播放速率的情况下改变音高-颗粒重新合成、相移声码-但没有一种是琐碎的,也没有一种被烘焙到Web Audio API中。(顺便说一句,多普勒被删除了,因为它很粗糙。)回放速率实际上是样本运行的速率,这将影响(音调样本的)"速度"和表观音高。

我在Input Effects演示中使用jungle.js库实现了音高转换(细粒度重新合成)效果,但这不是一件小事。HTML的<audio>元素可以拉伸,但没有指定算法,这让它有很多解释。