Core C++ DSP library for NAM plugins.
For an example how to use, see NeuralAmpModelerPlugin.
There are a couple tools that exist to help you use this repo.
For guidance on building them, have a look at the workflow provided in .github/workflows/build.yml.
run_tests, which runs a suite of unit tests.loadmodel, which allows you to test loading a.namfile.benchmodel, which allows you to test how quickly a model runs in real time. _Note: For more granular profiling tools, check out themain-profilingbranch.
This library uses Eigen to do the linear algebra routines that its neural networks require. Since these models hold their parameters as eigen object members, there is a risk with certain compilers and compiler optimizations that their memory is not aligned properly. This can be worked around by providing two preprocessor macros: EIGEN_MAX_ALIGN_BYTES 0 and EIGEN_DONT_VECTORIZE, though this will probably harm performance. See Structs Having Eigen Members for more information. This is being tracked as Issue 67.
Development of version 0.4.0 of this library has been generously supported by TONE3000. Thank you!