我正在尝试使用scriptprocessor更改缓冲区样本的音高,但是我需要哪种公式呢?我不是在寻找确切的js代码,而是在寻找一些通用的数学方法。我很想为此提供一些代码,因为第一个答案有很多公式,我不知道如何在JS中实现它。
我知道这是随着时间而进行的,但是根据this可以使用FFT来完成,但是我不知道该怎么做。
最佳答案
对于使用FFT进行时间音高修改的一种方法,请查询phase vocoder。这是相位声码器工作原理的一种解释(但是搜索会发现很多其他声音):http://www.guitarpitchshifter.com/algorithm.html
关于audio - 更改音频缓冲区的音调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21559753/