mirror of
https://github.com/mikeoliphant/neural-amp-modeler-lv2.git
synced 2026-07-18 16:36:20 +02:00
Compare commits
28 Commits
c48fd2d230
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 1bb859eec7 | |||
| 2b83c812ad | |||
| 423813bbdd | |||
| 9981fd4005 | |||
| a5e59e2f86 | |||
| 35c28a52ec | |||
| 42ec31e940 | |||
| 11fcad480a | |||
| bccf9a02ae | |||
| 829439a060 | |||
| f3a1ec33af | |||
| b696913a9b | |||
| 3742056b89 | |||
| 17e5cb826c | |||
| 7b24522647 | |||
| d2e3be5d03 | |||
| 7337541c5b | |||
| 1f79a13947 | |||
| cc13dcb0e7 | |||
| 496f602fc2 | |||
| b816ebbc52 | |||
| 74503cc67a | |||
| 37f5071e6a | |||
| f84082b42d | |||
| 83e197721c | |||
| f76554aea0 | |||
| 9e704c0ce9 | |||
| f813aa449c |
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is. Please do not include AI chat transcripts.
|
||||
|
||||
**Environment**
|
||||
Please include information on the operating system and plugin host environment where you are experiencing the issue. If you can, please test in multiple different contexts (ie: different DAWs)
|
||||
|
||||
**Additional Information**
|
||||
Please add any additional detail here.
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(NeuralAmpModelerLv2 VERSION 0.2.0)
|
||||
project(NeuralAmpModelerLv2 VERSION 0.2.2)
|
||||
|
||||
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,10 +5,22 @@ 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.
|
||||
|
||||
## Usage
|
||||
|
||||
Your DAW should expose the following input controls:
|
||||
|
||||
**Input:** - Input (pre-model) gain in dB.
|
||||
|
||||
**Output:** - Output (post-model) volume in dB.
|
||||
|
||||
**Quality:** - Model quality (if applicable). For NAM A2 models, a value below 0.5 will give you a "lite" model and a value above 0.5 will give you a "full" model.
|
||||
|
||||
**Model:** - The model file (ie: xxx.nam) to use.
|
||||
|
||||
## Models Supported and Performance
|
||||
|
||||
The plugin supports both [Neural Amp Modeler (NAM)](https://github.com/sdatkinson/neural-amp-modeler) models (both A1 and A2) and [RTNeural keras json models](https://github.com/jatinchowdhury18/RTNeural) (like those used by [Aida-X](https://github.com/AidaDSP/AIDA-X)).
|
||||
@@ -21,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:
|
||||
|
||||
Vendored
+1
-1
Submodule deps/NeuralAudio updated: 3ad5806370...fec4ea2ca3
@@ -45,7 +45,7 @@ Models supported:
|
||||
Neural Amp Modeler (NAM): https://github.com/sdatkinson/neural-amp-modeler
|
||||
RTNeural keras/Aida-x models: https://github.com/jatinchowdhury18/RTNeural
|
||||
|
||||
A large collection of models is available at https://tonehunt.org
|
||||
A large collection of models is available at https://www.tone3000.com
|
||||
""";
|
||||
|
||||
patch:writable <@NAM_LV2_ID@#model>;
|
||||
|
||||
+9
-5
@@ -8,8 +8,8 @@ else()
|
||||
-Wall
|
||||
# -Wpedantic -Wextra -Wstrict-aliasing -Wunreachable-code -Weffc++ -Wno-unused-parameter
|
||||
"$<$<CONFIG:DEBUG>:-Og;-ggdb>"
|
||||
"$<$<CONFIG:RELWITHDEBINFO>:-Ofast>"
|
||||
"$<$<CONFIG:RELEASE>:-Ofast>"
|
||||
"$<$<CONFIG:RELWITHDEBINFO>:-O3>"
|
||||
"$<$<CONFIG:RELEASE>:-O3>"
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -19,13 +19,14 @@ if (CMAKE_SYSTEM_PROCESSOR MATCHES "(amd64)|(AMD64)|(x86_64)")
|
||||
|
||||
if (USE_NATIVE_ARCH)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
add_compile_options(/arch:AVX2)
|
||||
message(STATUS "Enabling /arch:AVX2")
|
||||
|
||||
add_compile_options(/arch:AVX2 /fp:fast)
|
||||
message(STATUS "Enabling /arch:AVX2")
|
||||
else()
|
||||
add_compile_options(-march=x86-64-v3)
|
||||
message(STATUS "Enabling -march=x86-64-v3")
|
||||
endif()
|
||||
else()
|
||||
set(MULTIFRAME_8X8_CONVOLUTION OFF CACHE BOOL "0" FORCE)
|
||||
endif (USE_NATIVE_ARCH)
|
||||
endif ()
|
||||
|
||||
@@ -58,6 +59,9 @@ option(SMART_BYPASS_ENABLED "Enable auto-bypass on silence" OFF)
|
||||
|
||||
if (SMART_BYPASS_ENABLED)
|
||||
add_definitions(-DSMART_BYPASS_ENABLED)
|
||||
message(STATUS "Smart Bypass enabled")
|
||||
else()
|
||||
message(STATUS "Smart Bypass NOT enabled")
|
||||
endif (SMART_BYPASS_ENABLED)
|
||||
|
||||
set_target_properties(neural_amp_modeler
|
||||
|
||||
@@ -45,6 +45,8 @@ namespace NAM {
|
||||
{
|
||||
this->sampleRate = sampleRate;
|
||||
|
||||
loader.SetExternalSampleRate((int)sampleRate);
|
||||
|
||||
// for fetching initial options, can be null
|
||||
LV2_Options_Option* options = nullptr;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user