fft - 自定义振荡器的任意波表

标签 fft web-audio-api sound-synthesis

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

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

Custom wave shape

但是网络音频 API documentation只允许您通过 createPeriodicWave 函数创建基于谐波表的自定义波表,然后可以使用该函数通过 setPeriodicWave 配置自定义振荡器。是否有一种通用技术可用于根据我的波形函数计算谐波表?

最佳答案

长度正好是自定义波形一个周期的 DFT(或 FFT)将生成一个谐波表。只需低通滤波器并对波形进行 2^N 次采样,然后将其输入通用库 FFT。 (选择足够大的 2^N 至少超过低通滤波器或波形固有最高频率内容的 2 倍)。 FFT 产生的复数箱的幅度将是您的谐波功率电平。

关于fft - 自定义振荡器的任意波表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743732/

相关文章:

performance - 实时,低延迟声音合成和快速处理的语言?

java - IFFT Matlab 对称与 Java 数学公共(public)资源

c++ - 小词汇量语音识别(约 20 个单词)

python - 无法弄清楚如何计算 .wav 文件的光谱属性

javascript - 网络音频延迟节点指南

javascript - 使用AudioBufferSource时Javascript Web音频API AnalyserNode不起作用

python - 在python中将FFT绘制为一组正弦波?

google-chrome - 难道Chrome不支持audio/ogg;编解码器=作品?

ios - AudioKit:长笛的无限播放时间和频移?

audio - 调频(FM)代码段