gpt4 book ai didi

c++ - 计算 VST 的三角波表

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:59 26 4
gpt4 key购买 nike

我正在为一个项目创建一个 VST,并尝试创建一个振荡器来产生锯齿波、脉冲波、正弦波和三角波形式。我到处都看过,似乎找不到任何有用的东西(对我来说),主要是因为我在努力理解它。

到目前为止我已经...

 for (i=0;i<KWaveSize;i++)
{
sawtooth[i] = (float)(-1. + (2. * ((double)i / (double)kWaveSize)));
pulse[i] = (i < wh) ? -1.f : 1.f;
sine [i] (float)sin(twoPi * ((float)i /kWaveSize));
triangle[i] = ....
}

我只是在苦苦思索如何使用它创建正确的波形。

我试过:

 triangle[i] = (float)(1 -((twoPi / KWaveSize) * i));

这是根据我正在阅读的书做出的有根据的猜测,但会产生失真的声音。

如果有人做了这样的事情可以提供帮助,或者给我指点一个关于所有声音合成的新手教程,其中涵盖了波表生成等,我们将不胜感激。

谢谢。

最佳答案

您需要一个可以切换方向的波 - 从 0 到 kWaveSize/2 为正,从那里到 kWaveSize 为负。

triangle[i] = i < kWaveSize/2 ? -1.0 + 2.0 * i / (kWaveSize*0.5) : 1.0 - 2.0 * i / (kWaveSize*0.5);

关于c++ - 计算 VST 的三角波表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13766137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com