#synth #video #dsp #audio-video

nightly app vince

音频-视频合成器

1 个不稳定版本

0.4.6 2023年8月12日

#796 in 音频

MIT 许可证

16MB
7K SLoC

版权所有 (c) 2023 Louise Montalvo [email protected]

Vince 音频-视频合成器

这是一个用于处理音频和视频信号的模块化合成器系统。由于处于早期开发阶段,请勿期待稳定性。

模块定义在 src/modules 目录下的单独文件中。每个模块可以接受几个输入,产生几个输出,并使用几个“旋钮”来调整模块特定的参数,如增益或速度。

用法

建议以发布模式运行,但不再是必需的。

$ cargo run --release racks/

机架

机架由模块及其之间的补丁组成。它们被定义为位于 assets/racks 目录下的 TOML 文件,该目录相对于 CARGO_MANIFEST_DIR 或构建的可执行文件。有关如何制作自己的机架的详细信息,请参阅提供的机架。当机架文件被修改时,它将在无需重新启动的情况下热重载。

基本示例机架

[modules]
0 = { name = "Audio Out", type = "AudioOut", knobs = [1.0] }

1 = { type = "Oscillator", func = "Sine", knobs = [0.0, 440.0, 1.0, 0.0] }
2 = { type = "Oscilloscope" }

[patches]
1M0O = [ # Take module 1's output 0
    "0M0I", # And patch it here to module 0's input 0
    "2M0I", # And here to module 2's input 0
]

每个模块都通过索引进行标识。这些索引不一定是顺序的,这使得在测试期间轻松注释掉模块成为可能。每个模块都有一个类型,该类型指定了模块源中定义的结构名称。每个模块还可以被命名,该名称将显示在屏幕上,代替模块类型。其余参数是模块特定的,因此务必阅读每个模块的文档,以了解每个模块的作用。

补丁

补丁由一个定义输出索引的键和一个列表组成,该列表列出了给定输出应复制的输入索引。每个输入/输出索引特定于某个模块,因此它还包含模块索引。补丁也可以在输出和旋钮之间创建。请参阅 racks/rack1.toml 以获取示例。

依赖关系
~43–81MB