summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKacper Słomiński <kacper.slominski72@gmail.com>2024-07-28 02:06:35 +0200
committerSam James <sam@gentoo.org>2024-07-28 03:35:51 +0100
commitcd27adc3beb65cda8f4226a1e9300d80300010ba (patch)
tree6627758225c25fd46963a6e89322d8abb8671933 /media-libs/noise-suppression-for-voice
parentmedia-video/gaupol: replace USE flags with optfeature, update LICENSE (diff)
downloadgentoo-cd27adc3beb65cda8f4226a1e9300d80300010ba.tar.gz
gentoo-cd27adc3beb65cda8f4226a1e9300d80300010ba.tar.bz2
gentoo-cd27adc3beb65cda8f4226a1e9300d80300010ba.zip
media-libs/noise-suppression-for-voice: add 1.10-r1, update live
The new revision installs a sample PipeWire configuration file. Additionally, we're getting rid of the "ladspa" USE flag, to make sure the configuration always works. This shouldn't be a problem as the ladspa plugin is not that heavy compared to all the other ones. This also lets us clean up REQUIRED_USE. Closes: https://bugs.gentoo.org/936789 Signed-off-by: Kacper Słomiński <kacper.slominski72@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/noise-suppression-for-voice')
-rw-r--r--media-libs/noise-suppression-for-voice/files/99-input-denoising.conf33
-rw-r--r--media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.10-r1.ebuild82
-rw-r--r--media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild23
3 files changed, 135 insertions, 3 deletions
diff --git a/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf b/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf
new file mode 100644
index 000000000000..37b770619d82
--- /dev/null
+++ b/media-libs/noise-suppression-for-voice/files/99-input-denoising.conf
@@ -0,0 +1,33 @@
+context.modules = [
+{ name = libpipewire-module-filter-chain
+ args = {
+ node.description = "Noise Canceling source"
+ media.name = "Noise Canceling source"
+ filter.graph = {
+ nodes = [
+ {
+ type = ladspa
+ name = rnnoise
+ plugin = %PATH_TO_LADSPA_PLUGIN%
+ label = noise_suppressor_mono
+ control = {
+ "VAD Threshold (%)" = 50.0
+ "VAD Grace Period (ms)" = 200
+ "Retroactive VAD Grace (ms)" = 0
+ }
+ }
+ ]
+ }
+ capture.props = {
+ node.name = "capture.rnnoise_source"
+ node.passive = true
+ audio.rate = 48000
+ }
+ playback.props = {
+ node.name = "rnnoise_source"
+ media.class = Audio/Source
+ audio.rate = 48000
+ }
+ }
+}
+]
diff --git a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.10-r1.ebuild b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.10-r1.ebuild
new file mode 100644
index 000000000000..c2f614f070e7
--- /dev/null
+++ b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-1.10-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="A real-time noise suppression plugin for voice"
+HOMEPAGE="https://github.com/werman/noise-suppression-for-voice"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/werman/noise-suppression-for-voice.git"
+else
+ SRC_URI="https://github.com/werman/noise-suppression-for-voice/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+IUSE="lv2 vst vst3 test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ media-libs/freetype
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+"
+
+DEPEND="
+ lv2? ( ${COMMON_DEPEND} )
+ vst? ( ${COMMON_DEPEND} )
+ vst3? ( ${COMMON_DEPEND} )
+"
+
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-tests.patch"
+)
+
+src_configure() {
+ # Bug #925672
+ append-atomic-flags
+
+ local mycmakeargs=(
+ -DBUILD_LADSPA_PLUGIN=ON
+ -DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)
+ -DBUILD_VST_PLUGIN=$(usex vst ON OFF)
+ -DBUILD_VST3_PLUGIN=$(usex vst3 ON OFF)
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DBUILD_AU_PLUGIN=OFF
+ -DBUILD_AUV3_PLUGIN=OFF
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cp "${BUILD_DIR}/src/common/CTestTestfile.cmake" "${BUILD_DIR}/CTestTestfile.cmake" || die
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ dodir /usr/share/pipewire/pipewire.conf.avail/
+ sed "s|%PATH_TO_LADSPA_PLUGIN%|${EPREFIX}/usr/$(get_libdir)/ladspa/librnnoise_ladspa.so|" \
+ "${FILESDIR}/99-input-denoising.conf" \
+ > "${D}/${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf" || die
+}
+
+pkg_postinst() {
+ elog "An example PipeWire configuration has been installed into:"
+ elog "${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
+ elog ""
+ elog "You can enable it by copying or symlinking the file into:"
+ elog " ~/.config/pipewire/pipewire.conf.d/ for your user, or"
+ elog " /etc/pipewire/pipewire.conf.d/ to enable it system-wide."
+}
diff --git a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
index ef705f8b46f6..0affaae2c0c2 100644
--- a/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
+++ b/media-libs/noise-suppression-for-voice/noise-suppression-for-voice-9999.ebuild
@@ -19,8 +19,7 @@ fi
LICENSE="GPL-3+"
SLOT="0"
-IUSE="+ladspa lv2 vst vst3 test"
-REQUIRED_USE="|| ( ladspa lv2 vst vst3 )"
+IUSE="lv2 vst vst3 test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -44,7 +43,7 @@ src_configure() {
append-atomic-flags
local mycmakeargs=(
- -DBUILD_LADSPA_PLUGIN=$(usex ladspa ON OFF)
+ -DBUILD_LADSPA_PLUGIN=ON
-DBUILD_LV2_PLUGIN=$(usex lv2 ON OFF)
-DBUILD_VST_PLUGIN=$(usex vst ON OFF)
-DBUILD_VST3_PLUGIN=$(usex vst3 ON OFF)
@@ -59,3 +58,21 @@ src_test() {
cp "${BUILD_DIR}/src/common/CTestTestfile.cmake" "${BUILD_DIR}/CTestTestfile.cmake" || die
cmake_src_test
}
+
+src_install() {
+ cmake_src_install
+
+ dodir /usr/share/pipewire/pipewire.conf.avail/
+ sed "s|%PATH_TO_LADSPA_PLUGIN%|${EPREFIX}/usr/$(get_libdir)/ladspa/librnnoise_ladspa.so|" \
+ "${FILESDIR}/99-input-denoising.conf" \
+ > "${D}/${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf" || die
+}
+
+pkg_postinst() {
+ elog "An example PipeWire configuration has been installed into:"
+ elog "${EPREFIX}/usr/share/pipewire/pipewire.conf.avail/99-input-denoising.conf"
+ elog ""
+ elog "You can enable it by copying or symlinking the file into:"
+ elog " ~/.config/pipewire/pipewire.conf.d/ for your user, or"
+ elog " /etc/pipewire/pipewire.conf.d/ to enable it system-wide."
+}