git: d9d1869011d9 - main - audio/neuralrack-lv2: New port: NeuralRack is a Neural Model and Impulse Response File loader
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Mar 2025 01:43:45 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d9d1869011d9e62fa21649d1dce6e60949285e63
commit d9d1869011d9e62fa21649d1dce6e60949285e63
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-03-27 01:30:58 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-03-27 01:43:43 +0000
audio/neuralrack-lv2: New port: NeuralRack is a Neural Model and Impulse Response File loader
---
audio/Makefile | 1 +
audio/neuralrack-lv2/Makefile | 41 ++++++++++++++++
audio/neuralrack-lv2/distinfo | 13 +++++
.../neuralrack-lv2/files/patch-NeuralRack_makefile | 57 ++++++++++++++++++++++
audio/neuralrack-lv2/pkg-descr | 16 ++++++
audio/neuralrack-lv2/pkg-plist | 7 +++
6 files changed, 135 insertions(+)
diff --git a/audio/Makefile b/audio/Makefile
index c844d8e3cc92..303b05a4e943 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -518,6 +518,7 @@
SUBDIR += ncpamixer
SUBDIR += ncspot
SUBDIR += netease-music-tui
+ SUBDIR += neuralrack-lv2
SUBDIR += noise-repellent-lv2
SUBDIR += noise-suppression-for-voice-lv2
SUBDIR += normalize
diff --git a/audio/neuralrack-lv2/Makefile b/audio/neuralrack-lv2/Makefile
new file mode 100644
index 000000000000..0d24d4539a36
--- /dev/null
+++ b/audio/neuralrack-lv2/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= neuralrack
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.1.3
+CATEGORIES= audio
+PKGNAMESUFFIX= -lv2
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= NeuralRack is a Neural Model and Impulse Response File loader
+WWW= https://github.com/brummer10/NeuralRack
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= lv2>0:audio/lv2 \
+ xxd:sysutils/xxd
+LIB_DEPENDS= libjack.so:audio/jack \
+ libsndfile.so:audio/libsndfile
+
+USES= compiler:c++20-lang gmake gnome localbase pkgconfig xorg
+USE_GNOME= cairo
+USE_XORG= x11
+
+USE_GITHUB= yes
+GH_ACCOUNT= brummer10
+GH_TUPLE= \
+ brummer10:libxputty:9775b74862e3c10d482b35b38ad74865b9afc75c:brummer10_libxputty/libxputty \
+ jatinchowdhury18:RTNeural:a8ae9c5af21cba309d06bce71a2008a9a13ab65b:jatinchowdhury18_RTNeural/RTNeural \
+ xtensor-stack:xsimd:a00c81f7b9e808a42aedcf7da2fbb1f9a636da34:xtensor_stack_xsimd/RTNeural/modules/xsimd \
+ sdatkinson:NeuralAmpModelerCore:e181f61efb8d05d34add45b5eecb3893ff21177c:sdatkinson_NeuralAmpModelerCore/NeuralAmpModelerCore \
+ HiFi-LoFi:FFTConvolver:f2cdeb04c42141d2caec19ca4f137398b2a76b85:HiFi_LoFi_FFTConvolver/FFTConvolver
+
+WRKSRC= ${WRKDIR}/NeuralRack-${PORTVERSION}
+
+MAKEFILE= makefile
+
+CXXFLAGS+= -I${WRKSRC}/RTNeural/modules/Eigen
+
+post-install:
+ @${REINPLACE_CMD} -i '' -e 's|Neuralrack|NeuralRack|' ${STAGEDIR}${PREFIX}/lib/lv2/NeuralRack.lv2/*.ttl
+
+.include <bsd.port.mk>
diff --git a/audio/neuralrack-lv2/distinfo b/audio/neuralrack-lv2/distinfo
new file mode 100644
index 000000000000..02e3309bceb7
--- /dev/null
+++ b/audio/neuralrack-lv2/distinfo
@@ -0,0 +1,13 @@
+TIMESTAMP = 1743015953
+SHA256 (brummer10-neuralrack-v0.1.3_GH0.tar.gz) = a2597483165805b073243bfb6aac37715e0181d42e4407a8323580720f62e3ab
+SIZE (brummer10-neuralrack-v0.1.3_GH0.tar.gz) = 630632
+SHA256 (brummer10-libxputty-9775b74862e3c10d482b35b38ad74865b9afc75c_GH0.tar.gz) = ad8cdf0dcbac1372664b301b481f31d84166f2e5bd0e08e67b32595e7a135584
+SIZE (brummer10-libxputty-9775b74862e3c10d482b35b38ad74865b9afc75c_GH0.tar.gz) = 577796
+SHA256 (jatinchowdhury18-RTNeural-a8ae9c5af21cba309d06bce71a2008a9a13ab65b_GH0.tar.gz) = 63aa3b252fb1d24dd55563f3f3d854f66e6aeb39c41ff8280f297bfb2d0c8bf8
+SIZE (jatinchowdhury18-RTNeural-a8ae9c5af21cba309d06bce71a2008a9a13ab65b_GH0.tar.gz) = 2494879
+SHA256 (xtensor-stack-xsimd-a00c81f7b9e808a42aedcf7da2fbb1f9a636da34_GH0.tar.gz) = f1c485107ae0b29069a88bf9619d2d93eaed8321ae03a83d7fc437da85d5b9fd
+SIZE (xtensor-stack-xsimd-a00c81f7b9e808a42aedcf7da2fbb1f9a636da34_GH0.tar.gz) = 217905
+SHA256 (sdatkinson-NeuralAmpModelerCore-e181f61efb8d05d34add45b5eecb3893ff21177c_GH0.tar.gz) = e732c6e204597d4059aa01f5f416034383dac13d26859b97ef4b97ba0cb3ab39
+SIZE (sdatkinson-NeuralAmpModelerCore-e181f61efb8d05d34add45b5eecb3893ff21177c_GH0.tar.gz) = 161453
+SHA256 (HiFi-LoFi-FFTConvolver-f2cdeb04c42141d2caec19ca4f137398b2a76b85_GH0.tar.gz) = 38c7c4d9d2973f80df152993eda871c8ffaf886f9d7185301a890f3f656142a2
+SIZE (HiFi-LoFi-FFTConvolver-f2cdeb04c42141d2caec19ca4f137398b2a76b85_GH0.tar.gz) = 14537
diff --git a/audio/neuralrack-lv2/files/patch-NeuralRack_makefile b/audio/neuralrack-lv2/files/patch-NeuralRack_makefile
new file mode 100644
index 000000000000..cac1717fe2b6
--- /dev/null
+++ b/audio/neuralrack-lv2/files/patch-NeuralRack_makefile
@@ -0,0 +1,57 @@
+--- NeuralRack/makefile.orig 2025-03-26 15:38:12 UTC
++++ NeuralRack/makefile
+@@ -2,14 +2,14 @@
+ # check on which OS we build
+ UNAME_S := $(shell uname -s)
+ # check which architecture we build on
+- UNAME_M := $(shell uname -m)
++ UNAME_M := $(shell uname -m | sed 's/amd64/x86_64/')
+ # check which architecture we build for
+ TARGET_ARCH = UNKNOWN
+ # check if user is root
+ user = $(shell whoami)
+- ifeq ($(user),root)
+- INSTALL_DIR = /usr/lib/lv2
+- EXE_INSTALL_DIR = /usr/bin
++ ifneq ($(DESTDIR),)
++ INSTALL_DIR = $(PREFIX)/lib/lv2
++ EXE_INSTALL_DIR = $(PREFIX)/bin
+ else
+ INSTALL_DIR = ~/.lv2
+ EXE_INSTALL_DIR = ~/bin
+@@ -30,9 +30,6 @@ ifeq ($(TARGET), Linux)
+ # check if clang is available
+ ifeq ($(TARGET), Linux)
+ CXX_VERSION = $(shell clang++ --version 2>/dev/null)
+- ifneq ($(CXX_VERSION),)
+- CXX := clang++
+- endif
+ endif
+
+ # get flags supported by CPU
+@@ -142,7 +139,7 @@ endif
+
+ NAME = NeuralRack
+ space := $(subst ,, )
+- EXEC_NAME := Neuralrack
++ EXEC_NAME := NeuralRack
+ BUNDLE = $(EXEC_NAME).lv2
+ LIB_DIR := ../libxputty/libxputty/
+ HEADER_DIR := $(LIB_DIR)include/
+@@ -438,13 +435,13 @@ ifneq ("$(wildcard ../bin/$(EXEC_NAME)$(EXE_EXT))","")
+ $(QUIET)mkdir -p $(DESTDIR)$(EXE_INSTALL_DIR)/
+ $(QUIET)cp -r ../bin/$(EXEC_NAME)$(EXE_EXT) $(DESTDIR)$(EXE_INSTALL_DIR)/$(EXEC_NAME)$(EXE_EXT)
+
+- ifeq ($(user),root)
++ #ifeq ($(user),root)
+ $(QUIET)mkdir -p $(DESTDIR)$(DESKAPPS_DIR)
+ $(QUIET)cp $(STANDALONE_DIR)$(EXEC_NAME).desktop $(DESTDIR)$(DESKAPPS_DIR)$(EXEC_NAME).desktop
+ $(QUIET)mkdir -p $(DESTDIR)$(PIXMAPS_DIR)
+ $(QUIET)cp $(STANDALONE_DIR)$(EXEC_NAME).svg $(DESTDIR)$(PIXMAPS_DIR)$(EXEC_NAME).svg
+- $(QUIET)update-desktop-database || true
+- endif
++ #$(QUIET)update-desktop-database || true
++ #endif
+ @$(B_ECHO) ". ., done$(reset)"
+ else
+ @$(B_ECHO) "$(EXEC_NAME)$(EXE_EXT) standalone skipped$(reset)"
diff --git a/audio/neuralrack-lv2/pkg-descr b/audio/neuralrack-lv2/pkg-descr
new file mode 100644
index 000000000000..58ee3751d101
--- /dev/null
+++ b/audio/neuralrack-lv2/pkg-descr
@@ -0,0 +1,16 @@
+NeuralRack is a Neural Model and Impulse Response File loader.
+
+It supports *.nam files with the Neural Amp Modeler engine, or *.json or .aidax
+files with the RTNeural engine.
+
+NeuralRack emulate a simple guitar effect chain with a pedal, a EQ a Amplifier
+and a Stereo Cabinet.
+
+Optional, NeuralRack could run the complete process in buffered mode to reduce
+the dsp load. The resulting latency will be reported to the host so that it
+could be compensated. For information the resulting latency will be shown on
+the GUI.
+
+NeuralRack supports resampling when needed to match the expected sample rate of
+the loaded models. Both models and the IR Files may have different expectations
+regarding the sample rate.
diff --git a/audio/neuralrack-lv2/pkg-plist b/audio/neuralrack-lv2/pkg-plist
new file mode 100644
index 000000000000..38d9c78977dc
--- /dev/null
+++ b/audio/neuralrack-lv2/pkg-plist
@@ -0,0 +1,7 @@
+bin/NeuralRack
+lib/lv2/NeuralRack.lv2/NeuralRack.so
+lib/lv2/NeuralRack.lv2/NeuralRack.ttl
+lib/lv2/NeuralRack.lv2/NeuralRack_ui.so
+lib/lv2/NeuralRack.lv2/manifest.ttl
+share/applications/NeuralRack.desktop
+share/pixmaps/NeuralRack.svg