;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages databases)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages fltk)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages qt)
#:use-module (gnu packages linux)
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public alsa-modular-synth
(package
(name "alsa-modular-synth")
- (version "2.1.1")
+ (version "2.1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/alsamodular/ams-"
version ".tar.bz2"))
(sha256
(base32
- "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+ "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://aubio.org/")
- (synopsis "A library for audio labelling")
+ (synopsis "Library for audio labelling")
(description
"aubio is a tool designed for the extraction of annotations from audio
signals. Its features include segmenting a sound file before each of its
streams from live audio.")
(license license:gpl3+)))
+(define (ardour-rpath-phase major-version)
+ `(lambda* (#:key outputs #:allow-other-keys)
+ (let ((libdir (string-append (assoc-ref outputs "out")
+ "/lib/ardour" ,major-version)))
+ (substitute* "wscript"
+ (("linker_flags = \\[\\]")
+ (string-append "linker_flags = [\""
+ "-Wl,-rpath="
+ libdir ":"
+ libdir "/backends" ":"
+ libdir "/engines" ":"
+ libdir "/panners" ":"
+ libdir "/surfaces" ":"
+ libdir "/vamp" "\"]"))))
+ #t))
+
(define-public ardour
(package
(name "ardour")
- (version "3.5.403")
+ (version "4.4")
(source (origin
- ;; The project only provides tarballs upon individual request
- ;; (or after payment) so we take the code from git.
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
+ ;; Ardour expects this file to exist at build time. It can be
+ ;; created from a git checkout with:
+ ;; ./waf create_stored_revision
'(call-with-output-file
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
-namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
+namespace ARDOUR { const char* revision = \"4.4-210-ga4daf93\" ; }"))))
(sha256
(base32
- "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
+ "1gnrcnq2ksnh7fsa301v1c4p5dqrbqpjylf02rg3za3ab58wxi7l"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags '("--cxx11") ; required by gtkmm
+ #:phases
(modify-phases %standard-phases
(add-after
'unpack 'set-rpath-in-LDFLAGS
- (lambda _
- (substitute* "wscript"
- (("linker_flags = \\[\\]")
- (string-append "linker_flags = [\""
- "-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/ardour3/" ":"
- (assoc-ref %outputs "out")
- "/lib/ardour3/backends" ":"
- (assoc-ref %outputs "out")
- "/lib/ardour3/engines" ":"
- (assoc-ref %outputs "out")
- "/lib/ardour3/panners" ":"
- (assoc-ref %outputs "out")
- "/lib/ardour3/surfaces" ":"
- (assoc-ref %outputs "out")
- "/lib/ardour3/vamp" "\"]")))
- #t)))
+ ,(ardour-rpath-phase (version-prefix version 1))))
#:tests? #f ; no check target
#:python ,python-2))
(inputs
("sratom" ,sratom)
("suil" ,suil)
("lilv" ,lilv)
- ("rasqal" ,rasqal)
- ("raptor2" ,raptor2)
("redland" ,redland)
("rubberband" ,rubberband)
("taglib" ,taglib)
(version "0.0.60")
(source (origin
(method url-fetch)
- (uri (string-append
- "mirror://sourceforge/calf/calf/"
- version "/calf-" version ".tar.gz"))
+ (uri (string-append "http://calf-studio-gear.org/files/calf-"
+ version ".tar.gz"))
(sha256
(base32
"019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
(define-public csound
(package
(name "csound")
- (version "6.04")
+ (version "6.05")
(source (origin
(method url-fetch)
(uri (string-append
version "/Csound" version ".tar.gz"))
(sha256
(base32
- "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g"))))
+ "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))
+ (patches (list (search-patch "csound-header-ordering.patch")))))
(build-system cmake-build-system)
+ (arguments
+ ;; Work around this error on x86_64 with libc 2.22+:
+ ;; libmvec.so.1: error adding symbols: DSO missing from command line
+ (if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
+ '(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
+ '()))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
(description
"FluidSynth is a real-time software synthesizer based on the SoundFont 2
specifications. FluidSynth reads and handles MIDI events from the MIDI input
-device. It is the software analogue of a MIDI synthesizer. FluidSynth can
+device. It is the software analogue of a MIDI synthesizer. FluidSynth can
also play midifiles using a Soundfont.")
(license license:gpl2+)))
PS, and DAB+.")
(license license:gpl2)))
+(define-public faust
+ (package
+ (name "faust")
+ (version "0.9.67")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/faudiostream/faust-" version ".zip"))
+ (sha256
+ (base32
+ "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
+ (snippet
+ ;; Remove prebuilt library
+ '(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; no "configure" script
+ (delete 'configure))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "http://faust.grame.fr/")
+ (synopsis "Signal processing language")
+ (description
+ "Faust is a programming language for realtime audio signal processing.")
+ (license license:gpl2+)))
+
(define-public freepats
(package
(name "freepats")
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
+(define-public guitarix
+ (package
+ (name "guitarix")
+ (version "0.34.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/guitarix/guitarix2-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:python ,python-2
+ #:configure-flags
+ (list
+ ;; Add the output lib directory to the RUNPATH.
+ (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
+ "--cxxflags=-std=c++11")))
+ (inputs
+ `(("libsndfile" ,libsndfile)
+ ("boost" ,boost)
+ ("avahi" ,avahi)
+ ("eigen" ,eigen)
+ ("lv2" ,lv2)
+ ("lilv" ,lilv)
+ ("ladspa" ,ladspa)
+ ("jack" ,jack-1)
+ ("gtkmm" ,gtkmm-2)
+ ("gtk+" ,gtk+-2)
+ ("webkitgtk/gtk+-2" ,webkitgtk/gtk+-2)
+ ("fftwf" ,fftwf)
+ ("lrdf" ,lrdf)
+ ("zita-resampler" ,zita-resampler)
+ ("zita-convolver" ,zita-convolver)))
+ (native-inputs
+ `(("gperf" ,gperf)
+ ("faust" ,faust)
+ ("intltool" ,intltool)
+ ("gettext" ,gnu-gettext)
+ ("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (home-page "http://guitarix.org/")
+ (synopsis "Virtual guitar amplifier")
+ (description "Guitarix is a virtual guitar amplifier running JACK.
+Guitarix takes the signal from your guitar as a mono-signal from your sound
+card. The input is processed by a main amp and a rack-section. Both can be
+routed separately and deliver a processed stereo-signal via JACK. You may
+fill the rack with effects from more than 25 built-in modules including stuff
+from a simple noise gate to modulation effects like flanger, phaser or
+auto-wah.")
+ (license license:gpl2+)))
+
+(define-public rakarrack
+ (package
+ (name "rakarrack")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/rakarrack/rakarrack/"
+ "rakarrack-" version "/rakarrack-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* '("src/process.C"
+ "src/global.h")
+ (("#include <Fl/") "#include <FL/"))
+ #t))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("alsa-utils" ,alsa-utils)
+ ("fltk" ,fltk)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxfixes" ,libxfixes)
+ ("libxft" ,libxft)
+ ("libxrender" ,libxrender)
+ ("libxpm" ,libxpm)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("jack" ,jack-1)
+ ("alsa-lib" ,alsa-lib)
+ ("libsndfile" ,libsndfile)
+ ("libsamplerate" ,libsamplerate)
+ ("zlib" ,zlib)))
+ (home-page "http://rakarrack.sourceforge.net/")
+ (synopsis "Audio effects processor")
+ (description
+ "Rakarrack is a richly featured multi-effects processor emulating a
+guitar effects pedalboard. Effects include compressor, expander, noise gate,
+equalizers, exciter, flangers, chorus, various delay and reverb effects,
+distortion modules and many more. Most of the effects engine is built from
+modules found in the excellent software synthesizer ZynAddSubFX. Presets and
+user interface are optimized for guitar, but Rakarrack processes signals in
+stereo while it does not apply internal band-limiting filtering, and thus is
+well suited to all musical instruments and vocals.")
+ ;; The code is explicitly licensed under the GPL version 2 only.
+ (license license:gpl2)))
+
+(define-public ir
+ (package
+ (name "ir")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://factorial.hu/system/files/ir.lv2-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ ;; no configure script
+ (alist-delete 'configure %standard-phases)))
+ (inputs
+ `(("libsndfile" ,libsndfile)
+ ("libsamplerate" ,libsamplerate)
+ ("lv2" ,lv2)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+-2)
+ ("zita-convolver" ,zita-convolver)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (home-page "http://factorial.hu/plugins/lv2/ir")
+ (synopsis "LV2 convolution reverb")
+ (description
+ "IR is a low-latency, real-time, high performance signal convolver
+especially for creating reverb effects. It supports impulse responses with 1,
+2 or 4 channels, in any soundfile format supported by libsndfile.")
+ (license license:gpl2+)))
+
(define-public jack-1
(package
(name "jack")
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
- ("bdb" ,bdb)
("readline" ,readline)))
;; uuid.h is included in the JACK type headers
+ ;; db.h is included in the libjack metadata headers
(propagated-inputs
- `(("libuuid" ,util-linux)))
+ `(("libuuid" ,util-linux)
+ ("bdb" ,bdb)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://jackaudio.org/")
;; licensed under the LGPL in order to allow for proprietary usage.
(license (list license:gpl2+ license:lgpl2.1+))))
+;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
+;; 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)
(name "jack2")
"03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
+ `(#:python ,python-2
+ #:tests? #f ; no check target
#:configure-flags '("--dbus"
"--alsa")
#:phases
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
- "'-Wl,-rpath=" %output "/lib')\n"))))))))
+ "'-Wl,-rpath=" %output "/lib')\n")))))
+ (add-after 'install 'wrap-python-scripts
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
+ (let* ((out (assoc-ref outputs "out"))
+ (path (getenv "PYTHONPATH")))
+ (wrap-program (string-append out "/bin/jack_control")
+ `("PYTHONPATH" ":" prefix (,path))))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("expat" ,expat)
("libsamplerate" ,libsamplerate)
("opus" ,opus)
+ ("python2-dbus" ,python2-dbus)
("readline" ,readline)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(base32
"1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
(build-system waf-build-system)
- (arguments `(#:tests? #f)) ; no check target
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-flags
+ (lambda _
+ ;; Compile with C++11, required by gtkmm.
+ (setenv "CXXFLAGS" "-std=c++11")
+ #t)))))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
(package
(name "ladspa")
(version "1.13")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://www.ladspa.org/download/ladspa_sdk_"
- version
- ".tgz"))
- (sha256
- (base32
- "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
+ (source
+ (origin
+ (method url-fetch)
+ ;; Since the official link is dead,
+ ;; we download the tarball from Debian or Internet Archive.
+ (uri (list (string-append "http://http.debian.net"
+ "/debian/pool/main/l/ladspa-sdk/ladspa-sdk_"
+ version ".orig.tar.gz")
+ (string-append "https://web.archive.org/web/20140717172251/"
+ "http://www.ladspa.org/download/ladspa_sdk_"
+ version ".tgz")))
+ (sha256
+ (base32
+ "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; the "test" target is a listening test only
(("^CC.*") "CC = gcc\n")
(("^CPP.*") "CPP = g++\n"))))
(alist-delete 'build %standard-phases))))
- (home-page "http://ladspa.org")
+ ;; Since the home page is gone, we provide a link to the archived version.
+ (home-page
+ "https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
(synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
(description
"LADSPA is a standard that allows software audio processors and effects
(define-public lv2
(package
(name "lv2")
- (version "1.10.0")
+ (version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://lv2plug.in/spec/lv2-"
".tar.bz2"))
(sha256
(base32
- "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
+ "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
- #:configure-flags '("--lv2-system")))
+ #:configure-flags '("--no-plugins")))
(inputs
;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
`(("libsndfile" ,libsndfile)))
#:configure-flags
(list (string-append "--boost-includes="
(assoc-ref %build-inputs "boost")
- "/include"))))
+ "/include"))
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-flags
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; See e.g. https://github.com/lvtk/lvtk/issues/21
+ (setenv "LDFLAGS"
+ (string-append
+ "-L" (assoc-ref inputs "boost") "/lib "
+ "-lboost_system")))))))
(inputs
`(("boost" ,boost)
("lv2" ,lv2)))
"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no check target
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'use-full-library-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Alc/backends/pulseaudio.c"
+ (("#define PALIB \"libpulse\\.so\\.0\"")
+ (string-append "#define PALIB \""
+ (assoc-ref inputs "pulseaudio")
+ "/lib/libpulse.so.0"
+ "\"")))
+ (substitute* "Alc/backends/alsa.c"
+ (("LoadLib\\(\"libasound\\.so\\.2\"\\)")
+ (string-append "LoadLib(\""
+ (assoc-ref inputs "alsa-lib")
+ "/lib/libasound.so.2"
+ "\")")))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
("boost" ,boost)
("jack" ,jack-1)
("ganv" ,ganv)
- ("glib" ,glib)
("glibmm" ,glibmm)
("gtkmm" ,gtkmm-2)
- ("dbus" ,dbus)
("dbus-glib" ,dbus-glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
and ALSA.")
(license license:gpl3+)))
+(define-public raul
+ (package
+ (name "raul")
+ (version "0.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://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
+ `(("glib" ,glib)
+ ("boost" ,boost)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://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 rubberband
(package
(name "rubberband")
tempo and pitch of an audio recording independently of one another.")
(license license:gpl2+)))
+(define-public rtmidi
+ (package
+ (name "rtmidi")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/powertab/rtmidi/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'autoconf
+ (lambda _ (zero? (system* "autoreconf" "-vfi"))))
+ (add-before
+ 'build 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("/bin/ln") "ln")
+ (("RtMidi.h RtError.h") "RtMidi.h"))
+ #t))
+ (add-before
+ 'install 'make-target-dirs
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir (string-append out "/lib"))
+ (mkdir (string-append out "/include")))
+ #t)))))
+ (inputs
+ `(("jack" ,jack-1)
+ ("alsa-lib" ,alsa-lib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/powertab/rtmidi")
+ (synopsis "Cross-platform MIDI library for C++")
+ (description
+ "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
+classes) that provide a common cross-platform API for realtime MIDI
+input/output.")
+ (license license:expat)))
+
(define-public sratom
(package
(name "sratom")
(define-public vamp
(package
(name "vamp")
- (version "2.5")
+ (version "2.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://code.soundsoftware.ac.uk"
- "/attachments/download/690/vamp-plugin-sdk-"
- version
- ".tar.gz"))
+ "/attachments/download/1520/vamp-plugin-sdk-"
+ version ".tar.gz"))
(sha256
(base32
- "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"))))
+ "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
(build-system gnu-build-system)
(native-inputs `(("automake" ,automake)))
(arguments
- `(#:phases
- (alist-cons-after
- 'unpack 'fix-ar-lib-path
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
- (delete-file "ar-lib")
- (symlink
- (string-append (assoc-ref inputs "automake") "/share/automake-"
- ,(package-version automake) "/ar-lib")
- "ar-lib"))
- %standard-phases)))
+ `(#:configure-flags
+ ;; Disable the use of SSE unless on x86_64.
+ ,(if (not (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system))))
+ ''("--disable-sse")
+ ''())
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'fix-ar-lib-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
+ (delete-file "ar-lib")
+ (symlink
+ (string-append (assoc-ref inputs "automake") "/share/automake-"
+ ,(package-version automake) "/ar-lib")
+ "ar-lib"))))))
(home-page "http://sbsms.sourceforge.net/")
(synopsis "Library for time stretching and pitch scaling of audio")
(description
(define-public libxmp
(package
(name "libxmp")
- (version "4.3.8")
+ (version "4.3.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xmp/libxmp/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
+ "1gm5xa0ca7ypcbj3bkmj3k1vvzl7nkch8gjyrm8p1a9vgzr0n761"))))
(build-system gnu-build-system)
(home-page "http://xmp.sourceforge.net/")
(synopsis "Module player library")
control functionality, or just for playing around with the sound effects.")
(license license:lgpl2.1+)))
+(define-public sox
+ (package
+ (name "sox")
+ (version "14.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/sox/sox-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "170lx90r1nlnb2j6lg00524iwvqy72p48vii4xc5prrh8dnrb9l1"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; The upstream asks to identify the distribution to diagnose SoX
+ ;; bug reports.
+ '("--with-distro=Guix System Distribution")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("ao" ,ao)
+ ("flac" ,flac)
+ ("lame" ,lame)
+ ("libid3tag" ,libid3tag)
+ ("libltdl" ,libltdl)
+ ("libmad" ,libmad)
+ ("libpng" ,libpng)
+ ("libvorbis" ,libvorbis)
+ ("pulseaudio" ,pulseaudio)))
+ (home-page "http://sox.sourceforge.net")
+ (synopsis "Sound processing utility")
+ (description
+ "SoX (Sound eXchange) is a command line utility that can convert
+various formats of computer audio files to other formats. It can also
+apply various effects to these sound files, and, as an added bonus, SoX
+can play and record audio files.")
+ ;; sox.c is distributed under GPL, while the files that make up
+ ;; libsox are licensed under LGPL.
+ (license (list license:gpl2+ license:lgpl2.1+))))
+
(define-public soxr
(package
(name "soxr")
(inputs
;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib)
- ("jack" ,jack-2)))
+ ("jack" ,jack-1)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
interface.")
(license license:expat)))
+(define-public qsynth
+ (package
+ (name "qsynth")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
+ (sha256
+ (base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; no "check" phase
+ (inputs
+ `(("qt" ,qt)
+ ("fluidsynth" ,fluidsynth)))
+ (home-page "http://qsynth.sourceforge.net")
+ (synopsis "Graphical user interface for FluidSynth")
+ (description
+ "Qsynth is a GUI front-end application for the FluidSynth SoundFont
+synthesizer written in C++.")
+ (license license:gpl2+)))
+
(define-public rsound
(package
(name "rsound")
(method url-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v"
version ".tar.gz"))
+ (file-name (string-append name "-" version))
(sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
- ("jack" ,jack-2)
+ ("jack" ,jack-1)
("ao" ,ao)
("libsamplerate" ,libsamplerate)
("openal" ,openal)
with a much different focus than most other audio daemons.")
(license license:gpl3+)))
+(define-public xjackfreak
+ (package
+ (name "xjackfreak")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/johnhldavis/xjackfreak/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "docdir=" (assoc-ref %outputs "out")
+ "/share/doc/xjackfreak"))))
+ (inputs
+ `(("jack" ,jack-1)
+ ("libx11" ,libx11)
+ ("libxt" ,libxt)
+ ("libxext" ,libxext)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/johnhldavis/xjackfreak")
+ (synopsis "JACK audio frequency analyzer and display")
+ (description
+ "XJackFreak is an audio analysis and equalizing tool for the Jack Audio
+Connection Kit. It can display the FFT of any input, modify it and output the
+result.")
+ (license license:gpl3+)))
+
+(define-public zita-convolver
+ (package
+ (name "zita-convolver")
+ (version "3.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/zita-convolver-"
+ version ".tar.bz2"))
+ (snippet
+ ;; Don't optimize for a specific processor architecture.
+ '(substitute* "libs/Makefile"
+ (("^CXXFLAGS \\+= -march=native") "")))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (alist-cons-after
+ 'unpack 'patch-makefile-and-enter-directory
+ (lambda _
+ (substitute* "libs/Makefile"
+ (("ldconfig") "true")
+ (("^LIBDIR =.*") "LIBDIR = lib\n"))
+ (chdir "libs") #t)
+ (alist-cons-after
+ 'install
+ 'install-symlink
+ (lambda _
+ (symlink "libzita-convolver.so"
+ (string-append (assoc-ref %outputs "out")
+ "/lib/libzita-convolver.so.3")))
+ ;; no configure script
+ (alist-delete 'configure %standard-phases)))))
+ (inputs `(("fftwf" ,fftwf)))
+ (home-page "http://kokkinizita.linuxaudio.org")
+ (synopsis "Fast, partitioned convolution engine library")
+ (description
+ "Zita convolver is a C++ library providing a real-time convolution
+engine.")
+ (license license:gpl3+)))
+
+(define-public zita-resampler
+ (package
+ (name "zita-resampler")
+ (version "1.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://kokkinizita.linuxaudio.org"
+ "/linuxaudio/downloads/zita-resampler-"
+ version ".tar.bz2"))
+ (snippet
+ ;; Don't optimize for a specific processor architecture.
+ '(substitute* '("apps/Makefile" "libs/Makefile")
+ (("^CXXFLAGS \\+= -march=native") "")))
+ (modules '((guix build utils)))
+ (sha256
+ (base32
+ "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
+ (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
+ (add-after
+ 'unpack 'patch-makefile-and-enter-directory
+ (lambda _
+ (substitute* "libs/Makefile"
+ (("ldconfig") "true")
+ (("^LIBDIR =.*") "LIBDIR = lib\n"))
+ (chdir "libs")
+ #t))
+ (add-after
+ 'install 'install-symlink
+ (lambda _
+ (symlink "libzita-resampler.so"
+ (string-append (assoc-ref %outputs "out")
+ "/lib/libzita-resampler.so.1"))))
+ ;; no configure script
+ (delete 'configure))))
+ (home-page "http://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
+ (synopsis "C++ library for resampling audio signals")
+ (description
+ "Libzita-resampler is a C++ library for resampling audio signals. It is
+designed to be used within a real-time processing context, to be fast, and to
+provide high-quality sample rate conversion.")
+ (license license:gpl3+)))
+
(define-public zita-alsa-pcmi
(package
(name "zita-alsa-pcmi")
open, initialise and use a hw: device in mmap mode, and providing floating
point audio data.")
(license license:gpl3+)))
+
+(define-public cuetools
+ (package
+ (name "cuetools")
+ (version "1.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/svend/cuetools/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4"))))
+ (build-system gnu-build-system)
+ ;; The source tarball is not bootstrapped.
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+ ;; Bootstrapping tools
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("flex" ,flex)
+ ("bison" ,bison)))
+ (synopsis "Cue and toc file parsers and utilities")
+ (description "Cuetools is a set of programs that are useful for manipulating
+and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC
+files are a way to represent the layout of a data or audio CD in a
+machine-readable ASCII format.")
+ (home-page "https://github.com/svend/cuetools")
+ (license license:gpl2+)))
+
+(define-public shntool
+ (package
+ (name "shntool")
+ (version "3.0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
+ "shntool-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
+ (build-system gnu-build-system)
+ (synopsis "WAVE audio data processing tool")
+ (description "shntool is a multi-purpose WAVE data processing and reporting
+utility. File formats are abstracted from its core, so it can process any file
+that contains WAVE data, compressed or not---provided there exists a format
+module to handle that particular file type.")
+ (home-page "http://etree.org/shnutils/shntool/")
+ ;; 'install-sh' bears the x11 license
+ (license (list license:gpl2+ license:x11))))