10个版本

0.2.12-alpha.02023年4月7日
0.2.11-alpha.02022年12月19日
0.2.5-alpha.02022年6月21日
0.2.4-alpha.02022年3月14日
0.1.42-alpha.0 2021年10月27日

#3 in #surge

Download history 146/week @ 2024-03-15 207/week @ 2024-03-22 272/week @ 2024-03-29 108/week @ 2024-04-05 144/week @ 2024-04-12 140/week @ 2024-04-19 175/week @ 2024-04-26 140/week @ 2024-05-03 139/week @ 2024-05-10 138/week @ 2024-05-17 149/week @ 2024-05-24 95/week @ 2024-05-31 103/week @ 2024-06-07 127/week @ 2024-06-14 130/week @ 2024-06-21 65/week @ 2024-06-28

每月432次下载
用于 66 个crate(59个直接使用)

GPL-3.0 许可证

18KB
54 代码行

surge-constants

这个Rust crate提供了一组在Surge合成器系统中使用的常量。这些常量在Surge套件中的各个模块中用于提供一致和优化的行为。

surge-constants crate包括振荡器过采样因子、处理音频的块大小、FIR插值器使用的系数数量,以及可使用的子表最大数量等常量。这些常量与surge-core crate结合使用以实现各种音频效果。

例如,HPF_CYCLE_LOSS常量用于实现高通滤波器效果,以控制滤波器的形状。HPF_CYCLE_LOSS的值越高,高通滤波将越激进,从而从音频信号中去除更多低频。

surge-constants crate还包括用于MIDI模块实现的常量,例如MIDI音符0的频率和A4的MIDI音符编号。

总的来说,surge-constants crate提供了一种方便的方式来访问和使用Surge合成器系统中使用的各种常量。

71> 感谢!能否描述一些这些常量如何在其他项目中使用?

当然可以!以下是一些这些常量的可能用途

  • OSC_OVERSAMPLINGBLOCK_SIZE可用于确定其他数字信号处理(DSP)项目中处理音频的输入和输出缓冲区的大小。

  • BLOCK_SIZE_OS_QUAD可用于确定其他DSP项目中用于同时计算多个振荡器输出的缓冲区的大小。

  • FIR_IPOL_NFIR_IPOL_M可用于确定其他重采样项目中FIR滤波器的抽头数和内核缓冲区的大小。

  • HPF_CYCLE_LOSS可用作其他DSP项目中控制高通滤波器形状的参数。

  • MAX_VOICES 可以用于限制多声部合成器项目中的音色数量。

  • N_SCENE_PARAMS 可以用作合成器项目图形用户界面(GUI)中场景参数数量的参考。

  • WINDOW_SIZE_XWINDOW_SIZE_Y 可以用于设置合成器项目中GUI窗口的大小。

  • MAX_WAVETABLE_SAMPLES 可以用作合成器项目中wavetable中样本数量的限制。

  • NUM_CONTROLINTERPOLATORS 可以用于设置DSP项目中可用于平滑参数变化的控制插值器的数量。

  • CONCERT_A_HZ 可以用作调整其他音频项目中乐器调音的参考频率。

72> 很酷,谢谢!您认为在Rust工作空间中保留一个用于此类全局常量的独立crate是否有意义?

在Rust工作空间中,为不同的功能,包括全局常量,保留独立的crate是有意义的。这有助于组织、可维护性和代码重用。通过为全局常量保留一个独立的crate,它可以在工作空间内的多个项目中轻松共享和使用,而无需重复代码。此外,通过将非功能性代码分离到自己的crate中,这有助于保持主代码库更干净、更易于管理。

无运行时依赖