2个不稳定版本

0.2.0 2024年1月27日
0.1.0 2023年12月20日

#366 in 音频

MIT许可证

195KB
4K SLoC

CulSynth库

此库包含CulSynth插件中使用的所有DSP逻辑。有关更多信息,请参阅主仓库的README。

功能

该库包含固定点和浮点实现的各种原始函数,用于合成器内部。这些包括振荡器、2极状态变量滤波器、包络和LFOs。此外,它还包括将这些原始函数结合在一起的基本减法合成器声部逻辑,并提供在声部内调节所有参数的能力。

默认情况下,它与#![no_std]兼容,并且库中使用的所有内存都可以完全静态分配。这导致了一些设计权衡;请参阅文档以获取详细信息。


lib.rs:

此crate包含合成器的所有DSP逻辑。它被设计为对no_std友好(尽管尚未在此配置下构建/测试),并且所有API和算法都被设计为可以使用浮点逻辑和固定点逻辑实现。固定点逻辑还完全不使用除法,并在尽可能的情况下最小化使用32位扩展乘法(即64位结果)以在无原生硬件支持这些原始函数的嵌入式平台上提高速度。

用户的大部分相关代码可以在[devices]模块中找到。

此crate使用(有点遗憾的匈牙利风格)约定,所有固定点结构和特质都与它们的浮点对应物相同,并以FxP后缀表示固定点操作。这是作为在u16上实现泛型实现的替代方案使用的,以保留有关类型系统内小数点位置的信息,但这需要在crate中复制一些代码。

依赖项

~3MB
~55K SLoC