使用web audio api在javascript中创建矢量示波器

时间:2015-07-29 16:55:48

标签: javascript audio

我目前正在尝试使用Web Audio API创建一个使用Javascript分析实时音频的矢量示波器。 API允许访问当前频率数据和时域数据。我已经使用以下等式中的a和b变量的简单值重新创建了lissajous数字:

var x = A*sin(a*t);
var y = B*sin(b*t);

A& B是振幅,a& b是频率,t是时间(我用performance.now()获得。)

我的问题是我不确定如何将来自Web音频API的字节频率数据和字节时域数据中的数据实现到上面的等式中。在我的代码中,我有两个彼此立体声失谐的振荡器(突出相位相关),它们被送入两个分析仪(一个用于左声道,一个用于右声道)。从这两个分析器中,我可以使用getByteFrequencyData()和getByteTimeDomainData()方法提取数据。这两种方法都返回所请求数据的Uint8数组。我目前在分析器中迭代缓冲区,并在每次迭代期间将包含的数据应用于上面的方程式。结果是乱七八糟的线条,虽然在X / Y图上。

如果有人知道如何将频率和时域数据转换为两个方程变量的可用值,我将非常感激。干杯!

1 个答案:

答案 0 :(得分:0)

我在Sound Design StackExchange上发布了这封信,并收到了一个有用的答案:https://sound.stackexchange.com/questions/35737/programming-a-vectorscope