【发布时间】:2018-11-04 06:57:24
【问题描述】:
我正在基于无限线性过采样从 Reaktor 重建一些失真单元,这是一种减少混叠的技术。它涉及具有单位延迟的失真方程的积分。这是示意图的示例: https://www.native-instruments.com/forum/attachments/ilo-tanh-png.54931/
我想知道编写一个将输出延迟一个单位 (Z-1) 的函数的最简单方法是什么。
我阅读了 Jordan Harris 的帖子 here,但我不确定我是否遵循他的技术。
这就是我想知道的是否可能是相同的想法:
double output = nullptr;
inline double getUnitDelay(float& input) {
return output;
input = output;
}
所以原则上,它接受一个输入,但它不返回那个输入。它将它复制到另一个名为 output 的变量中,我认为需要将其初始化为 nullptr,以便在第一个示例请求中包含某些内容(即 nullptr)。不确定如何将其折叠到函数中。
由于 C++ 对顺序敏感(我认为),因此该函数每次运行时都会返回先前样本的输出。
那么例如,它可以用在这样的等式中:
integral - getUnitDelay(integral) ... ;
这行得通吗?有没有更好的方法?
一如既往的感谢
【问题讨论】:
标签: c++ math delay juce audio-aliasing