1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
5 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
8 ;;; This file is part of GNU Guix.
10 ;;; GNU Guix is free software; you can redistribute it and/or modify it
11 ;;; under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or (at
13 ;;; your option) any later version.
15 ;;; GNU Guix is distributed in the hope that it will be useful, but
16 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 (define-module (gnu packages audio)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix git-download)
27 #:use-module (guix utils)
28 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (guix build-system gnu)
30 #:use-module (guix build-system waf)
31 #:use-module (guix build-system trivial)
32 #:use-module (guix build-system cmake)
33 #:use-module (gnu packages)
34 #:use-module (gnu packages algebra)
35 #:use-module (gnu packages autotools)
36 #:use-module (gnu packages avahi)
37 #:use-module (gnu packages boost)
38 #:use-module (gnu packages base)
39 #:use-module (gnu packages bison)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages curl)
42 #:use-module (gnu packages databases)
43 #:use-module (gnu packages file)
44 #:use-module (gnu packages flex)
45 #:use-module (gnu packages gettext)
46 #:use-module (gnu packages glib)
47 #:use-module (gnu packages gtk)
48 #:use-module (gnu packages gnome)
49 #:use-module (gnu packages gperf)
50 #:use-module (gnu packages image)
51 #:use-module (gnu packages ncurses)
52 #:use-module (gnu packages qt)
53 #:use-module (gnu packages linux)
54 #:use-module (gnu packages mp3) ;taglib
55 #:use-module (gnu packages perl)
56 #:use-module (gnu packages pkg-config)
57 #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
58 #:use-module (gnu packages python)
59 #:use-module (gnu packages rdf)
60 #:use-module (gnu packages readline)
61 #:use-module (gnu packages xiph)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
64 #:use-module (gnu packages zip)
65 #:use-module (srfi srfi-1))
67 (define-public alsa-modular-synth
69 (name "alsa-modular-synth")
73 (uri (string-append "mirror://sourceforge/alsamodular/ams-"
77 "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
78 (build-system gnu-build-system)
80 `(("alsa-lib" ,alsa-lib)
81 ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
82 ;; license incompatibility.
83 ("clalsadrv" ,clalsadrv)
90 `(("pkg-config" ,pkg-config)))
91 (home-page "http://alsamodular.sourceforge.net/")
92 (synopsis "Realtime modular synthesizer and effect processor")
94 "AlsaModularSynth is a digital implementation of a classical analog
95 modular synthesizer system. It uses virtual control voltages to control the
96 parameters of the modules. The control voltages which control the frequency
97 e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
98 Filter) modules follow the convention of 1V / Octave.")
99 (license license:gpl2)))
108 "http://aubio.org/pub/aubio-" version ".tar.bz2"))
111 "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5"))))
112 (build-system waf-build-system)
114 `(#:tests? #f ; no check target
119 "--enable-samplerate"
120 ;; enable compilation with avcodec once available
125 ("libsndfile" ,libsndfile)
126 ("libsamplerate" ,libsamplerate)
129 `(("pkg-config" ,pkg-config)))
130 (home-page "http://aubio.org/")
131 (synopsis "Library for audio labelling")
133 "aubio is a tool designed for the extraction of annotations from audio
134 signals. Its features include segmenting a sound file before each of its
135 attacks, performing pitch detection, tapping the beat and producing MIDI
136 streams from live audio.")
137 (license license:gpl3+)))
139 (define (ardour-rpath-phase major-version)
140 `(lambda* (#:key outputs #:allow-other-keys)
141 (let ((libdir (string-append (assoc-ref outputs "out")
142 "/lib/ardour" ,major-version)))
143 (substitute* "wscript"
144 (("linker_flags = \\[\\]")
145 (string-append "linker_flags = [\""
148 libdir "/backends" ":"
149 libdir "/engines" ":"
150 libdir "/panners" ":"
151 libdir "/surfaces" ":"
152 libdir "/vamp" "\"]"))))
155 (define-public ardour
162 (url "git://git.ardour.org/ardour/ardour.git")
165 ;; Ardour expects this file to exist at build time. It can be
166 ;; created from a git checkout with:
167 ;; ./waf create_stored_revision
168 '(call-with-output-file
169 "libs/ardour/revision.cc"
171 (format port "#include \"ardour/revision.h\"
172 namespace ARDOUR { const char* revision = \"4.4-210-ga4daf93\" ; }"))))
175 "1gnrcnq2ksnh7fsa301v1c4p5dqrbqpjylf02rg3za3ab58wxi7l"))
176 (file-name (string-append name "-" version))))
177 (build-system waf-build-system)
179 `(#:configure-flags '("--cxx11") ; required by gtkmm
181 (modify-phases %standard-phases
183 'unpack 'set-rpath-in-LDFLAGS
184 ,(ardour-rpath-phase (version-prefix version 1))))
185 #:tests? #f ; no check target
188 `(("alsa-lib" ,alsa-lib)
196 ("libart-lgpl" ,libart-lgpl)
197 ("libgnomecanvasmm" ,libgnomecanvasmm)
200 ("libsndfile" ,libsndfile)
201 ("libsamplerate" ,libsamplerate)
204 ("libvorbis" ,libvorbis)
218 ("rubberband" ,rubberband)
220 ("python-rdflib" ,python-rdflib)))
223 ("pkg-config" ,pkg-config)))
224 (home-page "http://ardour.org")
225 (synopsis "Digital audio workstation")
227 "Ardour is a multi-channel digital audio workstation, allowing users to
228 record, edit, mix and master audio and MIDI projects. It is targeted at audio
229 engineers, musicians, soundtrack editors and composers.")
230 (license license:gpl2+)))
238 (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
243 "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
244 (build-system gnu-build-system)
246 `(#:tests? #f ; no check target
249 (string-append "prefix=" %output)
250 (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://ll-plugins.nongnu.org/azr3/")
259 (synopsis "Tonewheel organ synthesizer")
261 "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
262 with drawbars, distortion and rotating speakers. The organ has three
263 sections, two polyphonic sections with nine drawbars each and one monophonic
264 bass section with five drawbars. A standalone JACK application and LV2
265 plugins are provided.")
266 (license license:gpl2)))
275 "mirror://sourceforge/calf/calf/"
276 version "/calf-" version ".tar.gz"))
279 "019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
280 (build-system gnu-build-system)
282 `(("fluidsynth" ,fluidsynth)
293 `(("pkg-config" ,pkg-config)))
295 (list (search-path-specification
296 (variable "LV2_PATH")
297 (files '("lib/lv2")))))
298 (home-page "http://calf.sourceforge.net/")
299 (synopsis "Audio plug-in pack for LV2 and JACK environments")
301 "Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
302 The suite contains lots of effects (delay, modulation, signal processing,
303 filters, equalizers, dynamics, distortion and mastering effects),
304 instruments (SF2 player, organ simulator and a monophonic synthesizer) and
305 tools (analyzer, mono/stereo tools, crossovers).")
306 ;; calfjackhost is released under GPLv2+
307 ;; The plugins are released under LGPLv2.1+
308 (license (list license:lgpl2.1+ license:gpl2+))))
310 (define-public csound
317 "mirror://sourceforge/csound/csound6/Csound"
318 version "/Csound" version ".tar.gz"))
321 "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))))
322 (build-system cmake-build-system)
324 ;; Work around this error on x86_64 with libc 2.22+:
325 ;; libmvec.so.1: error adding symbols: DSO missing from command line
326 (if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
327 '(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
330 `(("alsa-lib" ,alsa-lib)
332 ("pulseaudio" ,pulseaudio)
333 ("libsndfile" ,libsndfile)
337 ("gettext" ,gnu-gettext)))
342 (home-page "http://csound.github.io/")
343 (synopsis "Sound and music computing system")
345 "Csound is a user-programmable and user-extensible sound processing
346 language and software synthesizer.")
347 (license license:lgpl2.1+)))
349 (define-public clalsadrv
356 "http://kokkinizita.linuxaudio.org"
357 "/linuxaudio/downloads/clalsadrv-"
361 "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
362 (build-system gnu-build-system)
364 `(#:tests? #f ; no "check" target
365 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
368 'unpack 'patch-makefile-and-enter-directory
370 (substitute* "libs/Makefile"
371 (("/sbin/ldconfig") "true")
372 (("^LIBDIR =.*") "LIBDIR = lib\n"))
379 (symlink "libclalsadrv.so"
380 (string-append (assoc-ref %outputs "out")
381 "/lib/libclalsadrv.so.2")))
382 ;; no configure script
383 (alist-delete 'configure %standard-phases)))))
385 `(("alsa-lib" ,alsa-lib)
387 (home-page "http://kokkinizita.linuxaudio.org")
388 (synopsis "C++ wrapper around the ALSA API")
390 "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
392 (license license:gpl2+)))
394 (define-public fluidsynth
401 "mirror://sourceforge/fluidsynth/fluidsynth-"
402 version "/fluidsynth-" version ".tar.gz"))
405 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
406 (build-system gnu-build-system)
411 'remove-broken-symlinks
412 (lambda _ (delete-file-recursively "m4") #t)
415 `(("libsndfile" ,libsndfile)
416 ("alsa-lib" ,alsa-lib)
420 ("readline" ,readline)
423 `(("pkg-config" ,pkg-config)))
424 (home-page "http://www.fluidsynth.org/")
425 (synopsis "SoundFont synthesizer")
427 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
428 specifications. FluidSynth reads and handles MIDI events from the MIDI input
429 device. It is the software analogue of a MIDI synthesizer. FluidSynth can
430 also play midifiles using a Soundfont.")
431 (license license:gpl2+)))
440 "mirror://sourceforge/faac/faad2-" version ".zip"))
443 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
444 (build-system gnu-build-system)
446 `(("autoconf" ,autoconf)
447 ("automake" ,automake)
455 (substitute* "bootstrap" (("\r\n") "\n"))
456 (zero? (system* "sh" "bootstrap")))
458 (home-page "http://www.audiocoding.com/faad2.html")
459 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
461 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
463 (license license:gpl2)))
472 "mirror://sourceforge/faudiostream/faust-" version ".zip"))
475 "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
477 ;; Remove prebuilt library
478 '(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
479 (build-system gnu-build-system)
481 `(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
484 (modify-phases %standard-phases
485 ;; no "configure" script
486 (delete 'configure))))
489 (home-page "http://faust.grame.fr/")
490 (synopsis "Signal processing language")
492 "Faust is a programming language for realtime audio signal processing.")
493 (license license:gpl2+)))
495 (define-public freepats
501 (uri (string-append "http://freepats.zenvoid.org/freepats-"
505 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
506 (build-system trivial-build-system)
508 `(#:modules ((guix build utils))
510 (use-modules (guix build utils))
511 (let ((out (string-append %output "/share/freepats")))
512 (setenv "PATH" (string-append
513 (assoc-ref %build-inputs "bzip2") "/bin:"
514 (assoc-ref %build-inputs "tar") "/bin"))
515 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
517 ;; Use absolute pattern references
518 (substitute* "freepats.cfg"
519 (("Tone_000") (string-append out "/Tone_000"))
520 (("Drum_000") (string-append out "/Drum_000")))
522 (copy-recursively "." out)))))
526 (home-page "http://freepats.zenvoid.org")
527 (synopsis "GUS compatible patches for MIDI players")
529 "FreePats is a project to create a free and open set of GUS compatible
530 patches that can be used with softsynths such as Timidity and WildMidi.")
531 ;; GPLv2+ with exception for compositions using these patches.
532 (license license:gpl2+)))
534 (define-public guitarix
541 "mirror://sourceforge/guitarix/guitarix2-"
545 "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))
546 (patches (list (search-patch "guitarix-c++11.patch")))))
547 (build-system waf-build-system)
549 `(#:tests? #f ; no "check" target
553 ;; Add the output lib directory to the RUNPATH.
554 (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
555 "--cxxflags=-std=c++11")))
557 `(("libsndfile" ,libsndfile)
569 ("zita-resampler" ,zita-resampler)
570 ("zita-convolver" ,zita-convolver)))
574 ("intltool" ,intltool)
575 ("gettext" ,gnu-gettext)
576 ("pkg-config" ,pkg-config)))
578 (list (search-path-specification
579 (variable "LV2_PATH")
580 (files '("lib/lv2")))))
581 (home-page "http://guitarix.org/")
582 (synopsis "Virtual guitar amplifier")
583 (description "Guitarix is a virtual guitar amplifier running JACK.
584 Guitarix takes the signal from your guitar as a mono-signal from your sound
585 card. The input is processed by a main amp and a rack-section. Both can be
586 routed separately and deliver a processed stereo-signal via JACK. You may
587 fill the rack with effects from more than 25 built-in modules including stuff
588 from a simple noise gate to modulation effects like flanger, phaser or
590 (license license:gpl2+)))
599 "http://factorial.hu/system/files/ir.lv2-"
603 "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
604 (build-system gnu-build-system)
606 `(#:tests? #f ;no "check" target
607 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
609 ;; no configure script
610 (alist-delete 'configure %standard-phases)))
612 `(("libsndfile" ,libsndfile)
613 ("libsamplerate" ,libsamplerate)
617 ("zita-convolver" ,zita-convolver)))
619 `(("pkg-config" ,pkg-config)))
621 (list (search-path-specification
622 (variable "LV2_PATH")
623 (files '("lib/lv2")))))
624 (home-page "http://factorial.hu/plugins/lv2/ir")
625 (synopsis "LV2 convolution reverb")
627 "IR is a low-latency, real-time, high performance signal convolver
628 especially for creating reverb effects. It supports impulse responses with 1,
629 2 or 4 channels, in any soundfile format supported by libsndfile.")
630 (license license:gpl2+)))
632 (define-public jack-1
639 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
644 "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
645 (build-system gnu-build-system)
647 `(("alsa-lib" ,alsa-lib)
648 ("readline" ,readline)))
649 ;; uuid.h is included in the JACK type headers
650 ;; db.h is included in the libjack metadata headers
652 `(("libuuid" ,util-linux)
655 `(("pkg-config" ,pkg-config)))
656 (home-page "http://jackaudio.org/")
657 (synopsis "JACK audio connection kit")
659 "JACK is a low-latency audio server. It can connect a number of
660 different applications to an audio device, as well as allowing them to share
661 audio between themselves. JACK is different from other audio server efforts
662 in that it has been designed from the ground up to be suitable for
663 professional audio work. This means that it focuses on two key areas:
664 synchronous execution of all clients, and low latency operation.")
665 ;; Most files are licensed under the GPL. However, the libjack/ tree is
666 ;; licensed under the LGPL in order to allow for proprietary usage.
667 (license (list license:gpl2+ license:lgpl2.1+))))
669 ;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
670 ;; jack-2 implement the same API. JACK2 is provided primarily as a client
671 ;; program for users who might benefit from the D-BUS features.
672 (define-public jack-2
673 (package (inherit jack-1)
679 "https://github.com/jackaudio/jack2/archive/v"
682 (file-name (string-append name "-" version ".tar.gz"))
685 "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
686 (build-system waf-build-system)
688 `(#:tests? #f ; no check target
689 #:configure-flags '("--dbus"
692 (modify-phases %standard-phases
694 'configure 'set-linkflags
696 ;; Add $libdir to the RUNPATH of all the binaries.
697 (substitute* "wscript"
698 ((".*CFLAGS.*-Wall.*" m)
700 " conf.env.append_unique('LINKFLAGS',"
701 "'-Wl,-rpath=" %output "/lib')\n"))))))))
703 `(("alsa-lib" ,alsa-lib)
706 ("libsamplerate" ,libsamplerate)
708 ("readline" ,readline)))
710 `(("pkg-config" ,pkg-config)))
711 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
712 (license (list license:gpl2+ license:lgpl2.1+))))
720 (uri (string-append "http://download.drobilla.net/jalv-"
724 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
725 (build-system waf-build-system)
727 `(#:tests? #f ; no check target
729 (modify-phases %standard-phases
731 'configure 'set-flags
733 ;; Compile with C++11, required by gtkmm.
734 (setenv "CXXFLAGS" "-std=c++11")
745 `(("pkg-config" ,pkg-config)))
746 (home-page "http://drobilla.net/software/jalv/")
747 (synopsis "Simple LV2 host for JACK")
749 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
750 plugins and exposes their ports as JACK ports, essentially making any LV2
751 plugin function as a JACK application.")
752 (license license:isc)))
754 (define-public ladspa
761 "http://www.ladspa.org/download/ladspa_sdk_"
766 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
767 (build-system gnu-build-system)
769 `(#:tests? #f ; the "test" target is a listening test only
773 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
775 (let ((out (assoc-ref outputs "out")))
776 (substitute* "makefile"
777 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
778 (("/usr/include/") (string-append out "/include/"))
779 (("/usr/bin/") (string-append out "/bin/"))
780 (("-mkdirhier") "mkdir -p")
781 (("^CC.*") "CC = gcc\n")
782 (("^CPP.*") "CPP = g++\n"))))
783 (alist-delete 'build %standard-phases))))
784 (home-page "http://ladspa.org")
785 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
787 "LADSPA is a standard that allows software audio processors and effects
788 to be plugged into a wide range of audio synthesis and recording packages.")
789 (license license:lgpl2.1+)))
794 (version "0.6.0-rc2")
797 ;; The tilde is not permitted in the builder name, but is used
800 "mirror://savannah/lash/lash-"
801 (string-join (string-split version #\-) "~")
803 (file-name (string-append name "-" version ".tar.bz2"))
806 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
807 (build-system gnu-build-system)
812 ("readline" ,readline)
813 ("python" ,python-2)))
814 ;; According to pkg-config, packages depending on lash also need to have
815 ;; at least the following packages declared as inputs.
817 `(("alsa-lib" ,alsa-lib)
819 ("libxml2" ,libxml2)))
821 `(("pkg-config" ,pkg-config)))
822 (home-page "http://www.nongnu.org/lash/")
823 (synopsis "Audio application session manager")
825 "LASH is a session management system for audio applications. It allows
826 you to save and restore audio sessions consisting of multiple interconneced
827 applications, restoring program state (i.e. loaded patches) and the
828 connections between them.")
829 (license license:gpl2+)))
831 (define-public libbs2b
838 "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
841 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
842 (build-system gnu-build-system)
843 (native-inputs `(("pkg-config" ,pkg-config)))
844 (inputs `(("libsndfile" ,libsndfile)))
845 (home-page "http://sourceforge.net/projects/bs2b/")
846 (synopsis "Bauer stereophonic-to-binaural DSP")
848 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
849 designed to improve headphone listening of stereo audio records. Recommended
850 for headphone prolonged listening to disable superstereo fatigue without
851 essential distortions.")
852 (license license:expat)))
861 "mirror://sourceforge/liblo/liblo-"
866 "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
867 (build-system gnu-build-system)
869 `(;; liblo test FAILED
870 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
872 (home-page "http://liblo.sourceforge.net")
873 (synopsis "Implementation of the Open Sound Control protocol")
875 "liblo is a lightweight library that provides an easy to use
876 implementation of the Open Sound Control (OSC) protocol.")
877 (license license:lgpl2.1+)))
885 (uri (string-append "http://download.drobilla.net/lilv-"
890 "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
891 (build-system waf-build-system)
893 `(#:tests? #f ; no check target
895 (modify-phases %standard-phases
897 'configure 'set-ldflags
898 (lambda* (#:key outputs #:allow-other-keys)
900 (string-append "-Wl,-rpath="
901 (assoc-ref outputs "out") "/lib")))))))
902 ;; required by lilv-0.pc
910 `(("pkg-config" ,pkg-config)))
911 (home-page "http://drobilla.net/software/lilv/")
912 (synopsis "Library to simplify use of LV2 plugins in applications")
914 "Lilv is a C library to make the use of LV2 plugins as simple as possible
915 for applications. Lilv is the successor to SLV2, rewritten to be
916 significantly faster and have minimal dependencies.")
917 (license license:isc)))
925 (uri (string-append "http://lv2plug.in/spec/lv2-"
930 "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks"))))
931 (build-system waf-build-system)
933 `(#:tests? #f ; no check target
934 #:configure-flags '("--no-plugins")))
936 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
937 `(("libsndfile" ,libsndfile)))
939 `(("pkg-config" ,pkg-config)))
940 (home-page "http://lv2plug.in/")
941 (synopsis "LV2 audio plugin specification")
943 "LV2 is an open specification for audio plugins and host applications.
944 At its core, LV2 is a simple stable interface, accompanied by extensions which
945 add functionality to support the needs of increasingly powerful audio
947 (license license:isc)))
949 (define-public lv2-mda-piano
951 (name "lv2-mda-piano")
956 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
960 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
961 (build-system gnu-build-system)
965 (string-append "PREFIX=" (assoc-ref %outputs "out")))
966 #:tests? #f ; no check target
967 #:phases (alist-delete 'configure %standard-phases)))
972 `(("pkg-config" ,pkg-config)))
974 (list (search-path-specification
975 (variable "LV2_PATH")
976 (files '("lib/lv2")))))
977 (home-page "http://elephly.net/lv2/mdapiano.html")
978 (synopsis "LV2 port of the mda Piano plugin")
979 (description "An LV2 port of the mda Piano VSTi.")
980 (license license:gpl3+)))
982 (define-public lv2-mda-epiano
983 (package (inherit lv2-mda-piano)
984 (name "lv2-mda-epiano")
988 (string-append "PREFIX=" (assoc-ref %outputs "out")))
989 #:tests? #f ; no check target
990 #:phases (alist-delete 'configure %standard-phases)))
991 (home-page "http://elephly.net/lv2/mdaepiano.html")
992 (synopsis "LV2 port of the mda EPiano plugin")
993 (description "An LV2 port of the mda EPiano VSTi.")))
1001 (uri (string-append "https://github.com/lvtk/lvtk/archive/"
1004 (file-name (string-append name "-" version ".tar.gz"))
1007 "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
1008 (build-system waf-build-system)
1010 `(#:tests? #f ; no check target
1013 (list (string-append "--boost-includes="
1014 (assoc-ref %build-inputs "boost")
1020 `(("pkg-config" ,pkg-config)))
1021 (home-page "https://github.com/lvtk/lvtk")
1022 (synopsis "C++ libraries for LV2 plugins")
1024 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
1025 extensions into easy to use C++ classes. It is the successor of
1027 (license license:gpl3+)))
1029 (define-public openal
1036 "http://kcat.strangesoft.net/openal-releases/openal-soft-"
1037 version ".tar.bz2"))
1040 "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
1041 (build-system cmake-build-system)
1043 `(#:tests? #f ; no check target
1045 (modify-phases %standard-phases
1047 'unpack 'use-full-library-paths
1048 (lambda* (#:key inputs #:allow-other-keys)
1049 (substitute* "Alc/backends/pulseaudio.c"
1050 (("#define PALIB \"libpulse\\.so\\.0\"")
1051 (string-append "#define PALIB \""
1052 (assoc-ref inputs "pulseaudio")
1053 "/lib/libpulse.so.0"
1055 (substitute* "Alc/backends/alsa.c"
1056 (("LoadLib\\(\"libasound\\.so\\.2\"\\)")
1057 (string-append "LoadLib(\""
1058 (assoc-ref inputs "alsa-lib")
1059 "/lib/libasound.so.2"
1063 `(("alsa-lib" ,alsa-lib)
1064 ("pulseaudio" ,pulseaudio)))
1065 (synopsis "3D audio API")
1067 "OpenAL provides capabilities for playing audio in a virtual 3D
1068 environment. Distance attenuation, doppler shift, and directional sound
1069 emitters are among the features handled by the API. More advanced effects,
1070 including air absorption, occlusion, and environmental reverb, are available
1071 through the EFX extension. It also facilitates streaming audio, multi-channel
1072 buffers, and audio capture.")
1073 (home-page "http://kcat.strangesoft.net/openal.html")
1074 (license license:lgpl2.0+)))
1076 (define-public patchage
1082 (uri (string-append "http://download.drobilla.net/patchage-"
1087 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
1088 (build-system waf-build-system)
1089 (arguments `(#:tests? #f)) ; no check target
1091 `(("alsa-lib" ,alsa-lib)
1097 ("dbus-glib" ,dbus-glib)))
1099 `(("pkg-config" ,pkg-config)))
1100 (home-page "http://drobilla.net/software/patchage/")
1101 (synopsis "Modular patch bay for audio and MIDI systems")
1103 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
1105 (license license:gpl3+)))
1113 (uri (string-append "http://download.drobilla.net/raul-"
1114 version ".tar.bz2"))
1117 "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
1118 (build-system waf-build-system)
1120 `(#:python ,python-2
1121 #:tests? #f)) ; no check target
1126 `(("pkg-config" ,pkg-config)))
1127 (home-page "http://drobilla.net/software/raul/")
1128 (synopsis "Real-time audio utility library")
1130 "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
1131 aimed at audio/musical applications.")
1132 (license license:gpl2+)))
1134 (define-public rubberband
1141 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
1146 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
1147 (build-system gnu-build-system)
1148 (arguments `(#:tests? #f)) ; no check target
1150 `(("ladspa" ,ladspa)
1151 ("libsamplerate" ,libsamplerate)
1154 `(("pkg-config" ,pkg-config)))
1155 (home-page "http://breakfastquay.com/rubberband/")
1156 (synopsis "Audio time-stretching and pitch-shifting library")
1158 "Rubber Band is a library and utility program that permits changing the
1159 tempo and pitch of an audio recording independently of one another.")
1160 (license license:gpl2+)))
1162 (define-public rtmidi
1169 (string-append "https://github.com/powertab/rtmidi/archive/"
1171 (file-name (string-append name "-" version ".tar.gz"))
1174 "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
1175 (build-system gnu-build-system)
1177 `(#:tests? #f ;no "check" target
1178 #:phases (modify-phases %standard-phases
1180 'configure 'autoconf
1181 (lambda _ (zero? (system* "autoreconf" "-vfi"))))
1183 'build 'fix-makefile
1185 (substitute* "Makefile"
1187 (("RtMidi.h RtError.h") "RtMidi.h"))
1190 'install 'make-target-dirs
1192 (let ((out (assoc-ref %outputs "out")))
1193 (mkdir-p (string-append out "/bin"))
1194 (mkdir (string-append out "/lib"))
1195 (mkdir (string-append out "/include")))
1199 ("alsa-lib" ,alsa-lib)))
1201 `(("autoconf" ,autoconf)
1202 ("automake" ,automake)
1203 ("libtool" ,libtool)
1204 ("pkg-config" ,pkg-config)))
1205 (home-page "https://github.com/powertab/rtmidi")
1206 (synopsis "Cross-platform MIDI library for C++")
1208 "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
1209 classes) that provide a common cross-platform API for realtime MIDI
1211 (license license:expat)))
1213 (define-public sratom
1219 (uri (string-append "http://download.drobilla.net/sratom-"
1224 "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
1225 (build-system waf-build-system)
1226 (arguments `(#:tests? #f)) ; no check target
1232 `(("pkg-config" ,pkg-config)))
1233 (home-page "http://drobilla.net/software/sratom/")
1234 (synopsis "Library for serialising LV2 atoms to/from RDF")
1236 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
1237 the Turtle syntax.")
1238 (license license:isc)))
1246 (uri (string-append "http://download.drobilla.net/suil-"
1251 "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
1252 (build-system waf-build-system)
1253 (arguments `(#:tests? #f)) ; no check target
1259 `(("pkg-config" ,pkg-config)))
1260 (home-page "http://drobilla.net/software/suil/")
1261 (synopsis "Library for loading and wrapping LV2 plugin UIs")
1263 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
1265 Suil makes it possible to load a UI of a toolkit in a host using another
1266 toolkit. The API is designed such that hosts do not need to explicitly
1267 support specific toolkits – if Suil supports a particular toolkit, then UIs in
1268 that toolkit will work in all hosts that use Suil automatically.
1270 Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
1271 (license license:isc)))
1273 (define-public timidity++
1280 "mirror://sourceforge/timidity/TiMidity++-"
1281 version ".tar.bz2"))
1284 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
1285 (build-system gnu-build-system)
1288 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
1292 (string-append "--with-default-path="
1293 (assoc-ref %outputs "out") "/etc/timidity"))
1296 'install 'install-config
1298 (let ((out (string-append (assoc-ref %outputs "out")
1301 (call-with-output-file
1302 (string-append out "/timidity.cfg")
1304 (format port (string-append "source "
1305 (assoc-ref %build-inputs "freepats")
1306 "/share/freepats/freepats.cfg"))))))
1309 `(("alsa-lib" ,alsa-lib)
1315 ("ncurses" ,ncurses)
1316 ("freepats" ,freepats)))
1318 `(("pkg-config" ,pkg-config)))
1319 (home-page "http://timidity.sourceforge.net/")
1320 (synopsis "Software synthesizer for playing MIDI files")
1322 "TiMidity++ is a software synthesizer. It can play MIDI files by
1323 converting them into PCM waveform data; give it a MIDI data along with digital
1324 instrument data files, then it synthesizes them in real-time, and plays. It
1325 can not only play sounds, but also can save the generated waveforms into hard
1326 disks as various audio file formats.")
1327 (license license:gpl2+)))
1336 "https://code.soundsoftware.ac.uk"
1337 "/attachments/download/1520/vamp-plugin-sdk-"
1341 "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
1342 (build-system gnu-build-system)
1344 `(#:tests? #f ; no check target
1347 'install 'remove-libvamp-hostsdk.la
1348 (lambda* (#:key outputs #:allow-other-keys)
1349 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
1350 (for-each delete-file
1351 (let ((out (assoc-ref outputs "out")))
1352 (list (string-append out "/lib/libvamp-sdk.la")
1353 (string-append out "/lib/libvamp-hostsdk.la"))))
1357 `(("libsndfile" ,libsndfile)))
1359 `(("pkg-config" ,pkg-config)))
1360 (home-page "http://vamp-plugins.org")
1361 (synopsis "Modular and extensible audio processing system")
1363 "Vamp is an audio processing plugin system for plugins that extract
1364 descriptive information from audio data — typically referred to as audio
1365 analysis plugins or audio feature extraction plugins.")
1368 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
1370 (define-public libsbsms
1377 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
1378 "/libsbsms-" version ".tar.gz"))
1380 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
1381 (build-system gnu-build-system)
1382 (native-inputs `(("automake" ,automake)))
1385 ;; Disable the use of SSE unless on x86_64.
1386 ,(if (not (string-prefix? "x86_64" (or (%current-target-system)
1387 (%current-system))))
1391 (modify-phases %standard-phases
1393 'unpack 'fix-ar-lib-path
1394 (lambda* (#:key inputs #:allow-other-keys)
1395 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
1396 (delete-file "ar-lib")
1398 (string-append (assoc-ref inputs "automake") "/share/automake-"
1399 ,(package-version automake) "/ar-lib")
1401 (home-page "http://sbsms.sourceforge.net/")
1402 (synopsis "Library for time stretching and pitch scaling of audio")
1404 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
1405 stretching and pitch scaling of audio. This package contains the library.")
1406 ;; There is no explicit declaration of a license, but a COPYING file
1408 (license license:gpl2)))
1410 (define-public wavpack
1416 (uri (string-append "http://www.wavpack.com/"
1417 name "-" version ".tar.bz2"))
1420 "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
1421 (build-system gnu-build-system)
1424 ;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
1425 (list (string-append "--libdir=" %output "/lib"))))
1426 (home-page "http://www.wavpack.com/")
1427 (synopsis "Hybrid lossless audio codec")
1429 "WavPack is an audio compression format with lossless, lossy and hybrid
1430 compression modes. This package contains command-line programs and library to
1431 encode and decode wavpack files.")
1432 (license license:bsd-3)))
1434 (define-public libmodplug
1441 "mirror://sourceforge/project/modplug-xmms/"
1442 name "/" version "/" name "-" version ".tar.gz"))
1445 "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
1446 (build-system gnu-build-system)
1447 (home-page "http://modplug-xmms.sourceforge.net/")
1448 (synopsis "Mod file playing library")
1450 "Libmodplug renders mod music files as raw audio data, for playing or
1451 conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
1452 supported. Optional features include high-quality resampling, bass expansion,
1453 surround and reverb.")
1454 (license license:public-domain)))
1456 (define-public libxmp
1462 (uri (string-append "mirror://sourceforge/xmp/libxmp/"
1463 name "-" version ".tar.gz"))
1466 "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
1467 (build-system gnu-build-system)
1468 (home-page "http://xmp.sourceforge.net/")
1469 (synopsis "Module player library")
1471 "Libxmp is a library that renders module files to PCM data. It supports
1472 over 90 mainstream and obscure module formats including Protracker (MOD),
1473 Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
1474 (license license:lgpl2.1+)))
1482 (uri (string-append "mirror://sourceforge/xmp/xmp/"
1483 name "-" version ".tar.gz"))
1486 "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
1487 (build-system gnu-build-system)
1489 `(("pkg-config" ,pkg-config)))
1491 `(("libxmp" ,libxmp)
1492 ("pulseaudio" ,pulseaudio)))
1493 (home-page "http://xmp.sourceforge.net/")
1494 (synopsis "Extended module player")
1496 "Xmp is a portable module player that plays over 90 mainstream and
1497 obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
1498 Tracker 3 S3M and Impulse Tracker IT files.")
1499 (license license:gpl2+)))
1501 (define-public soundtouch
1510 "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
1512 (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
1513 (build-system gnu-build-system)
1515 `(("autoconf" ,autoconf)
1516 ("automake" ,automake)
1517 ("libtool" ,libtool)
1524 (zero? (system* "sh" "bootstrap")))
1526 (home-page "http://www.surina.net/soundtouch/")
1528 "Audio processing library for changing tempo, pitch and playback rate")
1530 "SoundTouch is an audio processing library for changing the tempo, pitch
1531 and playback rates of audio streams or audio files. It is intended for
1532 application developers writing sound processing tools that require tempo/pitch
1533 control functionality, or just for playing around with the sound effects.")
1534 (license license:lgpl2.1+)))
1542 (uri (string-append "mirror://sourceforge/sox/sox-"
1543 version ".tar.bz2"))
1546 "170lx90r1nlnb2j6lg00524iwvqy72p48vii4xc5prrh8dnrb9l1"))))
1547 (build-system gnu-build-system)
1550 ;; The upstream asks to identify the distribution to diagnose SoX
1552 '("--with-distro=Guix System Distribution")))
1554 `(("pkg-config" ,pkg-config)))
1556 `(("alsa-lib" ,alsa-lib)
1560 ("libid3tag" ,libid3tag)
1561 ("libltdl" ,libltdl)
1564 ("libvorbis" ,libvorbis)
1565 ("pulseaudio" ,pulseaudio)))
1566 (home-page "http://sox.sourceforge.net")
1567 (synopsis "Sound processing utility")
1569 "SoX (Sound eXchange) is a command line utility that can convert
1570 various formats of computer audio files to other formats. It can also
1571 apply various effects to these sound files, and, as an added bonus, SoX
1572 can play and record audio files.")
1573 ;; sox.c is distributed under GPL, while the files that make up
1574 ;; libsox are licensed under LGPL.
1575 (license (list license:gpl2+ license:lgpl2.1+))))
1585 (string-append "mirror://sourceforge/soxr/soxr-" version
1588 (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
1589 (build-system cmake-build-system)
1590 (arguments '(#:tests? #f)) ;no 'check' target
1591 (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
1592 (synopsis "One-dimensional sample-rate conversion library")
1594 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
1595 conversion. It may be used, for example, to resample PCM-encoded audio.")
1596 (license license:lgpl2.1+)))
1598 (define-public twolame
1606 "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
1608 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
1609 (build-system gnu-build-system)
1611 `(("libsndfile" ,libsndfile)))
1614 ("which" ,which))) ;used in tests/test.pl
1615 (home-page "http://www.twolame.org/")
1616 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
1618 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
1619 tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
1621 (license license:lgpl2.1+)))
1623 (define-public portaudio
1626 (version "19.20140130")
1631 "http://www.portaudio.com/archives/pa_stable_v"
1632 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
1635 (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
1636 (patches (list (search-patch "portaudio-audacity-compat.patch")))))
1637 (build-system gnu-build-system)
1639 ;; TODO: Add ASIHPI.
1640 `(("alsa-lib" ,alsa-lib)
1643 `(("autoconf" ,autoconf)
1644 ("automake" ,automake)
1645 ("libtool" ,libtool)
1646 ("pkg-config" ,pkg-config)))
1649 ;; Autoreconf is necessary because the audacity-compat patch modifies
1654 (zero? (system* "autoreconf" "-vif")))
1656 #:tests? #f)) ;no 'check' target
1657 (home-page "http://www.portaudio.com/")
1658 (synopsis "Audio I/O library")
1660 "PortAudio is a portable C/C++ audio I/O library providing a simple API
1661 to record and/or play sound using a callback function or a blocking read/write
1663 (license license:expat)))
1665 (define-public qsynth
1673 "mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
1675 (base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
1676 (build-system gnu-build-system)
1678 `(#:tests? #f)) ; no "check" phase
1681 ("fluidsynth" ,fluidsynth)))
1682 (home-page "http://qsynth.sourceforge.net")
1683 (synopsis "Graphical user interface for FluidSynth")
1685 "Qsynth is a GUI front-end application for the FluidSynth SoundFont
1686 synthesizer written in C++.")
1687 (license license:gpl2+)))
1689 (define-public rsound
1696 (uri (string-append "https://github.com/Themaister/RSound/archive/v"
1698 (file-name (string-append name "-" version))
1700 (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
1701 (build-system gnu-build-system)
1703 `(("alsa-lib" ,alsa-lib)
1706 ("libsamplerate" ,libsamplerate)
1708 ("portaudio" ,portaudio)
1709 ("pulseaudio" ,pulseaudio)))
1714 (lambda* (#:key outputs #:allow-other-keys)
1717 (system* "./configure"
1718 (string-append "--prefix=" (assoc-ref outputs "out")))))
1720 ;; No 'check' target.
1722 (home-page "http://themaister.net/rsound.html")
1723 (synopsis "Networked audio system")
1725 "RSound allows you to send audio from an application and transfer it
1726 directly to a different computer on your LAN network. It is an audio daemon
1727 with a much different focus than most other audio daemons.")
1728 (license license:gpl3+)))
1730 (define-public xjackfreak
1737 "https://github.com/johnhldavis/xjackfreak/archive/v"
1739 (file-name (string-append name "-" version ".tar.gz"))
1742 "0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
1743 (build-system gnu-build-system)
1746 (list (string-append "docdir=" (assoc-ref %outputs "out")
1747 "/share/doc/xjackfreak"))))
1752 ("libxext" ,libxext)))
1754 `(("pkg-config" ,pkg-config)))
1755 (home-page "https://github.com/johnhldavis/xjackfreak")
1756 (synopsis "JACK audio frequency analyzer and display")
1758 "XJackFreak is an audio analysis and equalizing tool for the Jack Audio
1759 Connection Kit. It can display the FFT of any input, modify it and output the
1761 (license license:gpl3+)))
1763 (define-public zita-convolver
1765 (name "zita-convolver")
1770 "http://kokkinizita.linuxaudio.org"
1771 "/linuxaudio/downloads/zita-convolver-"
1772 version ".tar.bz2"))
1775 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
1776 (build-system gnu-build-system)
1778 `(#:tests? #f ; no "check" target
1779 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1782 'unpack 'patch-makefile-and-enter-directory
1784 (substitute* "libs/Makefile"
1785 (("ldconfig") "true")
1786 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1792 (symlink "libzita-convolver.so"
1793 (string-append (assoc-ref %outputs "out")
1794 "/lib/libzita-convolver.so.3")))
1795 ;; no configure script
1796 (alist-delete 'configure %standard-phases)))))
1797 (inputs `(("fftwf" ,fftwf)))
1798 (home-page "http://kokkinizita.linuxaudio.org")
1799 (synopsis "Fast, partitioned convolution engine library")
1801 "Zita convolver is a C++ library providing a real-time convolution
1803 (license license:gpl3+)))
1805 (define-public zita-resampler
1807 (name "zita-resampler")
1812 "http://kokkinizita.linuxaudio.org"
1813 "/linuxaudio/downloads/zita-resampler-"
1814 version ".tar.bz2"))
1817 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
1818 (build-system gnu-build-system)
1820 `(#:tests? #f ; no "check" target
1821 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1823 (modify-phases %standard-phases
1825 'unpack 'patch-makefile-and-enter-directory
1827 (substitute* "libs/Makefile"
1828 (("ldconfig") "true")
1829 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1833 'install 'install-symlink
1835 (symlink "libzita-resampler.so"
1836 (string-append (assoc-ref %outputs "out")
1837 "/lib/libzita-resampler.so.1"))))
1838 ;; no configure script
1839 (delete 'configure))))
1840 (home-page "http://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
1841 (synopsis "C++ library for resampling audio signals")
1843 "Libzita-resampler is a C++ library for resampling audio signals. It is
1844 designed to be used within a real-time processing context, to be fast, and to
1845 provide high-quality sample rate conversion.")
1846 (license license:gpl3+)))
1848 (define-public zita-alsa-pcmi
1850 (name "zita-alsa-pcmi")
1855 "http://kokkinizita.linuxaudio.org"
1856 "/linuxaudio/downloads/zita-alsa-pcmi-"
1857 version ".tar.bz2"))
1860 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
1861 (build-system gnu-build-system)
1863 `(#:tests? #f ; no "check" target
1864 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1867 'unpack 'patch-makefile-and-enter-directory
1869 (substitute* "libs/Makefile"
1870 (("ldconfig") "true")
1871 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1878 (symlink "libzita-alsa-pcmi.so"
1879 (string-append (assoc-ref %outputs "out")
1880 "/lib/libzita-alsa-pcmi.so.0")))
1881 ;; no configure script
1882 (alist-delete 'configure %standard-phases)))))
1884 `(("alsa-lib" ,alsa-lib)
1886 (home-page "http://kokkinizita.linuxaudio.org")
1887 (synopsis "C++ wrapper around the ALSA API")
1889 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
1890 access to ALSA PCM devices, taking care of the many functions required to
1891 open, initialise and use a hw: device in mmap mode, and providing floating
1893 (license license:gpl3+)))