aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/audio.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/audio.scm')
-rw-r--r--gnu/packages/audio.scm435
1 files changed, 211 insertions, 224 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..8ec78f665c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
-;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@@ -110,6 +110,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
@@ -616,8 +617,7 @@ Filter) modules follow the convention of 1V / Octave.")
"--enable-jack"
"--enable-sndfile"
"--enable-samplerate"
- "--enable-avcodec")
- #:python ,python-2))
+ "--enable-avcodec")))
(inputs
(list jack-1 libsndfile libsamplerate fftwf ffmpeg)) ; for libavcodec
(native-inputs
@@ -1980,6 +1980,51 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
+(define-public freepats-gm
+ (package
+ (name "freepats-gm")
+ (version "20210329")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://freepats.zenvoid.org/SoundSets/"
+ "FreePats-GeneralMIDI/FreePatsGM-SF2-" version ".7z"))
+ (sha256
+ (base32
+ "19a1mp9yi33j2zff4mjvhrjz97dwwgjwzfdlf84j9xyydhx0crhc"))))
+ (build-system trivial-build-system)
+ (native-inputs
+ `(("p7zip" ,p7zip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((dir (string-append "FreePatsGM-SF2-" ,version))
+ (file (string-append "FreePatsGM-" ,version ".sf2"))
+ (out (string-append %output "/share/soundfonts"))
+ (doc (string-append %output "/share/doc/freepats-gm-" ,version)))
+ (use-modules (guix build utils))
+ (invoke (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")
+ "e" (assoc-ref %build-inputs "source")
+ (string-append dir "/" file)
+ (string-append dir "/gpl.txt")
+ (string-append dir "/cc0.txt")
+ (string-append dir "/readme.txt"))
+ (mkdir-p out)
+ (copy-file file (string-append out "/FreePatsGM.sf2"))
+ (mkdir-p doc)
+ (for-each
+ (lambda (file)
+ (copy-file file (string-append doc "/" file)))
+ (find-files "." "\\.txt$"))
+ #t)))
+ (home-page "https://freepats.zenvoid.org/SoundSets/general-midi.html")
+ (synopsis "General MIDI sound set")
+ (description "FreePats is a project to create a free (as in free software)
+collection of digital instruments for music production. This sound bank is a
+partial release of the General MIDI sound set.")
+ (license (list
+ license:gpl3+ ; with sampling exception
+ license:cc0))))
+
(define-public guitarix
(package
(name "guitarix")
@@ -2194,23 +2239,23 @@ synchronous execution of all clients, and low latency operation.")
;; jack-2 implement the same API. JACK2 is provided primarily as a client
;; program for users who might benefit from the D-BUS features.
(define-public jack-2
- (package (inherit jack-1)
+ (package
+ (inherit jack-1)
(name "jack2")
- (version "1.9.14")
+ (version "1.9.21")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/jackaudio/jack2/releases/"
- "download/v" version "/jack2-"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2"))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackaudio/jack2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:configure-flags '("--dbus"
- "--alsa")
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--dbus" "--alsa")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-linkflags
@@ -2224,16 +2269,13 @@ synchronous execution of all clients, and low latency operation.")
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
- "'-Wl,-rpath=" %output "/lib')\n")))
- #t))
+ "'-Wl,-rpath=" %output "/lib')\n")))))
(add-after 'install 'wrap-python-scripts
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
- (let* ((out (assoc-ref outputs "out"))
- (path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/jack_control")
- `("GUIX_PYTHONPATH" ":" prefix (,path))))
- #t)))))
+ (wrap-program (search-input-file outputs "bin/jack_control")
+ `("GUIX_PYTHONPATH" ":"
+ prefix (,(getenv "GUIX_PYTHONPATH")))))))))
(inputs
(list alsa-lib
dbus
@@ -2260,17 +2302,15 @@ synchronous execution of all clients, and low latency operation.")
"05lycfq0f06zjp5xqvzjz9hx9kmqx72yng1lghh76hv63dw43lcj"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:python ,python-2))
+ `(#:tests? #f)) ; no check target
(inputs
- `(("lv2" ,lv2)
- ("lilv" ,lilv)
- ("suil" ,suil)
- ("gtk2" ,gtk+-2)
- ("gtk3" ,gtk+)
- ("gtkmm" ,gtkmm-2)
- ("qtbase" ,qtbase-5)
- ("jack" ,jack-1)))
+ (list lv2
+ lilv
+ suil
+ gtk
+ gtkmm
+ qtbase-5
+ jack-1))
(native-inputs
(list pkg-config))
(home-page "https://drobilla.net/software/jalv/")
@@ -2522,9 +2562,6 @@ compensation, (de)interleaving, and byte-swapping
cross-platform audio input/output stream library.")
(license license:expat)))
-(define-public python2-pyaudio
- (package-with-python2 python-pyaudio))
-
(define-public python-pyliblo
(package
(name "python-pyliblo")
@@ -2551,9 +2588,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+)))
-(define-public python2-pyliblo
- (package-with-python2 python-pyliblo))
-
(define-public python-soundfile
(package
(name "python-soundfile")
@@ -2761,37 +2795,33 @@ software.")
(description "An LV2 port of the mda EPiano VSTi.")))
(define-public lvtk
- (package
- (name "lvtk")
- (version "1.2.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lvtk/lvtk")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
- (build-system waf-build-system)
- (arguments
- `(#:tests? #f ; no check target
- #:python ,python-2
- #:configure-flags
- (list (string-append "--boost-includes="
- (assoc-ref %build-inputs "boost")
- "/include"))))
- (inputs
- (list boost gtkmm-2 lv2))
- (native-inputs
- (list pkg-config))
- (home-page "https://github.com/lvtk/lvtk")
- (synopsis "C++ libraries for LV2 plugins")
- (description
- "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
+ ;; Use the latest commit, as the latest release was made in 2014 and depends
+ ;; on Python 2.
+ (let ((commit "a73feabe772f9650aa071e6a4df660e549ab7c48")
+ (revision "0"))
+ (package
+ (name "lvtk")
+ (version (git-version "1.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lvtk/lvtk")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0scmv8b4jlm88d21dqqchjy98wb93zclc9x960h213gdi871vsaj"))))
+ (build-system waf-build-system)
+ (arguments (list #:tests? #f)) ;no check target
+ (inputs (list boost gtkmm lv2))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/lvtk/lvtk")
+ (synopsis "C++ libraries for LV2 plugins")
+ (description
+ "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
extensions into easy to use C++ classes. It is the successor of
lv2-c++-tools.")
- (license license:gpl3+)))
+ (license license:isc))))
(define-public openal
(package
@@ -2928,14 +2958,14 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl
(package
(name "qjackctl")
- (version "0.9.6")
+ (version "0.9.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
- "0sqni9ppwadc01fnyqj6lkwy30ql1vccqglv9imd3zdchffjpjir"))))
+ "104hfvr15v8cbkzil8slrqj48y3fl7lx060alj80q1sjh5hl6j2j"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target
@@ -3117,49 +3147,6 @@ using Guix System.")
;; GNU Library (not Lesser) General Public License.
(license license:lgpl2.0+)))
-(define-public raul
- (package
- (name "raul")
- (version "0.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.drobilla.net/raul-"
- version ".tar.bz2"))
- (sha256
- (base32
- "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
- (build-system waf-build-system)
- (arguments
- `(#:python ,python-2
- #:tests? #f)) ; no check target
- (inputs
- (list glib boost))
- (native-inputs
- (list pkg-config))
- (home-page "https://drobilla.net/software/raul/")
- (synopsis "Real-time audio utility library")
- (description
- "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
-aimed at audio/musical applications.")
- (license license:gpl2+)))
-
-(define-public raul-devel
- (let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624")
- (revision "1"))
- (package (inherit raul)
- (name "raul")
- (version (string-append "0.8.9-" revision "."
- (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.drobilla.net/raul.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
-
(define-public resample
(package
(name "resample")
@@ -4301,9 +4288,6 @@ It is currently fairly complete for PCM devices, and has some support for
mixers.")
(license license:psfl)))
-(define-public python2-pyalsaaudio
- (package-with-python2 python-pyalsaaudio))
-
(define-public ldacbt
(package
(name "ldacbt")
@@ -4587,37 +4571,44 @@ representations.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mziklmqifhnb4kg9ia2r56r8wjn6xp40bkpf484hsgqvnrccl86"))))
+ "1mziklmqifhnb4kg9ia2r56r8wjn6xp40bkpf484hsgqvnrccl86"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "iniparser")
+ (substitute* "configure.ac"
+ (("AC_CONFIG_FILES\\(iniparser/Makefile\\)") ""))
+ (substitute* "Makefile.am"
+ (("SUBDIRS = iniparser") ""))))))
(build-system gnu-build-system)
- (native-inputs
- (list autoconf automake libtool))
- (inputs
- (list fftw ncurses pulseaudio))
+ (native-inputs (list autoconf automake libtool))
+ (inputs (list fftw ncurses pulseaudio iniparser))
(arguments
- `(#:configure-flags
- (list (string-append "PREFIX=" %output)
- (string-append "FONT_DIR=" %output "/share/consolefonts"))
- #:make-flags
- (let ((lib (string-append %output "/lib")))
- (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib)))
- #:phases
- (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "HOME" (getcwd))
- (invoke "sh" "autogen.sh")))
- (add-before 'build 'make-cava-ldflags
- (lambda* (#:key outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
- #t))
- (add-after 'install 'data
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each (lambda (file)
- (install-file file
- (string-append (assoc-ref outputs "out")
- "/share/doc/examples")))
- (find-files "example_files"))
- #t)))))
+ (list #:configure-flags
+ #~(list (string-append "PREFIX="
+ #$output)
+ (string-append "FONT_DIR="
+ #$output "/share/consolefonts"))
+ #:make-flags
+ #~(let ((lib (string-append #$output "/lib")))
+ (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib " -lrt")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (setenv "HOME"
+ (getcwd))
+ (invoke "sh" "autogen.sh")))
+ (add-before 'build 'make-cava-ldflags
+ (lambda _
+ (mkdir-p (string-append #$output "/lib"))))
+ (add-after 'install 'data
+ (lambda _
+ (for-each (lambda (file)
+ (install-file file
+ (string-append #$output
+ "/share/doc/examples")))
+ (find-files "example_files")))))))
(home-page "https://karlstav.github.io/cava/")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
@@ -4945,50 +4936,47 @@ as is the case with audio plugins.")
(base32 "01ngkmfcxyg1bb4qmfvlkkjbx4lx62akxqhizl8zmqnhfcy4p9bx"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (add-before 'build 'set-CC-variable-and-show-features
- (lambda _
- (setenv "CC" "gcc")
- (invoke "make" "features")))
- (add-after 'install 'make-carla-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (chmod (string-append out "/share/carla/carla") #o555)
- #t)))
- (add-after 'install 'wrap-executables
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-script (string-append out "/bin/carla")
- #:guile (search-input-file inputs "bin/guile")
- `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
- #t))))))
+ (list #:tests? #f ; no "check" target
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'build 'set-CC-variable-and-show-features
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (invoke "make" "features")))
+ (add-after 'install 'make-carla-executable
+ (lambda _
+ (chmod (string-append #$output "/share/carla/carla") #o555)))
+ (add-after 'install 'wrap-executables
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-script (string-append #$output "/bin/carla")
+ #:guile (search-input-file inputs "bin/guile")
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")))))))))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("ffmpeg" ,ffmpeg)
- ("fluidsynth" ,fluidsynth)
- ("file" ,file)
- ("liblo" ,liblo)
- ("libsndfile" ,libsndfile)
- ("gtk2" ,gtk+-2) ;needed for bridging GTK2 plugins in GTK3 hosts
- ("gtk+" ,gtk+)
- ("python-pyliblo" ,python-pyliblo)
- ("python-pyqt" ,python-pyqt)
- ("python-rdflib" ,python-rdflib)
- ;; python-pyqt shows the following error without python-wrapper:
- ;; Error while finding module specification for 'PyQt5.uic.pyuic'
- ;; (ModuleNotFoundError: No module named 'PyQt5')
- ("python-wrapper" ,python-wrapper)
- ("libx11" ,libx11)
- ("qtbase" ,qtbase-5)
- ("zlib" ,zlib)
-
- ;; For WRAP-SCRIPT above.
- ("guile" ,guile-2.2)))
+ (list alsa-lib
+ ffmpeg
+ fluidsynth
+ file
+ liblo
+ libsndfile
+ libx11
+ gtk+-2 ;needed for bridging GTK2 plugins in GTK3 hosts
+ gtk+
+ python-pyliblo
+ python-pyqt
+ python-rdflib
+ ;; python-pyqt shows the following error without python-wrapper:
+ ;; Error while finding module specification for 'PyQt5.uic.pyuic'
+ ;; (ModuleNotFoundError: No module named 'PyQt5')
+ python-wrapper
+ qtbase-5
+ zlib
+
+ ;; For WRAP-SCRIPT above.
+ guile-2.2))
(native-inputs
(list pkg-config))
(home-page "https://kx.studio/Applications:Carla")
@@ -5399,55 +5387,54 @@ while still staying in time.")
(define-public butt
(package
(name "butt")
- (version "0.1.32")
+ (version "0.1.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/butt/butt/butt-"
version "/butt-" version ".tar.gz"))
(sha256
(base32
- "1qwllkx9p1gb3syhbbck3agrk375m82l18fb81aqygi4g3dg3s9r"))
+ "0zd1g1673pv8z437y34fllxska8dzpd7mygpham35pzwpdyc5c1p"))
(modules '((guix build utils)))
(snippet
'(substitute* "src/butt.cpp"
((".*zica.*") "")))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-documentation
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (manual (assoc-ref inputs "manual"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (install-file "README" doc)
- (copy-file manual (string-append doc "/butt-manual.pdf"))))))))
- (inputs
- `(("dbus" ,dbus)
- ("flac" ,flac)
- ("fltk" ,fltk)
- ("lame" ,lame)
- ("libfdk" ,libfdk)
- ("libsamplerate" ,libsamplerate)
- ("libvorbis" ,libvorbis)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxfixes" ,libxfixes)
- ("libxft" ,libxft)
- ("libxrender" ,libxrender)
- ("ogg" ,libogg)
- ("openssl" ,openssl)
- ("opus" ,opus)
- ("portaudio" ,portaudio)))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda _
+ (let ((doc (string-append #$output "/share/doc/" #$name)))
+ (install-file "README" doc)
+ (copy-file #$(this-package-native-input "manual")
+ (string-append doc "/butt-manual.pdf"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("manual" ,(origin
- (method url-fetch)
- (uri (string-append "https://danielnoethen.de/butt/butt-"
- version "_manual.pdf"))
- (sha256
- (base32
- "0g70jyyxbx5nin3xs9q9zf878b2kyy7rn8gn9w91x1ychbjd6dhh"))))))
+ ("manual"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://danielnoethen.de/butt/butt-"
+ version "_manual.pdf"))
+ (sha256
+ (base32 "0kadqzzbk25n0aqxgbqhg4mq4hsbjq44phzcx5qj1b8847yzz8si"))))))
+ (inputs
+ (list dbus
+ flac
+ fltk
+ lame
+ libfdk
+ libsamplerate
+ libvorbis
+ libx11
+ libxext
+ libxfixes
+ libxft
+ libxrender
+ libogg
+ openssl
+ opus
+ portaudio))
(home-page "https://danielnoethen.de/butt/")
(synopsis "Audio streaming tool")
(description "Butt is a tool to stream audio to a ShoutCast or