LibCube:更轻松地从音频合成器中发现新声音
LibCube: Find new sounds from audio synths easier

原始链接: https://github.com/cslr/libcube-public/wiki

该库 `cube_param.dll` 利用机器学习为音频合成器提供“参数降维”技术。它解决了合成器参数众多且复杂的问题,将其简化为易于管理的2-3个参数,从而简化音色设计并实现高效的参数空间探索。 C++ 实现提供二进制兼容的 C API(定义在 `cube_interface.h` 中),并利用 t-SNE 进行降维,得益于多核 CPU 支持,可以高效地处理大型预设数据集。一个示例 (`test_cube_c_api.cpp`) 演示了其用法。 虽然参数*搜索*速度很快,但从降维空间重建完整的参数集计算量很大,无法在 DAW 中进行实时自动化。它最适合离线音色设计。提供了示例声音和演示其与商业 VST (Sylent1) 配合使用的视频。 该库可以免费集成,欢迎反馈至 [email protected]。提供有限的支持。

## LibCube:AI驱动的合成器音色探索 LibCube是一个新工具(github.com/cslr),旨在简化在音序合成器中发现音色的过程,这些合成器通常具有众多且复杂的参数。该项目在Hacker News用户中引发了讨论,一位评论员将其与Aphex Twin的人工智能补丁生成器相提并论。 虽然一些人觉得这个工具很有趣并赞赏其底层代码,但关于合成器操作基本原理的长时间争论也随之而来。具体来说,争论的焦点在于ADSR包络中“维持”阶段的定义——它代表一个电平还是一个持续时间。 除了技术讨论之外,用户还强调了其他声音设计方法,如FM合成和西海岸合成,强调了音频创作中广阔的可能性。一些评论员建议使用“wekinator”等工具手动编录音色,并指出LibCube作为插件开发者演示的潜力。
相关文章

原文

This DLL binary release implements "parameter reduction" machine learning code. The typical audio synthesizer has large number of parameters which are difficult to tweak. The C++ implementation with binary compatible "C API" allows you to reduce the number of parameters to two or three which can be then searched more easily for new sounds (machine learning maps parameter space to lower dimensional space of "good sounds/parameters"). In a VST synthesizer, you can give the synthesizer preset values to the library and allow user to search for new sounds.

Included file "test_cube_c_api.cpp" shows how to use the C API library. The C API is in "cube_interface.h" file and the DLL is "cube_param.dll". The example uses the t-SNE algorithm for the dimension reduction which is recommended and scales O(N*log(N)) with the number of N presets. The library takes advantage of multi-core CPUs and with modern CPUs, the computations proceed quite quickly.

Example VST reduced parameters

The example program can be compiled with wither "compile.sh" or "compile.bat" with MSYS2 MINGW or Visual C++ in Windows (Command-line must be initialized with "init_env.bat" with Visual C++ (Community 2022 edition)).

The library depends on few "linux" DLLs with their own licenses which don't stop using the program commercially.

Because a parameter reconstruction to higher dimensional original parameter space is done using neural networks, it requires many cycles of CPU time and you cannot use automation in DAW to keep changing those parameters in 44.100 Hz times per second or something. You can change parameters and then play instrument offline but cannot keep changing parameters real-time.

Example sounds found from audio synth with lots of good preset values.

Example sound 1

Example sound 2

YouTube video example showing how libcube can find good sounds from real commercial VST2 synthesizer (Sylent1).

YouTube example video

I would be interested to get feedback about this software. You can freely integrate the library with your audio synthesizers.

My email is [email protected].

I do not have time to give much support for the software but can answer some questions.

联系我们 contact @ memedata.com