代码之家  ›  专栏  ›  技术社区  ›  Clafou

定制振荡器的任意波形表

  •  4
  • Clafou  · 技术社区  · 10 年前

    我需要为振荡器创建一个特定的自定义波形,以便与WebAudioAPI一起使用。

    我有一个Javascript函数来输出所需的波形(对任何给定的x计算介于-1和1之间的y),绘制的结果如下:

    Custom wave shape

    然而,Web音频API documentation 仅允许您通过 createPeriodicWave 函数,然后可以通过 setPeriodicWave 。是否有一种通用技术可用于基于我的波形函数计算谐波表?

    1 回复  |  直到 10 年前
        1
  •  5
  •   hotpaw2    10 年前

    长度恰好为自定义波形一个周期的DFT(或FFT)将生成谐波表。只需低通滤波器,对波形进行2^N次采样,并将其输入通用库FFT。(选择一个足够大的2^N,至少是低通滤波器或波形固有最高频率含量的2倍以上)。FFT产生的复数仓的大小将是谐波功率电平。

    推荐文章