小编Eli*_*der的帖子

Web音频API中的自定义波形

我正在研究这篇很棒的文章:https://jackschaedler.github.io/circles-sines-signals/dft_introduction.html

我想使用Web Audio API的PeriodicWave对象来实现此演示: 在此输入图像描述

但是,当我使用这些设置设置周期波时:

 var real = new Float32Array([0,0,1,0,1]);
 var imag = new Float32Array(real.length);
 var customWave = context.createPeriodicWave(real,imag);
 osc.setPeriodicWave(customWave);
Run Code Online (Sandbox Code Playgroud)

我输出一个看起来像这样的波:

在此输入图像描述 以下是完整代码:http://jsbin.com/zaqojavixo/4/edit 要查看波形,请按几次播放声音.

我相信这些应该匹配,所以这是我的问题:

  1. 我在这里遗漏了一些关于理论的基本内容,还是我只是错误地实现了它?PeriodicWave对象应该做与文章中说明的相同的事情吗?
  2. 如果我采取错误的方法,我将如何在Web Audio API中实现此图?通过将两个不同频率的不同正弦波连接到同一个增益节点,我能够在下面进行匹配 - 这与使用PeriodicWave对象有何不同?
  3. 我是DSP和Web Audio API的新手 - 任何建议的阅读都将不胜感激!
  4. 其次,在我的例子中,我必须在将正确的数据绘制到画布之前按下"播放声音"按钮几次 - 分析器似乎在振荡器后面,即使在我之后调用analyser.getFloatTimeDomainData()启动振荡器任何关于这里发生了什么的想法?

编辑:如评论中所述,我的图表是颠倒的(在画布上0,0是左上角).

javascript audio signal-processing web-audio-api

12
推荐指数
1
解决办法
3142
查看次数