From 1a7959a74943f64572e42fe3d7feeb7b789ee44c Mon Sep 17 00:00:00 2001
From: j1nx
Date: Thu, 5 Jan 2023 11:48:09 +0100
Subject: [PATCH] Add rnnnoise-ladspa plugin for denoising
---
buildroot-external/Config.in | 1 +
.../configs/rpi3_64-gui_defconfig | 1 +
.../configs/rpi4_64-gui_defconfig | 1 +
.../package/rnnnoise-ladspa/Config.in | 7 ++++++
.../rnnnoise-ladspa/rnnnoise-ladspa.hash | 2 ++
.../rnnnoise-ladspa/rnnnoise-ladspa.mk | 23 +++++++++++++++++++
6 files changed, 35 insertions(+)
create mode 100644 buildroot-external/package/rnnnoise-ladspa/Config.in
create mode 100644 buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.hash
create mode 100644 buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.mk
diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in
index 510179ee..4761c9ec 100644
--- a/buildroot-external/Config.in
+++ b/buildroot-external/Config.in
@@ -106,6 +106,7 @@ endmenu
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/pthreadpool/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/qt5ct/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/respeaker/Config.in"
+ source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/rnnnoise-ladspa/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/rpi-eeprom/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/ruy/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/snapcast/Config.in"
diff --git a/buildroot-external/configs/rpi3_64-gui_defconfig b/buildroot-external/configs/rpi3_64-gui_defconfig
index f5206acf..eaf9e1ce 100644
--- a/buildroot-external/configs/rpi3_64-gui_defconfig
+++ b/buildroot-external/configs/rpi3_64-gui_defconfig
@@ -591,6 +591,7 @@ BR2_PACKAGE_OVOS_SPLASH=y
BR2_PACKAGE_PICOTTS=y
BR2_PACKAGE_QT5CT=y
BR2_PACKAGE_RESPEAKER=y
+BR2_PACKAGE_RNNNOISE_LADSPA=y
BR2_PACKAGE_SNAPCAST=y
BR2_PACKAGE_SNAPCAST_SERVER=y
BR2_PACKAGE_SPOTIFYD=y
diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig
index b8ad50b2..3eea10e0 100644
--- a/buildroot-external/configs/rpi4_64-gui_defconfig
+++ b/buildroot-external/configs/rpi4_64-gui_defconfig
@@ -591,6 +591,7 @@ BR2_PACKAGE_OVOS_SPLASH=y
BR2_PACKAGE_PICOTTS=y
BR2_PACKAGE_QT5CT=y
BR2_PACKAGE_RESPEAKER=y
+BR2_PACKAGE_RNNNOISE_LADSPA=y
BR2_PACKAGE_SNAPCAST=y
BR2_PACKAGE_SNAPCAST_SERVER=y
BR2_PACKAGE_SPOTIFYD=y
diff --git a/buildroot-external/package/rnnnoise-ladspa/Config.in b/buildroot-external/package/rnnnoise-ladspa/Config.in
new file mode 100644
index 00000000..bb360df1
--- /dev/null
+++ b/buildroot-external/package/rnnnoise-ladspa/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_RNNNOISE_LADSPA
+ bool "rnnnoise-ladspa"
+ help
+ Noise suppression plugin based on Xiph's RNNoise
+
+ https://github.com/werman/noise-suppression-for-voice
+
diff --git a/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.hash b/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.hash
new file mode 100644
index 00000000..a25c2586
--- /dev/null
+++ b/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 fada23c6d7cb49b140e1dde2911de1a07d22c0339c075caebe0f74abf65ff506 rnnnoise-ladspa-c1cf4307c75abed8e3ecccdd23a35f7782feaf69.tar.gz
diff --git a/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.mk b/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.mk
new file mode 100644
index 00000000..0d06f568
--- /dev/null
+++ b/buildroot-external/package/rnnnoise-ladspa/rnnnoise-ladspa.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# rnnnoise-ladspa
+#
+################################################################################
+
+RNNNOISE_LADSPA_VERSION = c1cf4307c75abed8e3ecccdd23a35f7782feaf69
+RNNNOISE_LADSPA_SITE = $(call github,werman,noise-suppression-for-voice,$(RNNNOISE_LADSPA_VERSION))
+RNNNOISE_LADSPA_LICENSE = Apache License 2.0
+
+RNNNOISE_LADSPA_INSTALL_STAGING = YES
+RNNNOISE_LADSPA_DEPENDENCIES = host-pkgconf
+RNNNOISE_LADSPA_SUPPORTS_IN_SOURCE_BUILD = NO
+
+RNNNOISE_LADSPA_CONF_OPTS = \
+ -DBUILD_LADSPA_PLUGIN=ON \
+ -DBUILD_VST_PLUGIN=OFF \
+ -DBUILD_VST3_PLUGIN=OFF \
+ -DBUILD_LV2_PLUGIN=OFF \
+ -DBUILD_AU_PLUGIN=OFF \
+ -DBUILD_AUV3_PLUGIN=OFF
+
+$(eval $(cmake-package))