sdatkinson/NeuralAmpModelerCore
GitHub: sdatkinson/NeuralAmpModelerCore
为 NAM 音频插件提供基于神经网络的吉他放大器建模 DSP 核心处理的 C++ 库。
Stars: 783 | Forks: 151
# NeuralAmpModelerCore
[](https://github.com/sdatkinson/NeuralAmpModelerCore/actions/workflows/build.yml)
用于 NAM 插件的核心 C++ DSP 库。
有关如何使用的示例,请参阅 [NeuralAmpModelerPlugin](https://github.com/sdatkinson/NeuralAmpModelerPlugin)。
## 包含的工具
此仓库包含一些有用的工具。
有关构建它们的指南,请查看 `.github/workflows/build.yml` 中提供的工作流。
* [`run_tests`](https://github.com/sdatkinson/NeuralAmpModelerCore/blob/761fa968766bcf67d3035320c195969d9ba41fa1/tools/CMakeLists.txt#L15),用于运行一套单元测试。
* [`loadmodel`](https://github.com/sdatkinson/NeuralAmpModelerCore/blob/761fa968766bcf67d3035320c195969d9ba41fa1/tools/CMakeLists.txt#L13),允许你测试加载 `.nam` 文件。
* [`benchmodel`](https://github.com/sdatkinson/NeuralAmpModelerCore/blob/761fa968766bcf67d3035320c195969d9ba41fa1/tools/CMakeLists.txt#L14),允许你测试模型在实时环境下的运行速度。_注意:如需更细致的性能分析工具,请查看 [`main-profiling`](https://github.com/sdatkinson/NeuralAmpModelerCore/tree/main-profiling) 分支。
## 潜在问题
本库使用 [Eigen](http://eigen.tuxfamily.org) 来执行其神经网络所需的线性代数例程。由于这些模型将其参数作为 Eigen 对象成员保存,因此在某些编译器和编译器优化下,存在内存未正确对齐的风险。可以通过提供两个预处理宏 `EIGEN_MAX_ALIGN_BYTES 0` 和 `EIGEN_DONT_VECTORIZE` 来解决此问题,尽管这可能会损害性能。有关更多信息,请参阅[包含 Eigen 成员的结构体](http://eigen.tuxfamily.org/dox-3.2/group__TopicStructHavingEigenMembers.html)。此问题已作为 [Issue 67](https://github.com/sdatkinson/NeuralAmpModelerCore/issues/67) 进行跟踪。
## 赞助商
本库 0.4.0 版本的开发得到了 [TONE3000](https://tone3000.com) 的慷慨支持。
**谢谢!**
标签:Apex, Bash脚本, C++, DSP, 数据擦除, 机器学习, 神经网络, 音频处理, 音频插件