From 761078ece0582aba1dd9f29a132a09e16f8d5b4f Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Tue, 11 Apr 2023 18:09:55 +1000 Subject: gnu: Add easyeffects. * gnu/packages/audio.scm (easyeffects): New variable. Change-Id: Ie58da47abf7312708840fdec97f19f7aad3ea337 --- gnu/packages/audio.scm | 99 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7649f98ed8..9f65c91314 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2018, 2019, 2022 Marius Bakke ;;; Copyright © 2018, 2021 Thorsten Wilms ;;; Copyright © 2018 Eric Bavier -;;; Copyright © 2018, 2022, 2023 Brendan Tildesley +;;; Copyright © 2018, 2022, 2023, 2024 Brendan Tildesley ;;; Copyright © 2019, 2021 Pierre Langlois ;;; Copyright © 2019, 2021 Leo Famulari ;;; Copyright © 2019 Rutger Helling @@ -74,6 +74,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages dbm) #:use-module (gnu packages documentation) @@ -83,6 +84,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) @@ -115,6 +117,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate + #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) @@ -129,6 +132,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) + #:use-module (gnu packages tbb) #:use-module (gnu packages telephony) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) @@ -6394,3 +6398,96 @@ (define-public cubeb (description "Cubeb is Mozilla's cross-platform audio library.") (home-page "https://github.com/mozilla/cubeb") (license license:isc)))) + +(define-public easyeffects + (package + (name "easyeffects") + (version "7.0.1") ; later version require gtk 4.10 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wwmm/easyeffects") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c49yd4dfh7qarq5h651dgxdbs71is4pp1sl8r0gfswqji6bv39w")))) + (build-system meson-build-system) + (native-inputs + (list `(,glib "bin") ;for glib-compile-resources + gettext-minimal + itstool + pkg-config)) + (inputs + (list fftwf + fmt + gsl + gtk + json-modern-cxx ;nlohmann_json + libadwaita + libbs2b + libebur128 + libportal + libsamplerate + libsigc++ + libsndfile + lilv + pango + pipewire + rnnoise + speex + speexdsp + tbb + zita-convolver)) + ;; Propagating these allows EasyEffects to find the plugins via their + ;; search-path specification + (propagated-inputs + (list calf + lsp-plugins + lv2 + mda-lv2 + rubberband + zam-plugins)) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ ; Remove dependency on needless desktop cache stuff. + (substitute* "meson.build" + (("gtk_update_icon_cache: true") "gtk_update_icon_cache: false") + (("update_desktop_database: true") "update_desktop_database: false"))))))) + (home-page "https://github.com/wwmm/easyeffects") + (synopsis "Realtime Audio effects interface for Pipewire") + (description "EasyEffects is an advanced audio manipulation tool providing +a graphical user interface to apply various effects and filters to audio +streams using Pipewire. Effects can be applied in real time to audio inputs or +outputs such as a microphone to reduce noise or apply many other effects +including: + +@itemize +@item Auto gain +@item Bass enhancer +@item Bass loudness +@item Compressor +@item Convolver +@item Crossfeed +@item Crystalizer +@item De-esser +@item Delay +@item Echo Canceller +@item Equalizer +@item Exciter +@item Filter (low-pass, high-pass, band-pass and band-reject modes) +@item Gate +@item Limiter +@item Loudness +@item Maximizer +@item Multiband compressor +@item Multiband gate +@item Noise reduction +@item Pitch +@item Reverberation +@item Speech Processor +@item Stereo tools +@end itemize") + (license license:gpl3+))) -- cgit v1.2.3