11 Commits

Author SHA1 Message Date
Mike Oliphant bccf9a02ae Use gcc15 for linux builds 2026-06-26 11:17:22 -07:00
Mike Oliphant 829439a060 Use gcc15 for linux build 2026-06-26 11:14:41 -07:00
Mike Oliphant f3a1ec33af Update README.md 2026-06-26 07:22:24 -07:00
Mike Oliphant b696913a9b Update README.md 2026-06-26 07:21:54 -07:00
Mike Oliphant 3742056b89 Bump version -> 0.2.1 2026-06-26 06:55:43 -07:00
Mike Oliphant 17e5cb826c Update NeuralAudio 2026-06-25 15:26:43 -07:00
Mike Oliphant 7b24522647 Update NeuralAudio (fix NAM A2 oversampling) 2026-06-15 09:29:57 -07:00
Mike Oliphant d2e3be5d03 Update NeuralAudio (fix composite model receptive field) 2026-06-14 13:30:12 -07:00
Mike Oliphant 7337541c5b Update release.yml 2026-06-14 09:33:33 -07:00
Mike Oliphant 1f79a13947 Visual Studio -> 2026 2026-06-14 09:33:14 -07:00
Mike Oliphant cc13dcb0e7 Merge pull request #115 from mikeoliphant/oversample
Oversampling support
2026-06-14 09:32:40 -07:00
5 changed files with 26 additions and 8 deletions
+8 -2
View File
@@ -14,11 +14,17 @@ jobs:
- uses: actions/checkout@v3.3.0
with:
submodules: recursive
- name: Setup GCC 15
uses: egor-tensin/setup-gcc@v2
with:
version: '15'
- name: Build Plugin
working-directory: ${{github.workspace}}/build
env:
CXX: clang++
CXX: g++-15
CXXFLAGS: "-static-libstdc++ -static-libgcc"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_UTILS=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DBUILD_NAMCORE=ON -DBUILD_STATIC_RTNEURAL=ON
cmake --build . --config $BUILD_TYPE -j4
@@ -51,7 +57,7 @@ jobs:
- name: Build Plugin
working-directory: ${{github.workspace}}/build
run: |
cmake.exe -G "Visual Studio 17 2022" -A x64 -DBUILD_UTILS=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DBUILD_NAMCORE=ON -DBUILD_STATIC_RTNEURAL=ON -T ClangCL ..
cmake.exe -G "Visual Studio 18 2026" -A x64 -DBUILD_UTILS=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DBUILD_NAMCORE=ON -DBUILD_STATIC_RTNEURAL=ON -T ClangCL ..
cmake --build . --config=release -j4
- name: Run ModelTest
+11 -3
View File
@@ -41,11 +41,17 @@ jobs:
- uses: actions/checkout@v3.3.0
with:
submodules: recursive
- name: Setup GCC 15
uses: egor-tensin/setup-gcc@v2
with:
version: '15'
- name: Build Plugin
working-directory: ${{github.workspace}}/build
env:
CXX: clang++
CXX: g++-15
CXXFLAGS: "-static-libstdc++ -static-libgcc"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON
cmake --build . --config $BUILD_TYPE -j4
@@ -72,7 +78,7 @@ jobs:
native_arch: [rpi4, rpi5]
runs-on: ubuntu-latest
container:
image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc12
image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc15
env:
ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz
steps:
@@ -82,6 +88,8 @@ jobs:
- name: Build Plugin
working-directory: ${{github.workspace}}/build
env:
CXXFLAGS: "-static-libstdc++ -static-libgcc"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DCMAKE_TOOLCHAIN_FILE=/home/develop/opt/x-tools/aarch64-rpi3-linux-gnu/aarch64-${{ matrix.native_arch }}-linux-gnu.toolchain.cmake
cmake --build . --config $BUILD_TYPE -j4
@@ -117,7 +125,7 @@ jobs:
- name: Build Plugin
working-directory: ${{github.workspace}}/build
run: |
cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON ..
cmake.exe -G "Visual Studio 18 2026" -A x64 -T ClangCL -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON ..
cmake --build . --config=release -j4
- name: Add LV2 Archive
+1 -1
View File
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.10)
project(NeuralAmpModelerLv2 VERSION 0.2.0)
project(NeuralAmpModelerLv2 VERSION 0.2.1)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib CACHE PATH "The library install dir (default: lib)")
+5 -1
View File
@@ -5,7 +5,7 @@ LV2 plugin for neural network machine learning amp model playback using the [Neu
**There is no custom plugin user interface**. Setting the model to use requires that your LV2 host supports atom:Path parameters. Reaper does as of v6.82. Carla and Ardour do. If your favorite LV2 host does not support atom:Path, let them know you want it.
If you are looking for a GUI version, @brummer10 [has one here](https://github.com/brummer10/neural-amp-modeler-ui) that works for Linux and Windows. You may also be interested in the the version shipped with the [MOD Desktop App](https://github.com/moddevices/mod-desktop-app), or my digital pedalboard app [Stompbox](https://github.com/mikeoliphant/Stompbox).
To get the intended behavior, **you must run your audio host at the same sample rate the model was trained at** (usually 48kHz) - no resampling is done by the plugin.
To get the intended behavior, **you must run your audio host at the same sample rate the model was trained at** (usually 48kHz) - no resampling is done by the plugin. An exception to this is oversampling (running at an even multiple of the model sample rate). See the "[Oversampling](https://github.com/mikeoliphant/neural-amp-modeler-lv2/blob/main/README.md#oversampling)" section below.
For amp-only models (the most typical), **you will need to run an impulse reponse after this plugin** to model the cabinet.
@@ -33,6 +33,10 @@ For more information on model type support and performance, see the [NeuralAudio
The expected input level to the plugin is 12dBu. For models that include input level information, they will be calibrated against this level. If you know the input level of your audio interface, you should adjust the input level relative to the expected 12dBu to provide the appropriate signal level to the model.
## Oversampling
If you run at a sample rate that is an even multiple of the model sample rate, the model will be correctly oversampled to behave as expected. So, if the model sample rate is 48kHz (which they typically are), and you are running at 96kHz, the model will be 2x oversampled. This also means that if your DAW supports oversampling, you can safely use it. Running oversampled comes with a signficant performance cost, but can be useful for reducing aliasing.
## Building
First clone the repository: