gnu: Add FIL plugins.
[jackhill/guix/guix.git] / gnu / packages / audio.scm
CommitLineData
fb68469f 1;;; GNU Guix --- Functional package management for GNU
b16043a3 2;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
9f1cdd9d 3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
0390a520 4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
d739f481 5;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
1207a0c3 6;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
fb68469f
RW
7;;;
8;;; This file is part of GNU Guix.
9;;;
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.
14;;;
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.
19;;;
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/>.
22
23(define-module (gnu packages audio)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix git-download)
d49976ed 27 #:use-module (guix utils)
fb68469f
RW
28 #:use-module ((guix licenses) #:prefix license:)
29 #:use-module (guix build-system gnu)
c54a8981 30 #:use-module (guix build-system waf)
7c92efff 31 #:use-module (guix build-system trivial)
4bddd14c 32 #:use-module (guix build-system cmake)
a91d72e2 33 #:use-module (guix build-system python)
fb68469f 34 #:use-module (gnu packages)
d55f912a 35 #:use-module (gnu packages algebra)
9f1cdd9d 36 #:use-module (gnu packages autotools)
fcbeb00b 37 #:use-module (gnu packages avahi)
88efb2c3 38 #:use-module (gnu packages boost)
7c92efff 39 #:use-module (gnu packages base)
fda85ca6 40 #:use-module (gnu packages bison)
7c92efff 41 #:use-module (gnu packages compression)
88efb2c3 42 #:use-module (gnu packages curl)
fb68469f 43 #:use-module (gnu packages databases)
754a98ae 44 #:use-module (gnu packages file)
fda85ca6 45 #:use-module (gnu packages flex)
11d4800a
RW
46 #:use-module (gnu packages fltk)
47 #:use-module (gnu packages fontutils)
fda85ca6 48 #:use-module (gnu packages gettext)
88efb2c3 49 #:use-module (gnu packages glib)
f3ab6ad3 50 #:use-module (gnu packages gtk)
88efb2c3 51 #:use-module (gnu packages gnome)
fcbeb00b 52 #:use-module (gnu packages gperf)
d739f481 53 #:use-module (gnu packages image)
9ffee457 54 #:use-module (gnu packages ncurses)
f3ab6ad3 55 #:use-module (gnu packages qt)
c54a8981 56 #:use-module (gnu packages linux)
88efb2c3
RW
57 #:use-module (gnu packages mp3) ;taglib
58 #:use-module (gnu packages perl)
c54a8981
RW
59 #:use-module (gnu packages pkg-config)
60 #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
d55f912a 61 #:use-module (gnu packages python)
5279eb6f 62 #:use-module (gnu packages rdf)
c54a8981 63 #:use-module (gnu packages readline)
02979664 64 #:use-module (gnu packages webkit)
c54a8981 65 #:use-module (gnu packages xiph)
da49086a 66 #:use-module (gnu packages xml)
caf9055c 67 #:use-module (gnu packages xorg)
70fc29d9 68 #:use-module (gnu packages zip)
da49086a 69 #:use-module (srfi srfi-1))
fb68469f 70
eb0fb087
RW
71(define-public alsa-modular-synth
72 (package
73 (name "alsa-modular-synth")
61eecd71 74 (version "2.1.2")
eb0fb087
RW
75 (source (origin
76 (method url-fetch)
77 (uri (string-append "mirror://sourceforge/alsamodular/ams-"
78 version ".tar.bz2"))
79 (sha256
80 (base32
61eecd71 81 "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
eb0fb087 82 (build-system gnu-build-system)
ee6a88b1 83 (arguments
afadb05e
RW
84 `(#:configure-flags '("--enable-qt5")
85 #:phases
86 (modify-phases %standard-phases
87 ;; Insert an extra space between linker flags.
88 (add-before 'configure 'add-missing-space
89 (lambda _
90 (substitute* "configure"
91 (("LIBS\\+=\\$LIBSsave") "LIBS+=\" $LIBSsave\"")
92 (("CFLAGS\\+=\\$CFLAGSsave") "CFLAGS+=\" $CFLAGSsave\""))
93 #t)))))
eb0fb087
RW
94 (inputs
95 `(("alsa-lib" ,alsa-lib)
96 ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
97 ;; license incompatibility.
98 ("clalsadrv" ,clalsadrv)
99 ("fftw" ,fftw)
100 ("jack" ,jack-1)
101 ("ladspa" ,ladspa)
102 ("liblo" ,liblo)
ee6a88b1 103 ("qt" ,qt)))
eb0fb087
RW
104 (native-inputs
105 `(("pkg-config" ,pkg-config)))
106 (home-page "http://alsamodular.sourceforge.net/")
107 (synopsis "Realtime modular synthesizer and effect processor")
108 (description
109 "AlsaModularSynth is a digital implementation of a classical analog
110modular synthesizer system. It uses virtual control voltages to control the
111parameters of the modules. The control voltages which control the frequency
112e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
113Filter) modules follow the convention of 1V / Octave.")
114 (license license:gpl2)))
115
d55f912a
RW
116(define-public aubio
117 (package
118 (name "aubio")
119 (version "0.4.1")
120 (source (origin
121 (method url-fetch)
122 (uri (string-append
123 "http://aubio.org/pub/aubio-" version ".tar.bz2"))
124 (sha256
125 (base32
126 "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5"))))
127 (build-system waf-build-system)
128 (arguments
129 `(#:tests? #f ; no check target
130 #:configure-flags
131 '("--enable-fftw3f"
132 "--enable-jack"
133 "--enable-sndfile"
134 "--enable-samplerate"
135 ;; enable compilation with avcodec once available
136 "--disable-avcodec")
137 #:python ,python-2))
138 (inputs
139 `(("jack" ,jack-1)
d55f912a
RW
140 ("libsndfile" ,libsndfile)
141 ("libsamplerate" ,libsamplerate)
142 ("fftwf" ,fftwf)))
143 (native-inputs
144 `(("pkg-config" ,pkg-config)))
145 (home-page "http://aubio.org/")
a124bbd2 146 (synopsis "Library for audio labelling")
d55f912a
RW
147 (description
148 "aubio is a tool designed for the extraction of annotations from audio
149signals. Its features include segmenting a sound file before each of its
150attacks, performing pitch detection, tapping the beat and producing MIDI
151streams from live audio.")
152 (license license:gpl3+)))
153
d49976ed
RW
154(define (ardour-rpath-phase major-version)
155 `(lambda* (#:key outputs #:allow-other-keys)
156 (let ((libdir (string-append (assoc-ref outputs "out")
157 "/lib/ardour" ,major-version)))
158 (substitute* "wscript"
159 (("linker_flags = \\[\\]")
160 (string-append "linker_flags = [\""
161 "-Wl,-rpath="
162 libdir ":"
163 libdir "/backends" ":"
164 libdir "/engines" ":"
165 libdir "/panners" ":"
166 libdir "/surfaces" ":"
167 libdir "/vamp" "\"]"))))
168 #t))
169
60725232 170(define-public ardour
88efb2c3
RW
171 (package
172 (name "ardour")
b16043a3 173 (version "4.7")
88efb2c3 174 (source (origin
88efb2c3
RW
175 (method git-fetch)
176 (uri (git-reference
177 (url "git://git.ardour.org/ardour/ardour.git")
178 (commit version)))
179 (snippet
b16043a3
RW
180 ;; Ardour expects this file to exist at build time. The revision
181 ;; is the output of
182 ;; git describe HEAD | sed 's/^[A-Za-z]*+//'
88efb2c3
RW
183 '(call-with-output-file
184 "libs/ardour/revision.cc"
185 (lambda (port)
186 (format port "#include \"ardour/revision.h\"
b16043a3 187namespace ARDOUR { const char* revision = \"4.7-219-g0e36f8e\" ; }"))))
88efb2c3
RW
188 (sha256
189 (base32
b16043a3 190 "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l"))
88efb2c3
RW
191 (file-name (string-append name "-" version))))
192 (build-system waf-build-system)
193 (arguments
92e4fbe2
SB
194 `(#:configure-flags '("--cxx11") ; required by gtkmm
195 #:phases
21481a28
RW
196 (modify-phases %standard-phases
197 (add-after
198 'unpack 'set-rpath-in-LDFLAGS
d49976ed 199 ,(ardour-rpath-phase (version-prefix version 1))))
21481a28 200 #:tests? #f ; no check target
88efb2c3
RW
201 #:python ,python-2))
202 (inputs
203 `(("alsa-lib" ,alsa-lib)
204 ("aubio" ,aubio)
205 ("lrdf" ,lrdf)
206 ("boost" ,boost)
207 ("atkmm" ,atkmm)
208 ("cairomm" ,cairomm)
209 ("gtkmm" ,gtkmm-2)
210 ("glibmm" ,glibmm)
211 ("libart-lgpl" ,libart-lgpl)
212 ("libgnomecanvasmm" ,libgnomecanvasmm)
213 ("pangomm" ,pangomm)
214 ("liblo" ,liblo)
215 ("libsndfile" ,libsndfile)
216 ("libsamplerate" ,libsamplerate)
217 ("libxml2" ,libxml2)
218 ("libogg" ,libogg)
219 ("libvorbis" ,libvorbis)
220 ("flac" ,flac)
221 ("lv2" ,lv2)
222 ("vamp" ,vamp)
223 ("curl" ,curl)
88efb2c3
RW
224 ("fftw" ,fftw)
225 ("fftwf" ,fftwf)
226 ("jack" ,jack-1)
227 ("serd" ,serd)
228 ("sord" ,sord)
229 ("sratom" ,sratom)
230 ("suil" ,suil)
231 ("lilv" ,lilv)
88efb2c3
RW
232 ("redland" ,redland)
233 ("rubberband" ,rubberband)
234 ("taglib" ,taglib)
235 ("python-rdflib" ,python-rdflib)))
236 (native-inputs
237 `(("perl" ,perl)
238 ("pkg-config" ,pkg-config)))
239 (home-page "http://ardour.org")
240 (synopsis "Digital audio workstation")
241 (description
242 "Ardour is a multi-channel digital audio workstation, allowing users to
243record, edit, mix and master audio and MIDI projects. It is targeted at audio
244engineers, musicians, soundtrack editors and composers.")
245 (license license:gpl2+)))
246
497e9a82
RW
247(define-public azr3
248 (package
249 (name "azr3")
250 (version "1.2.3")
251 (source (origin
252 (method url-fetch)
253 (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
254 version
255 ".tar.bz2"))
256 (sha256
257 (base32
258 "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
259 (build-system gnu-build-system)
260 (arguments
261 `(#:tests? #f ; no check target
262 #:make-flags
263 (list "LV2PEG=ttl2c"
264 (string-append "prefix=" %output)
265 (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
266 (inputs
267 `(("gtkmm" ,gtkmm-2)
268 ("lvtk" ,lvtk)
269 ("jack" ,jack-1)
f753846b 270 ("lash" ,lash)))
497e9a82
RW
271 (native-inputs
272 `(("pkg-config" ,pkg-config)))
273 (home-page "http://ll-plugins.nongnu.org/azr3/")
274 (synopsis "Tonewheel organ synthesizer")
275 (description
276 "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
277with drawbars, distortion and rotating speakers. The organ has three
278sections, two polyphonic sections with nine drawbars each and one monophonic
279bass section with five drawbars. A standalone JACK application and LV2
280plugins are provided.")
281 (license license:gpl2)))
282
f62a8417
RW
283(define-public calf
284 (package
285 (name "calf")
286 (version "0.0.60")
287 (source (origin
288 (method url-fetch)
73cea74d
RW
289 (uri (string-append "http://calf-studio-gear.org/files/calf-"
290 version ".tar.gz"))
f62a8417
RW
291 (sha256
292 (base32
293 "019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
294 (build-system gnu-build-system)
295 (inputs
296 `(("fluidsynth" ,fluidsynth)
297 ("expat" ,expat)
298 ("glib" ,glib)
299 ("gtk" ,gtk+-2)
300 ("cairo" ,cairo)
301 ("lash" ,lash)
302 ("jack" ,jack-1)
303 ("lv2" ,lv2)
304 ("ladspa" ,ladspa)
305 ("fftw" ,fftw)))
306 (native-inputs
307 `(("pkg-config" ,pkg-config)))
308 (native-search-paths
309 (list (search-path-specification
310 (variable "LV2_PATH")
311 (files '("lib/lv2")))))
312 (home-page "http://calf.sourceforge.net/")
313 (synopsis "Audio plug-in pack for LV2 and JACK environments")
314 (description
315 "Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
316The suite contains lots of effects (delay, modulation, signal processing,
317filters, equalizers, dynamics, distortion and mastering effects),
318instruments (SF2 player, organ simulator and a monophonic synthesizer) and
319tools (analyzer, mono/stereo tools, crossovers).")
320 ;; calfjackhost is released under GPLv2+
321 ;; The plugins are released under LGPLv2.1+
322 (license (list license:lgpl2.1+ license:gpl2+))))
323
fda85ca6
RW
324(define-public csound
325 (package
326 (name "csound")
efd37722 327 (version "6.05")
fda85ca6
RW
328 (source (origin
329 (method url-fetch)
330 (uri (string-append
331 "mirror://sourceforge/csound/csound6/Csound"
332 version "/Csound" version ".tar.gz"))
333 (sha256
334 (base32
c91d3fb7
EB
335 "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))
336 (patches (list (search-patch "csound-header-ordering.patch")))))
fda85ca6 337 (build-system cmake-build-system)
00c16d5b
LC
338 (arguments
339 ;; Work around this error on x86_64 with libc 2.22+:
340 ;; libmvec.so.1: error adding symbols: DSO missing from command line
341 (if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
342 '(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
343 '()))
fda85ca6
RW
344 (inputs
345 `(("alsa-lib" ,alsa-lib)
346 ("boost" ,boost)
347 ("pulseaudio" ,pulseaudio)
348 ("libsndfile" ,libsndfile)
349 ("liblo" ,liblo)
350 ("ladspa" ,ladspa)
351 ("jack" ,jack-1)
352 ("gettext" ,gnu-gettext)))
353 (native-inputs
354 `(("bison" ,bison)
355 ("flex" ,flex)
356 ("zlib" ,zlib)))
357 (home-page "http://csound.github.io/")
358 (synopsis "Sound and music computing system")
359 (description
360 "Csound is a user-programmable and user-extensible sound processing
361language and software synthesizer.")
362 (license license:lgpl2.1+)))
363
631ac903
RW
364(define-public clalsadrv
365 (package
366 (name "clalsadrv")
367 (version "2.0.0")
368 (source (origin
369 (method url-fetch)
370 (uri (string-append
371 "http://kokkinizita.linuxaudio.org"
372 "/linuxaudio/downloads/clalsadrv-"
373 version ".tar.bz2"))
374 (sha256
375 (base32
9de2e43c 376 "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
631ac903
RW
377 (build-system gnu-build-system)
378 (arguments
379 `(#:tests? #f ; no "check" target
380 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
381 #:phases
382 (alist-cons-after
9de2e43c
RW
383 'unpack 'patch-makefile-and-enter-directory
384 (lambda _
385 (substitute* "libs/Makefile"
386 (("/sbin/ldconfig") "true")
387 (("^LIBDIR =.*") "LIBDIR = lib\n"))
388 (chdir "libs")
389 #t)
631ac903
RW
390 (alist-cons-after
391 'install
392 'install-symlink
393 (lambda _
394 (symlink "libclalsadrv.so"
395 (string-append (assoc-ref %outputs "out")
396 "/lib/libclalsadrv.so.2")))
397 ;; no configure script
398 (alist-delete 'configure %standard-phases)))))
399 (inputs
400 `(("alsa-lib" ,alsa-lib)
401 ("fftw" ,fftw)))
402 (home-page "http://kokkinizita.linuxaudio.org")
403 (synopsis "C++ wrapper around the ALSA API")
404 (description
405 "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
406ALSA PCM devices.")
407 (license license:gpl2+)))
408
8ba62f92
RW
409(define-public amb-plugins
410 (package
411 (name "amb-plugins")
412 (version "0.8.1")
413 (source (origin
414 (method url-fetch)
415 (uri (string-append
416 "http://kokkinizita.linuxaudio.org"
417 "/linuxaudio/downloads/AMB-plugins-"
418 version ".tar.bz2"))
419 (sha256
420 (base32
421 "0x4blm4visjqj0ndqr0cg776v3b7lvplpc8cgi9n51llhavn0jpl"))))
422 (build-system gnu-build-system)
423 (arguments
424 `(#:tests? #f ; no "check" target
425 #:phases
426 (modify-phases %standard-phases
427 ;; no configure script
428 (delete 'configure)
429 (add-before 'install 'prepare-target-directory
430 (lambda* (#:key outputs #:allow-other-keys)
431 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
432 #t))
433 (add-after 'unpack 'override-target-directory-and-tool-paths
434 (lambda* (#:key outputs #:allow-other-keys)
435 (substitute* "Makefile"
436 (("/usr/lib/ladspa")
437 (string-append (assoc-ref outputs "out") "/lib/ladspa"))
438 (("/usr/bin/install") (which "install"))
439 (("/bin/rm") "#"))
440 #t)))))
441 (home-page "http://kokkinizita.linuxaudio.org")
442 (synopsis "LADSPA ambisonics plugins")
443 (description
444 "The AMB plugins are a set of LADSPA ambisonics plugins, mainly to be
445used within Ardour. Features include: mono and stereo to B-format panning,
446horizontal rotator, square, hexagon and cube decoders.")
447 (license license:gpl2+)))
448
fb2e072c
RW
449(define-public mcp-plugins
450 (package
451 (name "mcp-plugins")
452 (version "0.4.0")
453 (source (origin
454 (method url-fetch)
455 (uri (string-append
456 "http://kokkinizita.linuxaudio.org"
457 "/linuxaudio/downloads/MCP-plugins-"
458 version ".tar.bz2"))
459 (sha256
460 (base32
461 "06a9r1l85jmg7l1cvc3788mk8ra0xagjfy1rmhw3b80y4n0vlnvc"))))
462 (build-system gnu-build-system)
463 (arguments
464 `(#:tests? #f ; no "check" target
465 #:phases
466 (modify-phases %standard-phases
467 ;; no configure script
468 (delete 'configure)
469 (add-before 'install 'prepare-target-directory
470 (lambda* (#:key outputs #:allow-other-keys)
471 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
472 #t))
473 (add-after 'unpack 'override-target-directory
474 (lambda* (#:key outputs #:allow-other-keys)
475 (substitute* "Makefile"
476 (("/usr") (assoc-ref outputs "out")))
477 #t)))))
478 (home-page "http://kokkinizita.linuxaudio.org")
479 (synopsis "Chorus, phaser, and vintage high-pass and low-pass filters")
480 (description
481 "This package provides various LADSPA plugins. @code{cs_chorus} and
482@code{cs_phaser} provide chorus and phaser effects, respectively;
483@code{mvclpf24} provides four implementations of the low-pass filter used in
484vintage Moog synthesizers; @code{mvchpf24} is based on the voltage-controlled
485high-pass filter by Robert Moog. The filters attempt to accurately emulate
486the non-linear circuit elements of their original analog counterparts.")
487 (license license:gpl2+)))
488
dffb6c3b
RW
489(define-public rev-plugins
490 (package
491 (name "rev-plugins")
492 (version "0.7.1")
493 (source (origin
494 (method url-fetch)
495 (uri (string-append
496 "http://kokkinizita.linuxaudio.org"
497 "/linuxaudio/downloads/REV-plugins-"
498 version ".tar.bz2"))
499 (sha256
500 (base32
501 "1ikpinxm00pkfi259bnkzhsy3miagrjgdihaaf5x4v7zac29j3g7"))))
502 (build-system gnu-build-system)
503 (arguments
504 `(#:tests? #f ; no "check" target
505 #:phases
506 (modify-phases %standard-phases
507 ;; no configure script
508 (delete 'configure)
509 (add-before 'install 'prepare-target-directory
510 (lambda* (#:key outputs #:allow-other-keys)
511 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
512 #t))
513 (add-after 'unpack 'override-target-directory
514 (lambda* (#:key outputs #:allow-other-keys)
515 (substitute* "Makefile"
516 (("/usr") (assoc-ref outputs "out")))
517 #t)))))
518 (home-page "http://kokkinizita.linuxaudio.org")
519 (synopsis "LADSPA reverb plugin")
520 (description
521 "This package provides a stereo reverb LADSPA plugin based on the
522well-known greverb.")
523 (license license:gpl2+)))
524
75f45d16
RW
525(define-public fil-plugins
526 (package
527 (name "fil-plugins")
528 (version "0.3.0")
529 (source (origin
530 (method url-fetch)
531 (uri (string-append
532 "http://kokkinizita.linuxaudio.org"
533 "/linuxaudio/downloads/FIL-plugins-"
534 version ".tar.bz2"))
535 (sha256
536 (base32
537 "1scfv9j7jrp50r565haa4rvxn1vk2ss86xssl5qgcr8r45qz42qw"))))
538 (build-system gnu-build-system)
539 (arguments
540 `(#:tests? #f ; no "check" target
541 #:phases
542 (modify-phases %standard-phases
543 ;; no configure script
544 (delete 'configure)
545 (add-before 'install 'prepare-target-directory
546 (lambda* (#:key outputs #:allow-other-keys)
547 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
548 #t))
549 (add-after 'unpack 'override-target-directory
550 (lambda* (#:key outputs #:allow-other-keys)
551 (substitute* "Makefile"
552 (("/usr") (assoc-ref outputs "out")))
553 #t)))))
554 (home-page "http://kokkinizita.linuxaudio.org")
555 (synopsis "LADSPA four-band parametric equalizer plugin")
556 (description
557 "This package provides a LADSPA plugin for a four-band parametric
558equalizer. Each section has an active/bypass switch, frequency, bandwidth and
559gain controls. There is also a global bypass switch and gain control.
560
561The 2nd order resonant filters are implemented using a Mitra-Regalia style
562lattice filter, which is stable even while parameters are being changed.
563
564All switches and controls are internally smoothed, so they can be used 'live'
565without any clicks or zipper noises. This makes this plugin suitable for use
566in systems that allow automation of plugin control ports, such as Ardour, or
567for stage use.")
568 (license license:gpl2+)))
569
eb4fca7e
RW
570(define-public vco-plugins
571 (package
572 (name "vco-plugins")
573 (version "0.3.0")
574 (source (origin
575 (method url-fetch)
576 (uri (string-append
577 "http://kokkinizita.linuxaudio.org"
578 "/linuxaudio/downloads/VCO-plugins-"
579 version ".tar.bz2"))
580 (sha256
581 (base32
582 "1xzqdg3b07r7zww05y9bb737l9dxvfkv28m3fyak1aazaci3rsgl"))))
583 (build-system gnu-build-system)
584 (arguments
585 `(#:tests? #f ; no "check" target
586 #:phases
587 (modify-phases %standard-phases
588 ;; no configure script
589 (delete 'configure)
590 (add-before 'install 'prepare-target-directory
591 (lambda* (#:key outputs #:allow-other-keys)
592 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
593 #t))
594 (add-after 'unpack 'override-target-directory
595 (lambda* (#:key outputs #:allow-other-keys)
596 (substitute* "Makefile"
597 (("/usr") (assoc-ref outputs "out"))
598 (("/bin/cp") (which "cp")))
599 #t)))))
600 (home-page "http://kokkinizita.linuxaudio.org")
601 (synopsis "LADSPA plugin for synthesizer oscillators")
602 (description
603 "The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:
604
605@enumerate
606@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum
607@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum
608@item Rec-VCO, a square / rectange oscillator
609@end enumerate\n
610
611All oscillators are low-pass filtered to provide waveforms similar to the
612output of analog synthesizers such as the Moog Voyager.")
613 (license license:gpl2+)))
614
ed17465d
RW
615(define-public g2reverb
616 (package
617 (name "g2reverb")
618 (version "0.7.1")
619 (source (origin
620 (method url-fetch)
621 (uri (string-append
622 "http://kokkinizita.linuxaudio.org"
623 "/linuxaudio/downloads/g2reverb-"
624 version ".tar.bz2"))
625 (sha256
626 (base32
627 "18wb8vj1kky5glr76s34awbi8qzplsmf3wjbd7a12hfv4j0bkwrj"))))
628 (build-system gnu-build-system)
629 (arguments
630 `(#:tests? #f ; no "check" target
631 #:phases
632 (modify-phases %standard-phases
633 ;; no configure script
634 (delete 'configure)
635 (add-before 'install 'prepare-target-directory
636 (lambda* (#:key outputs #:allow-other-keys)
637 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
638 #t))
639 (add-after 'unpack 'override-target-directory
640 (lambda* (#:key outputs #:allow-other-keys)
641 (substitute* "Makefile"
642 (("/usr") (assoc-ref outputs "out")))
643 #t)))))
644 (home-page "http://kokkinizita.linuxaudio.org")
645 (synopsis "LADSPA stereo reverb plugin")
646 (description
647 "This package provides a LADSPA plugin for a stereo reverb effect.")
648 (license license:gpl2+)))
649
e4f43b56
RW
650(define-public fluidsynth
651 (package
652 (name "fluidsynth")
653 (version "1.1.6")
654 (source (origin
655 (method url-fetch)
656 (uri (string-append
657 "mirror://sourceforge/fluidsynth/fluidsynth-"
658 version "/fluidsynth-" version ".tar.gz"))
659 (sha256
660 (base32
661 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
662 (build-system gnu-build-system)
663 (arguments
664 `(#:phases
665 (alist-cons-after
666 'unpack
667 'remove-broken-symlinks
668 (lambda _ (delete-file-recursively "m4") #t)
669 %standard-phases)))
670 (inputs
671 `(("libsndfile" ,libsndfile)
672 ("alsa-lib" ,alsa-lib)
673 ("jack" ,jack-1)
674 ("ladspa" ,ladspa)
675 ("lash" ,lash)
676 ("readline" ,readline)
677 ("glib" ,glib)))
678 (native-inputs
679 `(("pkg-config" ,pkg-config)))
680 (home-page "http://www.fluidsynth.org/")
681 (synopsis "SoundFont synthesizer")
682 (description
683 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
684specifications. FluidSynth reads and handles MIDI events from the MIDI input
e881752c 685device. It is the software analogue of a MIDI synthesizer. FluidSynth can
e4f43b56
RW
686also play midifiles using a Soundfont.")
687 (license license:gpl2+)))
688
70fc29d9
TUBK
689(define-public faad2
690 (package
691 (name "faad2")
692 (version "2.7")
693 (source (origin
694 (method url-fetch)
695 (uri (string-append
696 "mirror://sourceforge/faac/faad2-" version ".zip"))
697 (sha256
698 (base32
699 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
700 (build-system gnu-build-system)
701 (native-inputs
702 `(("autoconf" ,autoconf)
703 ("automake" ,automake)
704 ("libtool" ,libtool)
705 ("unzip" ,unzip)))
706 (arguments
707 '(#:phases
708 (alist-cons-after
709 'unpack 'bootstrap
710 (lambda _
711 (substitute* "bootstrap" (("\r\n") "\n"))
712 (zero? (system* "sh" "bootstrap")))
713 %standard-phases)))
714 (home-page "http://www.audiocoding.com/faad2.html")
715 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
716 (description
717 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
718PS, and DAB+.")
719 (license license:gpl2)))
720
777291f0
RW
721(define-public faust
722 (package
723 (name "faust")
724 (version "0.9.67")
725 (source (origin
726 (method url-fetch)
727 (uri (string-append
728 "mirror://sourceforge/faudiostream/faust-" version ".zip"))
729 (sha256
730 (base32
0543c326
RW
731 "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
732 (snippet
733 ;; Remove prebuilt library
734 '(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
777291f0
RW
735 (build-system gnu-build-system)
736 (arguments
737 `(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
738 #:tests? #f
739 #:phases
740 (modify-phases %standard-phases
0543c326 741 ;; no "configure" script
777291f0
RW
742 (delete 'configure))))
743 (native-inputs
744 `(("unzip" ,unzip)))
745 (home-page "http://faust.grame.fr/")
746 (synopsis "Signal processing language")
747 (description
748 "Faust is a programming language for realtime audio signal processing.")
749 (license license:gpl2+)))
750
7c92efff
RW
751(define-public freepats
752 (package
753 (name "freepats")
754 (version "20060219")
755 (source (origin
756 (method url-fetch)
757 (uri (string-append "http://freepats.zenvoid.org/freepats-"
758 version ".tar.bz2"))
759 (sha256
760 (base32
761 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
762 (build-system trivial-build-system)
763 (arguments
764 `(#:modules ((guix build utils))
765 #:builder (begin
766 (use-modules (guix build utils))
767 (let ((out (string-append %output "/share/freepats")))
768 (setenv "PATH" (string-append
769 (assoc-ref %build-inputs "bzip2") "/bin:"
770 (assoc-ref %build-inputs "tar") "/bin"))
771 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
772 (chdir "freepats")
773 ;; Use absolute pattern references
774 (substitute* "freepats.cfg"
775 (("Tone_000") (string-append out "/Tone_000"))
776 (("Drum_000") (string-append out "/Drum_000")))
777 (mkdir-p out)
778 (copy-recursively "." out)))))
779 (native-inputs
780 `(("tar" ,tar)
781 ("bzip2" ,bzip2)))
782 (home-page "http://freepats.zenvoid.org")
783 (synopsis "GUS compatible patches for MIDI players")
784 (description
785 "FreePats is a project to create a free and open set of GUS compatible
786patches that can be used with softsynths such as Timidity and WildMidi.")
787 ;; GPLv2+ with exception for compositions using these patches.
788 (license license:gpl2+)))
789
fcbeb00b
RW
790(define-public guitarix
791 (package
792 (name "guitarix")
02979664 793 (version "0.34.0")
fcbeb00b
RW
794 (source (origin
795 (method url-fetch)
796 (uri (string-append
797 "mirror://sourceforge/guitarix/guitarix2-"
798 version ".tar.bz2"))
799 (sha256
800 (base32
02979664 801 "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"))))
fcbeb00b
RW
802 (build-system waf-build-system)
803 (arguments
804 `(#:tests? #f ; no "check" target
805 #:python ,python-2
806 #:configure-flags
807 (list
fcbeb00b 808 ;; Add the output lib directory to the RUNPATH.
3c3e6972
LC
809 (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
810 "--cxxflags=-std=c++11")))
fcbeb00b
RW
811 (inputs
812 `(("libsndfile" ,libsndfile)
813 ("boost" ,boost)
814 ("avahi" ,avahi)
815 ("eigen" ,eigen)
816 ("lv2" ,lv2)
817 ("lilv" ,lilv)
818 ("ladspa" ,ladspa)
819 ("jack" ,jack-1)
820 ("gtkmm" ,gtkmm-2)
821 ("gtk+" ,gtk+-2)
02979664 822 ("webkitgtk/gtk+-2" ,webkitgtk/gtk+-2)
fcbeb00b
RW
823 ("fftwf" ,fftwf)
824 ("lrdf" ,lrdf)
825 ("zita-resampler" ,zita-resampler)
826 ("zita-convolver" ,zita-convolver)))
827 (native-inputs
828 `(("gperf" ,gperf)
49767428 829 ("faust" ,faust)
fcbeb00b
RW
830 ("intltool" ,intltool)
831 ("gettext" ,gnu-gettext)
832 ("pkg-config" ,pkg-config)))
833 (native-search-paths
834 (list (search-path-specification
835 (variable "LV2_PATH")
836 (files '("lib/lv2")))))
837 (home-page "http://guitarix.org/")
838 (synopsis "Virtual guitar amplifier")
839 (description "Guitarix is a virtual guitar amplifier running JACK.
840Guitarix takes the signal from your guitar as a mono-signal from your sound
841card. The input is processed by a main amp and a rack-section. Both can be
842routed separately and deliver a processed stereo-signal via JACK. You may
843fill the rack with effects from more than 25 built-in modules including stuff
844from a simple noise gate to modulation effects like flanger, phaser or
845auto-wah.")
846 (license license:gpl2+)))
847
11d4800a
RW
848(define-public rakarrack
849 (package
850 (name "rakarrack")
851 (version "0.6.1")
852 (source (origin
853 (method url-fetch)
854 (uri (string-append "mirror://sourceforge/rakarrack/rakarrack/"
855 "rakarrack-" version "/rakarrack-"
856 version ".tar.bz2"))
857 (sha256
858 (base32
859 "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"))
860 (modules '((guix build utils)))
861 (snippet
862 '(begin
863 (substitute* '("src/process.C"
864 "src/global.h")
865 (("#include <Fl/") "#include <FL/"))
866 #t))))
867 (build-system gnu-build-system)
868 (inputs
869 `(("alsa-utils" ,alsa-utils)
870 ("fltk" ,fltk)
871 ("libx11" ,libx11)
872 ("libxext" ,libxext)
873 ("libxfixes" ,libxfixes)
874 ("libxft" ,libxft)
875 ("libxrender" ,libxrender)
876 ("libxpm" ,libxpm)
877 ("fontconfig" ,fontconfig)
878 ("freetype" ,freetype)
879 ("jack" ,jack-1)
880 ("alsa-lib" ,alsa-lib)
881 ("libsndfile" ,libsndfile)
882 ("libsamplerate" ,libsamplerate)
883 ("zlib" ,zlib)))
884 (home-page "http://rakarrack.sourceforge.net/")
885 (synopsis "Audio effects processor")
886 (description
887 "Rakarrack is a richly featured multi-effects processor emulating a
888guitar effects pedalboard. Effects include compressor, expander, noise gate,
889equalizers, exciter, flangers, chorus, various delay and reverb effects,
890distortion modules and many more. Most of the effects engine is built from
891modules found in the excellent software synthesizer ZynAddSubFX. Presets and
892user interface are optimized for guitar, but Rakarrack processes signals in
893stereo while it does not apply internal band-limiting filtering, and thus is
894well suited to all musical instruments and vocals.")
895 ;; The code is explicitly licensed under the GPL version 2 only.
896 (license license:gpl2)))
897
32cf42c1
RW
898(define-public ir
899 (package
900 (name "ir")
901 (version "1.3.2")
902 (source (origin
903 (method url-fetch)
904 (uri (string-append
905 "http://factorial.hu/system/files/ir.lv2-"
906 version ".tar.gz"))
907 (sha256
908 (base32
909 "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
910 (build-system gnu-build-system)
911 (arguments
912 `(#:tests? #f ;no "check" target
913 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
914 #:phases
915 ;; no configure script
916 (alist-delete 'configure %standard-phases)))
917 (inputs
918 `(("libsndfile" ,libsndfile)
919 ("libsamplerate" ,libsamplerate)
920 ("lv2" ,lv2)
921 ("glib" ,glib)
922 ("gtk+" ,gtk+-2)
923 ("zita-convolver" ,zita-convolver)))
924 (native-inputs
925 `(("pkg-config" ,pkg-config)))
926 (native-search-paths
927 (list (search-path-specification
928 (variable "LV2_PATH")
929 (files '("lib/lv2")))))
930 (home-page "http://factorial.hu/plugins/lv2/ir")
931 (synopsis "LV2 convolution reverb")
932 (description
933 "IR is a low-latency, real-time, high performance signal convolver
934especially for creating reverb effects. It supports impulse responses with 1,
9352 or 4 channels, in any soundfile format supported by libsndfile.")
936 (license license:gpl2+)))
937
fb68469f
RW
938(define-public jack-1
939 (package
940 (name "jack")
941 (version "0.124.1")
942 (source (origin
943 (method url-fetch)
944 (uri (string-append
945 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
946 version
947 ".tar.gz"))
948 (sha256
949 (base32
950 "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
951 (build-system gnu-build-system)
952 (inputs
2f9ae82f 953 `(("alsa-lib" ,alsa-lib)
5d95e30b
RW
954 ("readline" ,readline)))
955 ;; uuid.h is included in the JACK type headers
ca01b3ad 956 ;; db.h is included in the libjack metadata headers
5d95e30b 957 (propagated-inputs
ca01b3ad
RW
958 `(("libuuid" ,util-linux)
959 ("bdb" ,bdb)))
2f9ae82f
RW
960 (native-inputs
961 `(("pkg-config" ,pkg-config)))
fb68469f
RW
962 (home-page "http://jackaudio.org/")
963 (synopsis "JACK audio connection kit")
964 (description
965 "JACK is a low-latency audio server. It can connect a number of
966different applications to an audio device, as well as allowing them to share
967audio between themselves. JACK is different from other audio server efforts
968in that it has been designed from the ground up to be suitable for
969professional audio work. This means that it focuses on two key areas:
970synchronous execution of all clients, and low latency operation.")
971 ;; Most files are licensed under the GPL. However, the libjack/ tree is
972 ;; licensed under the LGPL in order to allow for proprietary usage.
e89fa047 973 (license (list license:gpl2+ license:lgpl2.1+))))
c54a8981 974
bcbc02fd
RW
975;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
976;; jack-2 implement the same API. JACK2 is provided primarily as a client
977;; program for users who might benefit from the D-BUS features.
c54a8981
RW
978(define-public jack-2
979 (package (inherit jack-1)
314275c7 980 (name "jack2")
c54a8981
RW
981 (version "1.9.10")
982 (source (origin
983 (method url-fetch)
984 (uri (string-append
985 "https://github.com/jackaudio/jack2/archive/v"
986 version
987 ".tar.gz"))
f586c877 988 (file-name (string-append name "-" version ".tar.gz"))
c54a8981
RW
989 (sha256
990 (base32
991 "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
992 (build-system waf-build-system)
993 (arguments
bc8bf605
RW
994 `(#:python ,python-2
995 #:tests? #f ; no check target
c54a8981 996 #:configure-flags '("--dbus"
b416c647
SB
997 "--alsa")
998 #:phases
999 (modify-phases %standard-phases
1000 (add-before
1001 'configure 'set-linkflags
1002 (lambda _
1003 ;; Add $libdir to the RUNPATH of all the binaries.
1004 (substitute* "wscript"
1005 ((".*CFLAGS.*-Wall.*" m)
1006 (string-append m
1007 " conf.env.append_unique('LINKFLAGS',"
bc8bf605
RW
1008 "'-Wl,-rpath=" %output "/lib')\n")))))
1009 (add-after 'install 'wrap-python-scripts
1010 (lambda* (#:key inputs outputs #:allow-other-keys)
1011 ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
1012 (let* ((out (assoc-ref outputs "out"))
1013 (path (getenv "PYTHONPATH")))
1014 (wrap-program (string-append out "/bin/jack_control")
1015 `("PYTHONPATH" ":" prefix (,path))))
1016 #t)))))
c54a8981
RW
1017 (inputs
1018 `(("alsa-lib" ,alsa-lib)
1019 ("dbus" ,dbus)
1020 ("expat" ,expat)
1021 ("libsamplerate" ,libsamplerate)
1022 ("opus" ,opus)
bc8bf605 1023 ("python2-dbus" ,python2-dbus)
c54a8981
RW
1024 ("readline" ,readline)))
1025 (native-inputs
1026 `(("pkg-config" ,pkg-config)))
1027 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
1028 (license (list license:gpl2+ license:lgpl2.1+))))
f47cba0e 1029
2f4646b6
RW
1030(define-public jalv
1031 (package
1032 (name "jalv")
1033 (version "1.4.6")
1034 (source (origin
1035 (method url-fetch)
1036 (uri (string-append "http://download.drobilla.net/jalv-"
1037 version ".tar.bz2"))
1038 (sha256
1039 (base32
1040 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
1041 (build-system waf-build-system)
d8c317df
SB
1042 (arguments
1043 `(#:tests? #f ; no check target
1044 #:phases
1045 (modify-phases %standard-phases
1046 (add-before
1047 'configure 'set-flags
1048 (lambda _
1049 ;; Compile with C++11, required by gtkmm.
1050 (setenv "CXXFLAGS" "-std=c++11")
1051 #t)))))
2f4646b6
RW
1052 (inputs
1053 `(("lv2" ,lv2)
1054 ("lilv" ,lilv)
1055 ("suil" ,suil)
1056 ("gtk" ,gtk+-2)
1057 ("gtkmm" ,gtkmm-2)
2f4646b6
RW
1058 ("jack" ,jack-1)))
1059 (native-inputs
1060 `(("pkg-config" ,pkg-config)))
1061 (home-page "http://drobilla.net/software/jalv/")
1062 (synopsis "Simple LV2 host for JACK")
1063 (description
1064 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
1065plugins and exposes their ports as JACK ports, essentially making any LV2
1066plugin function as a JACK application.")
1067 (license license:isc)))
1068
2cc7ce31
RW
1069(define-public ladspa
1070 (package
1071 (name "ladspa")
1072 (version "1.13")
0c1910ed
AV
1073 (source
1074 (origin
1075 (method url-fetch)
1076 ;; Since the official link is dead,
1077 ;; we download the tarball from Debian or Internet Archive.
1078 (uri (list (string-append "http://http.debian.net"
1079 "/debian/pool/main/l/ladspa-sdk/ladspa-sdk_"
1080 version ".orig.tar.gz")
1081 (string-append "https://web.archive.org/web/20140717172251/"
1082 "http://www.ladspa.org/download/ladspa_sdk_"
1083 version ".tgz")))
1084 (sha256
1085 (base32
1086 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
2cc7ce31
RW
1087 (build-system gnu-build-system)
1088 (arguments
1089 `(#:tests? #f ; the "test" target is a listening test only
1090 #:phases
1091 (alist-replace
1092 'configure
1093 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
1094 (chdir "src")
1095 (let ((out (assoc-ref outputs "out")))
1096 (substitute* "makefile"
1097 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
1098 (("/usr/include/") (string-append out "/include/"))
1099 (("/usr/bin/") (string-append out "/bin/"))
1100 (("-mkdirhier") "mkdir -p")
1101 (("^CC.*") "CC = gcc\n")
1102 (("^CPP.*") "CPP = g++\n"))))
1103 (alist-delete 'build %standard-phases))))
0c1910ed
AV
1104 ;; Since the home page is gone, we provide a link to the archived version.
1105 (home-page
1106 "https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
2cc7ce31
RW
1107 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
1108 (description
1109 "LADSPA is a standard that allows software audio processors and effects
1110to be plugged into a wide range of audio synthesis and recording packages.")
1111 (license license:lgpl2.1+)))
1112
da49086a
RW
1113(define-public lash
1114 (package
1115 (name "lash")
1116 (version "0.6.0-rc2")
1117 (source (origin
1118 (method url-fetch)
1119 ;; The tilde is not permitted in the builder name, but is used
1120 ;; in the tarball.
1121 (uri (string-append
1122 "mirror://savannah/lash/lash-"
1123 (string-join (string-split version #\-) "~")
1124 ".tar.bz2"))
1125 (file-name (string-append name "-" version ".tar.bz2"))
1126 (sha256
1127 (base32
1128 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
1129 (build-system gnu-build-system)
1130 (inputs
1131 `(("bdb" ,bdb)
1132 ("gtk" ,gtk+-2)
1133 ("jack" ,jack-1)
da49086a
RW
1134 ("readline" ,readline)
1135 ("python" ,python-2)))
1136 ;; According to pkg-config, packages depending on lash also need to have
1137 ;; at least the following packages declared as inputs.
1138 (propagated-inputs
1139 `(("alsa-lib" ,alsa-lib)
1140 ("dbus" ,dbus)
1141 ("libxml2" ,libxml2)))
1142 (native-inputs
1143 `(("pkg-config" ,pkg-config)))
1144 (home-page "http://www.nongnu.org/lash/")
1145 (synopsis "Audio application session manager")
1146 (description
1147 "LASH is a session management system for audio applications. It allows
1148you to save and restore audio sessions consisting of multiple interconneced
1149applications, restoring program state (i.e. loaded patches) and the
1150connections between them.")
1151 (license license:gpl2+)))
1152
8c0b5a75
TUBK
1153(define-public libbs2b
1154 (package
1155 (name "libbs2b")
1156 (version "3.1.0")
1157 (source (origin
1158 (method url-fetch)
1159 (uri (string-append
1160 "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
1161 (sha256
1162 (base32
1163 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
1164 (build-system gnu-build-system)
1165 (native-inputs `(("pkg-config" ,pkg-config)))
1166 (inputs `(("libsndfile" ,libsndfile)))
1167 (home-page "http://sourceforge.net/projects/bs2b/")
1168 (synopsis "Bauer stereophonic-to-binaural DSP")
1169 (description
1170 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
1171designed to improve headphone listening of stereo audio records. Recommended
1172for headphone prolonged listening to disable superstereo fatigue without
1173essential distortions.")
1174 (license license:expat)))
1175
f47cba0e
RW
1176(define-public liblo
1177 (package
1178 (name "liblo")
1179 (version "0.28")
1180 (source (origin
1181 (method url-fetch)
1182 (uri (string-append
1183 "mirror://sourceforge/liblo/liblo-"
1184 version
1185 ".tar.gz"))
1186 (sha256
1187 (base32
1188 "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
1189 (build-system gnu-build-system)
1190 (arguments
1191 `(;; liblo test FAILED
1192 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
1193 #:tests? #f))
1194 (home-page "http://liblo.sourceforge.net")
1195 (synopsis "Implementation of the Open Sound Control protocol")
1196 (description
1197 "liblo is a lightweight library that provides an easy to use
1198implementation of the Open Sound Control (OSC) protocol.")
1199 (license license:lgpl2.1+)))
e2420191 1200
a91d72e2
RW
1201(define-public python-pyliblo
1202 (package
1203 (name "python-pyliblo")
1204 (version "0.10.0")
1205 (source (origin
1206 (method url-fetch)
1207 (uri (string-append "http://das.nasophon.de/download/pyliblo-"
1208 version ".tar.gz"))
1209 (sha256
1210 (base32
1211 "13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
1212 (build-system python-build-system)
1213 (arguments `(#:tests? #f)) ;no tests
1214 (inputs
1215 `(("python-cython" ,python-cython)
1216 ("liblo" ,liblo)))
1217 (home-page "http://das.nasophon.de/pyliblo/")
1218 (synopsis "Python bindings for liblo")
1219 (description
1220 "Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC)
1221library. It supports almost the complete functionality of liblo, allowing you
1222to send and receive OSC messages using a nice and simple Python API. Also
1223included are the command line utilities @code{send_osc} and @code{dump_osc}.")
1224 (license license:lgpl2.1+)))
1225
1226(define-public python2-pyliblo
1227 (package-with-python2 python-pyliblo))
1228
332aad1b
RW
1229(define-public lilv
1230 (package
1231 (name "lilv")
1232 (version "0.20.0")
1233 (source (origin
1234 (method url-fetch)
1235 (uri (string-append "http://download.drobilla.net/lilv-"
1236 version
1237 ".tar.bz2"))
1238 (sha256
1239 (base32
1240 "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
1241 (build-system waf-build-system)
d80ee442
TUBK
1242 (arguments
1243 `(#:tests? #f ; no check target
1244 #:phases
1245 (modify-phases %standard-phases
1246 (add-before
1247 'configure 'set-ldflags
1248 (lambda* (#:key outputs #:allow-other-keys)
1249 (setenv "LDFLAGS"
1250 (string-append "-Wl,-rpath="
1251 (assoc-ref outputs "out") "/lib")))))))
ff7df27d
RW
1252 ;; required by lilv-0.pc
1253 (propagated-inputs
1254 `(("serd" ,serd)
332aad1b
RW
1255 ("sord" ,sord)
1256 ("sratom" ,sratom)))
ff7df27d
RW
1257 (inputs
1258 `(("lv2" ,lv2)))
332aad1b
RW
1259 (native-inputs
1260 `(("pkg-config" ,pkg-config)))
1261 (home-page "http://drobilla.net/software/lilv/")
1262 (synopsis "Library to simplify use of LV2 plugins in applications")
1263 (description
1264 "Lilv is a C library to make the use of LV2 plugins as simple as possible
1265for applications. Lilv is the successor to SLV2, rewritten to be
1266significantly faster and have minimal dependencies.")
1267 (license license:isc)))
1268
e2420191
RW
1269(define-public lv2
1270 (package
1271 (name "lv2")
2e189eb8 1272 (version "1.12.0")
e2420191
RW
1273 (source (origin
1274 (method url-fetch)
1275 (uri (string-append "http://lv2plug.in/spec/lv2-"
1276 version
1277 ".tar.bz2"))
1278 (sha256
1279 (base32
2e189eb8 1280 "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks"))))
e2420191
RW
1281 (build-system waf-build-system)
1282 (arguments
1283 `(#:tests? #f ; no check target
2e189eb8 1284 #:configure-flags '("--no-plugins")))
e2420191
RW
1285 (inputs
1286 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
1287 `(("libsndfile" ,libsndfile)))
1288 (native-inputs
1289 `(("pkg-config" ,pkg-config)))
1290 (home-page "http://lv2plug.in/")
1291 (synopsis "LV2 audio plugin specification")
1292 (description
1293 "LV2 is an open specification for audio plugins and host applications.
1294At its core, LV2 is a simple stable interface, accompanied by extensions which
1295add functionality to support the needs of increasingly powerful audio
1296software.")
1297 (license license:isc)))
5279eb6f 1298
98247127
RW
1299(define-public lv2-mda-piano
1300 (package
1301 (name "lv2-mda-piano")
1302 (version "0.0.2")
1303 (source (origin
1304 (method git-fetch)
1305 (uri (git-reference
f6f499b3 1306 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
98247127
RW
1307 (commit version)))
1308 (sha256
1309 (base32
1310 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
1311 (build-system gnu-build-system)
1312 (arguments
1313 `(#:make-flags (list
1314 "TYPE=mdaPiano"
1315 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1316 #:tests? #f ; no check target
1317 #:phases (alist-delete 'configure %standard-phases)))
1318 (inputs
1319 `(("lv2" ,lv2)
1320 ("lvtk" ,lvtk)))
1321 (native-inputs
1322 `(("pkg-config" ,pkg-config)))
1323 (native-search-paths
1324 (list (search-path-specification
1325 (variable "LV2_PATH")
1326 (files '("lib/lv2")))))
1327 (home-page "http://elephly.net/lv2/mdapiano.html")
1328 (synopsis "LV2 port of the mda Piano plugin")
1329 (description "An LV2 port of the mda Piano VSTi.")
1330 (license license:gpl3+)))
1331
8fb79e3d
RW
1332(define-public lv2-mda-epiano
1333 (package (inherit lv2-mda-piano)
1334 (name "lv2-mda-epiano")
1335 (arguments
1336 `(#:make-flags (list
1337 "TYPE=mdaEPiano"
1338 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1339 #:tests? #f ; no check target
1340 #:phases (alist-delete 'configure %standard-phases)))
1341 (home-page "http://elephly.net/lv2/mdaepiano.html")
1342 (synopsis "LV2 port of the mda EPiano plugin")
1343 (description "An LV2 port of the mda EPiano VSTi.")))
1344
c1718190
RW
1345(define-public lvtk
1346 (package
1347 (name "lvtk")
1348 (version "1.2.0")
1349 (source (origin
1350 (method url-fetch)
1351 (uri (string-append "https://github.com/lvtk/lvtk/archive/"
1352 version
1353 ".tar.gz"))
f586c877 1354 (file-name (string-append name "-" version ".tar.gz"))
c1718190
RW
1355 (sha256
1356 (base32
1357 "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
1358 (build-system waf-build-system)
1359 (arguments
1360 `(#:tests? #f ; no check target
1361 #:python ,python-2
1362 #:configure-flags
1363 (list (string-append "--boost-includes="
1364 (assoc-ref %build-inputs "boost")
c91d3fb7
EB
1365 "/include"))
1366 #:phases (modify-phases %standard-phases
1367 (add-before
1368 'configure 'set-flags
1369 (lambda* (#:key inputs #:allow-other-keys)
1370 ;; See e.g. https://github.com/lvtk/lvtk/issues/21
1371 (setenv "LDFLAGS"
1372 (string-append
1373 "-L" (assoc-ref inputs "boost") "/lib "
1374 "-lboost_system")))))))
c1718190
RW
1375 (inputs
1376 `(("boost" ,boost)
1377 ("lv2" ,lv2)))
1378 (native-inputs
1379 `(("pkg-config" ,pkg-config)))
1380 (home-page "https://github.com/lvtk/lvtk")
1381 (synopsis "C++ libraries for LV2 plugins")
1382 (description
1383 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
1384extensions into easy to use C++ classes. It is the successor of
1385lv2-c++-tools.")
1386 (license license:gpl3+)))
1387
f2fac359
TUBK
1388(define-public openal
1389 (package
1390 (name "openal")
1391 (version "1.15.1")
1392 (source (origin
1393 (method url-fetch)
1394 (uri (string-append
1395 "http://kcat.strangesoft.net/openal-releases/openal-soft-"
1396 version ".tar.bz2"))
1397 (sha256
1398 (base32
1399 "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
1400 (build-system cmake-build-system)
1401 (arguments
7ee5db15
RW
1402 `(#:tests? #f ; no check target
1403 #:phases
1404 (modify-phases %standard-phases
1405 (add-after
1406 'unpack 'use-full-library-paths
1407 (lambda* (#:key inputs #:allow-other-keys)
1408 (substitute* "Alc/backends/pulseaudio.c"
1409 (("#define PALIB \"libpulse\\.so\\.0\"")
1410 (string-append "#define PALIB \""
1411 (assoc-ref inputs "pulseaudio")
1412 "/lib/libpulse.so.0"
1413 "\"")))
1414 (substitute* "Alc/backends/alsa.c"
1415 (("LoadLib\\(\"libasound\\.so\\.2\"\\)")
1416 (string-append "LoadLib(\""
1417 (assoc-ref inputs "alsa-lib")
1418 "/lib/libasound.so.2"
1419 "\")")))
1420 #t)))))
f2fac359
TUBK
1421 (inputs
1422 `(("alsa-lib" ,alsa-lib)
1423 ("pulseaudio" ,pulseaudio)))
1424 (synopsis "3D audio API")
1425 (description
1426 "OpenAL provides capabilities for playing audio in a virtual 3D
1427environment. Distance attenuation, doppler shift, and directional sound
1428emitters are among the features handled by the API. More advanced effects,
1429including air absorption, occlusion, and environmental reverb, are available
1430through the EFX extension. It also facilitates streaming audio, multi-channel
1431buffers, and audio capture.")
1432 (home-page "http://kcat.strangesoft.net/openal.html")
1433 (license license:lgpl2.0+)))
1434
4443bb8d
RW
1435(define-public patchage
1436 (package
1437 (name "patchage")
1438 (version "1.0.0")
1439 (source (origin
1440 (method url-fetch)
1441 (uri (string-append "http://download.drobilla.net/patchage-"
1442 version
1443 ".tar.bz2"))
1444 (sha256
1445 (base32
1446 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
1447 (build-system waf-build-system)
1448 (arguments `(#:tests? #f)) ; no check target
1449 (inputs
1450 `(("alsa-lib" ,alsa-lib)
1451 ("boost" ,boost)
1452 ("jack" ,jack-1)
4443bb8d 1453 ("ganv" ,ganv)
4443bb8d
RW
1454 ("glibmm" ,glibmm)
1455 ("gtkmm" ,gtkmm-2)
4443bb8d
RW
1456 ("dbus-glib" ,dbus-glib)))
1457 (native-inputs
1458 `(("pkg-config" ,pkg-config)))
1459 (home-page "http://drobilla.net/software/patchage/")
1460 (synopsis "Modular patch bay for audio and MIDI systems")
1461 (description
1462 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
1463and ALSA.")
1464 (license license:gpl3+)))
1465
b22755be
RW
1466(define-public raul
1467 (package
1468 (name "raul")
1469 (version "0.8.0")
1470 (source (origin
1471 (method url-fetch)
1472 (uri (string-append "http://download.drobilla.net/raul-"
1473 version ".tar.bz2"))
1474 (sha256
1475 (base32
1476 "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
1477 (build-system waf-build-system)
1478 (arguments
1479 `(#:python ,python-2
1480 #:tests? #f)) ; no check target
1481 (inputs
1482 `(("glib" ,glib)
1483 ("boost" ,boost)))
1484 (native-inputs
1485 `(("pkg-config" ,pkg-config)))
1486 (home-page "http://drobilla.net/software/raul/")
1487 (synopsis "Real-time audio utility library")
1488 (description
1489 "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
1490aimed at audio/musical applications.")
1491 (license license:gpl2+)))
1492
57238ff2
RW
1493(define-public rubberband
1494 (package
1495 (name "rubberband")
1496 (version "1.8.1")
1497 (source (origin
1498 (method url-fetch)
1499 (uri
1500 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
1501 version
1502 ".tar.bz2"))
1503 (sha256
1504 (base32
1505 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
1506 (build-system gnu-build-system)
1507 (arguments `(#:tests? #f)) ; no check target
1508 (inputs
1509 `(("ladspa" ,ladspa)
1510 ("libsamplerate" ,libsamplerate)
1511 ("vamp" ,vamp)))
1512 (native-inputs
1513 `(("pkg-config" ,pkg-config)))
1514 (home-page "http://breakfastquay.com/rubberband/")
1515 (synopsis "Audio time-stretching and pitch-shifting library")
1516 (description
1517 "Rubber Band is a library and utility program that permits changing the
1518tempo and pitch of an audio recording independently of one another.")
1519 (license license:gpl2+)))
1520
cc45cff8
RW
1521(define-public rtmidi
1522 (package
1523 (name "rtmidi")
1524 (version "2.1.0")
1525 (source (origin
1526 (method url-fetch)
1527 (uri
1528 (string-append "https://github.com/powertab/rtmidi/archive/"
1529 version ".tar.gz"))
1530 (file-name (string-append name "-" version ".tar.gz"))
1531 (sha256
1532 (base32
1533 "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
1534 (build-system gnu-build-system)
1535 (arguments
1536 `(#:tests? #f ;no "check" target
1537 #:phases (modify-phases %standard-phases
1538 (add-before
1539 'configure 'autoconf
1540 (lambda _ (zero? (system* "autoreconf" "-vfi"))))
1541 (add-before
1542 'build 'fix-makefile
1543 (lambda _
1544 (substitute* "Makefile"
1545 (("/bin/ln") "ln")
1546 (("RtMidi.h RtError.h") "RtMidi.h"))
1547 #t))
1548 (add-before
1549 'install 'make-target-dirs
1550 (lambda _
1551 (let ((out (assoc-ref %outputs "out")))
1552 (mkdir-p (string-append out "/bin"))
1553 (mkdir (string-append out "/lib"))
1554 (mkdir (string-append out "/include")))
1555 #t)))))
1556 (inputs
1557 `(("jack" ,jack-1)
1558 ("alsa-lib" ,alsa-lib)))
1559 (native-inputs
1560 `(("autoconf" ,autoconf)
1561 ("automake" ,automake)
1562 ("libtool" ,libtool)
1563 ("pkg-config" ,pkg-config)))
1564 (home-page "https://github.com/powertab/rtmidi")
1565 (synopsis "Cross-platform MIDI library for C++")
1566 (description
1567 "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
1568classes) that provide a common cross-platform API for realtime MIDI
1569input/output.")
1570 (license license:expat)))
1571
5279eb6f
RW
1572(define-public sratom
1573 (package
1574 (name "sratom")
1575 (version "0.4.6")
1576 (source (origin
1577 (method url-fetch)
1578 (uri (string-append "http://download.drobilla.net/sratom-"
1579 version
1580 ".tar.bz2"))
1581 (sha256
1582 (base32
1583 "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
1584 (build-system waf-build-system)
1585 (arguments `(#:tests? #f)) ; no check target
1586 (inputs
1587 `(("lv2" ,lv2)
1588 ("serd" ,serd)
1589 ("sord" ,sord)))
1590 (native-inputs
1591 `(("pkg-config" ,pkg-config)))
1592 (home-page "http://drobilla.net/software/sratom/")
1593 (synopsis "Library for serialising LV2 atoms to/from RDF")
1594 (description
1595 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
1596the Turtle syntax.")
1597 (license license:isc)))
f3ab6ad3
RW
1598
1599(define-public suil
1600 (package
1601 (name "suil")
1602 (version "0.8.2")
1603 (source (origin
1604 (method url-fetch)
1605 (uri (string-append "http://download.drobilla.net/suil-"
1606 version
1607 ".tar.bz2"))
1608 (sha256
1609 (base32
1610 "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
1611 (build-system waf-build-system)
1612 (arguments `(#:tests? #f)) ; no check target
1613 (inputs
1614 `(("lv2" ,lv2)
1615 ("gtk+-2" ,gtk+-2)
1616 ("qt-4" ,qt-4)))
1617 (native-inputs
1618 `(("pkg-config" ,pkg-config)))
1619 (home-page "http://drobilla.net/software/suil/")
1620 (synopsis "Library for loading and wrapping LV2 plugin UIs")
1621 (description
1622 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
1623
1624Suil makes it possible to load a UI of a toolkit in a host using another
1625toolkit. The API is designed such that hosts do not need to explicitly
1626support specific toolkits – if Suil supports a particular toolkit, then UIs in
1627that toolkit will work in all hosts that use Suil automatically.
1628
1629Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
1630 (license license:isc)))
db46f2fc 1631
9ffee457
RW
1632(define-public timidity++
1633 (package
1634 (name "timidity++")
1635 (version "2.14.0")
1636 (source (origin
1637 (method url-fetch)
1638 (uri (string-append
1639 "mirror://sourceforge/timidity/TiMidity++-"
1640 version ".tar.bz2"))
1641 (sha256
1642 (base32
1643 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
1644 (build-system gnu-build-system)
1645 (arguments
1646 '(#:configure-flags
1647 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
1648 "--enable-ncurses"
1649 "--enable-server"
1650 "--enable-alsaseq"
1651 (string-append "--with-default-path="
1652 (assoc-ref %outputs "out") "/etc/timidity"))
1653 #:phases
1654 (alist-cons-after
1655 'install 'install-config
1656 (lambda _
1657 (let ((out (string-append (assoc-ref %outputs "out")
1658 "/etc/timidity")))
1659 (mkdir-p out)
1660 (call-with-output-file
1661 (string-append out "/timidity.cfg")
1662 (lambda (port)
1663 (format port (string-append "source "
1664 (assoc-ref %build-inputs "freepats")
1665 "/share/freepats/freepats.cfg"))))))
1666 %standard-phases)))
1667 (inputs
1668 `(("alsa-lib" ,alsa-lib)
1669 ("ao" ,ao)
1670 ("flac" ,flac)
1671 ("jack" ,jack-1)
1672 ("libogg" ,libogg)
1673 ("speex" ,speex)
1674 ("ncurses" ,ncurses)
1675 ("freepats" ,freepats)))
1676 (native-inputs
1677 `(("pkg-config" ,pkg-config)))
1678 (home-page "http://timidity.sourceforge.net/")
1679 (synopsis "Software synthesizer for playing MIDI files")
1680 (description
1681 "TiMidity++ is a software synthesizer. It can play MIDI files by
1682converting them into PCM waveform data; give it a MIDI data along with digital
1683instrument data files, then it synthesizes them in real-time, and plays. It
1684can not only play sounds, but also can save the generated waveforms into hard
1685disks as various audio file formats.")
1686 (license license:gpl2+)))
1687
db46f2fc
RW
1688(define-public vamp
1689 (package
1690 (name "vamp")
b1fb59d3 1691 (version "2.6")
db46f2fc
RW
1692 (source (origin
1693 (method url-fetch)
1694 (uri (string-append
1695 "https://code.soundsoftware.ac.uk"
494e9b91 1696 "/attachments/download/1520/vamp-plugin-sdk-"
b1fb59d3 1697 version ".tar.gz"))
9002e17c
TUBK
1698 (sha256
1699 (base32
494e9b91 1700 "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
db46f2fc 1701 (build-system gnu-build-system)
9002e17c
TUBK
1702 (arguments
1703 `(#:tests? #f ; no check target
1704 #:phases
1705 (alist-cons-after
1706 'install 'remove-libvamp-hostsdk.la
1707 (lambda* (#:key outputs #:allow-other-keys)
1708 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
1709 (for-each delete-file
1710 (let ((out (assoc-ref outputs "out")))
1711 (list (string-append out "/lib/libvamp-sdk.la")
1712 (string-append out "/lib/libvamp-hostsdk.la"))))
1713 #t)
1714 %standard-phases)))
db46f2fc
RW
1715 (inputs
1716 `(("libsndfile" ,libsndfile)))
1717 (native-inputs
1718 `(("pkg-config" ,pkg-config)))
1719 (home-page "http://vamp-plugins.org")
1720 (synopsis "Modular and extensible audio processing system")
1721 (description
1722 "Vamp is an audio processing plugin system for plugins that extract
1723descriptive information from audio data — typically referred to as audio
1724analysis plugins or audio feature extraction plugins.")
1725 (license
1726 (license:x11-style
1727 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
9f1cdd9d
TUBK
1728
1729(define-public libsbsms
1730 (package
1731 (name "libsbsms")
1732 (version "2.0.2")
1733 (source
1734 (origin
1735 (method url-fetch)
1736 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
1737 "/libsbsms-" version ".tar.gz"))
1738 (sha256
1739 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
1740 (build-system gnu-build-system)
1741 (native-inputs `(("automake" ,automake)))
1742 (arguments
476b2877
MW
1743 `(#:configure-flags
1744 ;; Disable the use of SSE unless on x86_64.
1745 ,(if (not (string-prefix? "x86_64" (or (%current-target-system)
1746 (%current-system))))
1747 ''("--disable-sse")
1748 ''())
1749 #:phases
09c414d8
MW
1750 (modify-phases %standard-phases
1751 (add-after
1752 'unpack 'fix-ar-lib-path
1753 (lambda* (#:key inputs #:allow-other-keys)
1754 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
1755 (delete-file "ar-lib")
1756 (symlink
1757 (string-append (assoc-ref inputs "automake") "/share/automake-"
1758 ,(package-version automake) "/ar-lib")
1759 "ar-lib"))))))
9f1cdd9d
TUBK
1760 (home-page "http://sbsms.sourceforge.net/")
1761 (synopsis "Library for time stretching and pitch scaling of audio")
1762 (description
1763 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
1764stretching and pitch scaling of audio. This package contains the library.")
1765 ;; There is no explicit declaration of a license, but a COPYING file
1766 ;; containing gpl2.
1767 (license license:gpl2)))
754a98ae 1768
01b90919
SB
1769(define-public wavpack
1770 (package
1771 (name "wavpack")
1772 (version "4.70.0")
1773 (source (origin
1774 (method url-fetch)
1775 (uri (string-append "http://www.wavpack.com/"
1776 name "-" version ".tar.bz2"))
1777 (sha256
1778 (base32
1779 "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
1780 (build-system gnu-build-system)
60950faa
SB
1781 (arguments
1782 `(#:configure-flags
1783 ;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
1784 (list (string-append "--libdir=" %output "/lib"))))
01b90919
SB
1785 (home-page "http://www.wavpack.com/")
1786 (synopsis "Hybrid lossless audio codec")
1787 (description
1788 "WavPack is an audio compression format with lossless, lossy and hybrid
1789compression modes. This package contains command-line programs and library to
1790encode and decode wavpack files.")
1791 (license license:bsd-3)))
1792
a176dd7e
SB
1793(define-public libmodplug
1794 (package
1795 (name "libmodplug")
1796 (version "0.8.8.5")
1797 (source (origin
1798 (method url-fetch)
1799 (uri (string-append
1800 "mirror://sourceforge/project/modplug-xmms/"
1801 name "/" version "/" name "-" version ".tar.gz"))
1802 (sha256
1803 (base32
1804 "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
1805 (build-system gnu-build-system)
1806 (home-page "http://modplug-xmms.sourceforge.net/")
1807 (synopsis "Mod file playing library")
1808 (description
1809 "Libmodplug renders mod music files as raw audio data, for playing or
1810conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
1811supported. Optional features include high-quality resampling, bass expansion,
1812surround and reverb.")
1813 (license license:public-domain)))
1814
b97b5cda
SB
1815(define-public libxmp
1816 (package
1817 (name "libxmp")
1207a0c3 1818 (version "4.3.10")
b97b5cda
SB
1819 (source (origin
1820 (method url-fetch)
1821 (uri (string-append "mirror://sourceforge/xmp/libxmp/"
1822 name "-" version ".tar.gz"))
1823 (sha256
1824 (base32
1207a0c3 1825 "1gm5xa0ca7ypcbj3bkmj3k1vvzl7nkch8gjyrm8p1a9vgzr0n761"))))
b97b5cda
SB
1826 (build-system gnu-build-system)
1827 (home-page "http://xmp.sourceforge.net/")
1828 (synopsis "Module player library")
1829 (description
1830 "Libxmp is a library that renders module files to PCM data. It supports
1831over 90 mainstream and obscure module formats including Protracker (MOD),
1832Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
1833 (license license:lgpl2.1+)))
1834
3ec4bba4
SB
1835(define-public xmp
1836 (package
1837 (name "xmp")
1838 (version "4.0.10")
1839 (source (origin
1840 (method url-fetch)
1841 (uri (string-append "mirror://sourceforge/xmp/xmp/"
1842 name "-" version ".tar.gz"))
1843 (sha256
1844 (base32
1845 "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
1846 (build-system gnu-build-system)
1847 (native-inputs
1848 `(("pkg-config" ,pkg-config)))
1849 (inputs
1850 `(("libxmp" ,libxmp)
1851 ("pulseaudio" ,pulseaudio)))
1852 (home-page "http://xmp.sourceforge.net/")
1853 (synopsis "Extended module player")
1854 (description
1855 "Xmp is a portable module player that plays over 90 mainstream and
1856obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
1857Tracker 3 S3M and Impulse Tracker IT files.")
1858 (license license:gpl2+)))
1859
754a98ae
TUBK
1860(define-public soundtouch
1861 (package
1862 (name "soundtouch")
1863 (version "1.8.0")
1864 (source
1865 (origin
1866 (method url-fetch)
1867 (uri
1868 (string-append
1869 "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
1870 (sha256
1871 (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
1872 (build-system gnu-build-system)
1873 (native-inputs
1874 `(("autoconf" ,autoconf)
1875 ("automake" ,automake)
1876 ("libtool" ,libtool)
1877 ("file" ,file)))
1878 (arguments
1879 '(#:phases
722ec722
MW
1880 (alist-cons-after
1881 'unpack 'bootstrap
754a98ae 1882 (lambda _
722ec722 1883 (zero? (system* "sh" "bootstrap")))
754a98ae
TUBK
1884 %standard-phases)))
1885 (home-page "http://www.surina.net/soundtouch/")
1886 (synopsis
1887 "Audio processing library for changing tempo, pitch and playback rate")
1888 (description
1889 "SoundTouch is an audio processing library for changing the tempo, pitch
1890and playback rates of audio streams or audio files. It is intended for
1891application developers writing sound processing tools that require tempo/pitch
1892control functionality, or just for playing around with the sound effects.")
1893 (license license:lgpl2.1+)))
4bddd14c 1894
d739f481
AK
1895(define-public sox
1896 (package
1897 (name "sox")
1898 (version "14.4.2")
1899 (source (origin
1900 (method url-fetch)
1901 (uri (string-append "mirror://sourceforge/sox/sox-"
1902 version ".tar.bz2"))
1903 (sha256
1904 (base32
1905 "170lx90r1nlnb2j6lg00524iwvqy72p48vii4xc5prrh8dnrb9l1"))))
1906 (build-system gnu-build-system)
1907 (arguments
1908 '(#:configure-flags
1909 ;; The upstream asks to identify the distribution to diagnose SoX
1910 ;; bug reports.
1911 '("--with-distro=Guix System Distribution")))
1912 (native-inputs
1913 `(("pkg-config" ,pkg-config)))
1914 (inputs
1915 `(("alsa-lib" ,alsa-lib)
1916 ("ao" ,ao)
1917 ("flac" ,flac)
1918 ("lame" ,lame)
1919 ("libid3tag" ,libid3tag)
1920 ("libltdl" ,libltdl)
1921 ("libmad" ,libmad)
1922 ("libpng" ,libpng)
1923 ("libvorbis" ,libvorbis)
1924 ("pulseaudio" ,pulseaudio)))
1925 (home-page "http://sox.sourceforge.net")
1926 (synopsis "Sound processing utility")
1927 (description
1928 "SoX (Sound eXchange) is a command line utility that can convert
1929various formats of computer audio files to other formats. It can also
1930apply various effects to these sound files, and, as an added bonus, SoX
1931can play and record audio files.")
1932 ;; sox.c is distributed under GPL, while the files that make up
1933 ;; libsox are licensed under LGPL.
1934 (license (list license:gpl2+ license:lgpl2.1+))))
1935
4bddd14c
TUBK
1936(define-public soxr
1937 (package
1938 (name "soxr")
1939 (version "0.1.1")
1940 (source
1941 (origin
1942 (method url-fetch)
1943 (uri
1944 (string-append "mirror://sourceforge/soxr/soxr-" version
1945 "-Source.tar.xz"))
1946 (sha256
1947 (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
1948 (build-system cmake-build-system)
1949 (arguments '(#:tests? #f)) ;no 'check' target
1950 (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
1951 (synopsis "One-dimensional sample-rate conversion library")
1952 (description
1953 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
1954conversion. It may be used, for example, to resample PCM-encoded audio.")
1955 (license license:lgpl2.1+)))
49f36708
TUBK
1956
1957(define-public twolame
1958 (package
1959 (name "twolame")
1960 (version "0.3.13")
1961 (source
1962 (origin
1963 (method url-fetch)
1964 (uri (string-append
1965 "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
1966 (sha256
1967 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
1968 (build-system gnu-build-system)
1969 (inputs
1970 `(("libsndfile" ,libsndfile)))
1971 (native-inputs
1972 `(("perl" ,perl)
1973 ("which" ,which))) ;used in tests/test.pl
1974 (home-page "http://www.twolame.org/")
1975 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
1976 (description
1977 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
1978tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
1979portions of LAME.")
1980 (license license:lgpl2.1+)))
bd4464f2
TUBK
1981
1982(define-public portaudio
1983 (package
1984 (name "portaudio")
1985 (version "19.20140130")
1986 (source
1987 (origin
1988 (method url-fetch)
1989 (uri (string-append
1990 "http://www.portaudio.com/archives/pa_stable_v"
1991 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
1992 ".tgz"))
1993 (sha256
b47be021
TUBK
1994 (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
1995 (patches (list (search-patch "portaudio-audacity-compat.patch")))))
bd4464f2
TUBK
1996 (build-system gnu-build-system)
1997 (inputs
1998 ;; TODO: Add ASIHPI.
1999 `(("alsa-lib" ,alsa-lib)
bcbc02fd 2000 ("jack" ,jack-1)))
bd4464f2 2001 (native-inputs
b47be021
TUBK
2002 `(("autoconf" ,autoconf)
2003 ("automake" ,automake)
2004 ("libtool" ,libtool)
2005 ("pkg-config" ,pkg-config)))
2006 (arguments
2007 '(#:phases
2008 ;; Autoreconf is necessary because the audacity-compat patch modifies
2009 ;; .in files.
2010 (alist-cons-after
2011 'unpack 'autoreconf
2012 (lambda _
2013 (zero? (system* "autoreconf" "-vif")))
2014 %standard-phases)
2015 #:tests? #f)) ;no 'check' target
bd4464f2
TUBK
2016 (home-page "http://www.portaudio.com/")
2017 (synopsis "Audio I/O library")
2018 (description
2019 "PortAudio is a portable C/C++ audio I/O library providing a simple API
2020to record and/or play sound using a callback function or a blocking read/write
2021interface.")
2022 (license license:expat)))
74bbf894 2023
fe73aef4
RW
2024(define-public qsynth
2025 (package
2026 (name "qsynth")
a228fce5 2027 (version "0.4.0")
fe73aef4
RW
2028 (source
2029 (origin
2030 (method url-fetch)
2031 (uri (string-append
2032 "mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
2033 (sha256
a228fce5 2034 (base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
fe73aef4
RW
2035 (build-system gnu-build-system)
2036 (arguments
2037 `(#:tests? #f)) ; no "check" phase
2038 (inputs
2039 `(("qt" ,qt)
2040 ("fluidsynth" ,fluidsynth)))
2041 (home-page "http://qsynth.sourceforge.net")
2042 (synopsis "Graphical user interface for FluidSynth")
2043 (description
2044 "Qsynth is a GUI front-end application for the FluidSynth SoundFont
2045synthesizer written in C++.")
2046 (license license:gpl2+)))
2047
55b596c3
TUBK
2048(define-public rsound
2049 (package
2050 (name "rsound")
2051 (version "1.1")
2052 (source
2053 (origin
2054 (method url-fetch)
2055 (uri (string-append "https://github.com/Themaister/RSound/archive/v"
2056 version ".tar.gz"))
01e327b5 2057 (file-name (string-append name "-" version))
55b596c3
TUBK
2058 (sha256
2059 (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
2060 (build-system gnu-build-system)
2061 (inputs
2062 `(("alsa-lib" ,alsa-lib)
276f49df 2063 ("jack" ,jack-1)
55b596c3
TUBK
2064 ("ao" ,ao)
2065 ("libsamplerate" ,libsamplerate)
2066 ("openal" ,openal)
2067 ("portaudio" ,portaudio)
2068 ("pulseaudio" ,pulseaudio)))
2069 (arguments
2070 '(#:phases
2071 (alist-replace
2072 'configure
2073 (lambda* (#:key outputs #:allow-other-keys)
2074 (setenv "CC" "gcc")
2075 (zero?
2076 (system* "./configure"
2077 (string-append "--prefix=" (assoc-ref outputs "out")))))
2078 %standard-phases)
2079 ;; No 'check' target.
2080 #:tests? #f))
2081 (home-page "http://themaister.net/rsound.html")
2082 (synopsis "Networked audio system")
2083 (description
2084 "RSound allows you to send audio from an application and transfer it
2085directly to a different computer on your LAN network. It is an audio daemon
2086with a much different focus than most other audio daemons.")
2087 (license license:gpl3+)))
2088
caf9055c
RW
2089(define-public xjackfreak
2090 (package
2091 (name "xjackfreak")
2092 (version "1.0")
2093 (source (origin
2094 (method url-fetch)
2095 (uri (string-append
2096 "https://github.com/johnhldavis/xjackfreak/archive/v"
2097 version ".tar.gz"))
2098 (file-name (string-append name "-" version ".tar.gz"))
2099 (sha256
2100 (base32
2101 "0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
2102 (build-system gnu-build-system)
2103 (arguments
2104 `(#:make-flags
2105 (list (string-append "docdir=" (assoc-ref %outputs "out")
2106 "/share/doc/xjackfreak"))))
2107 (inputs
2108 `(("jack" ,jack-1)
2109 ("libx11" ,libx11)
2110 ("libxt" ,libxt)
2111 ("libxext" ,libxext)))
2112 (native-inputs
2113 `(("pkg-config" ,pkg-config)))
2114 (home-page "https://github.com/johnhldavis/xjackfreak")
2115 (synopsis "JACK audio frequency analyzer and display")
2116 (description
2117 "XJackFreak is an audio analysis and equalizing tool for the Jack Audio
2118Connection Kit. It can display the FFT of any input, modify it and output the
2119result.")
2120 (license license:gpl3+)))
2121
d73f7909
RW
2122(define-public zita-convolver
2123 (package
2124 (name "zita-convolver")
2125 (version "3.1.0")
2126 (source (origin
2127 (method url-fetch)
2128 (uri (string-append
2129 "http://kokkinizita.linuxaudio.org"
2130 "/linuxaudio/downloads/zita-convolver-"
2131 version ".tar.bz2"))
29e255ca
SB
2132 (snippet
2133 ;; Don't optimize for a specific processor architecture.
2134 '(substitute* "libs/Makefile"
2135 (("^CXXFLAGS \\+= -march=native") "")))
2136 (modules '((guix build utils)))
d73f7909
RW
2137 (sha256
2138 (base32
2139 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
2140 (build-system gnu-build-system)
2141 (arguments
2142 `(#:tests? #f ; no "check" target
2143 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2144 #:phases
2145 (alist-cons-after
2146 'unpack 'patch-makefile-and-enter-directory
2147 (lambda _
2148 (substitute* "libs/Makefile"
2149 (("ldconfig") "true")
2150 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2151 (chdir "libs") #t)
2152 (alist-cons-after
2153 'install
2154 'install-symlink
2155 (lambda _
2156 (symlink "libzita-convolver.so"
2157 (string-append (assoc-ref %outputs "out")
2158 "/lib/libzita-convolver.so.3")))
2159 ;; no configure script
2160 (alist-delete 'configure %standard-phases)))))
2161 (inputs `(("fftwf" ,fftwf)))
2162 (home-page "http://kokkinizita.linuxaudio.org")
2163 (synopsis "Fast, partitioned convolution engine library")
2164 (description
2165 "Zita convolver is a C++ library providing a real-time convolution
2166engine.")
2167 (license license:gpl3+)))
2168
b7ed6784
RW
2169(define-public zita-resampler
2170 (package
2171 (name "zita-resampler")
2172 (version "1.3.0")
2173 (source (origin
2174 (method url-fetch)
2175 (uri (string-append
2176 "http://kokkinizita.linuxaudio.org"
2177 "/linuxaudio/downloads/zita-resampler-"
2178 version ".tar.bz2"))
6dff4955
SB
2179 (snippet
2180 ;; Don't optimize for a specific processor architecture.
2181 '(substitute* '("apps/Makefile" "libs/Makefile")
2182 (("^CXXFLAGS \\+= -march=native") "")))
2183 (modules '((guix build utils)))
b7ed6784
RW
2184 (sha256
2185 (base32
2186 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
2187 (build-system gnu-build-system)
2188 (arguments
2189 `(#:tests? #f ; no "check" target
2190 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2191 #:phases
2192 (modify-phases %standard-phases
2193 (add-after
2194 'unpack 'patch-makefile-and-enter-directory
2195 (lambda _
2196 (substitute* "libs/Makefile"
2197 (("ldconfig") "true")
2198 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2199 (chdir "libs")
2200 #t))
2201 (add-after
2202 'install 'install-symlink
2203 (lambda _
2204 (symlink "libzita-resampler.so"
2205 (string-append (assoc-ref %outputs "out")
2206 "/lib/libzita-resampler.so.1"))))
2207 ;; no configure script
2208 (delete 'configure))))
2209 (home-page "http://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
2210 (synopsis "C++ library for resampling audio signals")
2211 (description
2212 "Libzita-resampler is a C++ library for resampling audio signals. It is
2213designed to be used within a real-time processing context, to be fast, and to
2214provide high-quality sample rate conversion.")
2215 (license license:gpl3+)))
2216
74bbf894
RW
2217(define-public zita-alsa-pcmi
2218 (package
2219 (name "zita-alsa-pcmi")
2220 (version "0.2.0")
2221 (source (origin
2222 (method url-fetch)
2223 (uri (string-append
2224 "http://kokkinizita.linuxaudio.org"
2225 "/linuxaudio/downloads/zita-alsa-pcmi-"
2226 version ".tar.bz2"))
2227 (sha256
2228 (base32
9569dfc8 2229 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
74bbf894
RW
2230 (build-system gnu-build-system)
2231 (arguments
2232 `(#:tests? #f ; no "check" target
2233 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2234 #:phases
2235 (alist-cons-after
9569dfc8
RW
2236 'unpack 'patch-makefile-and-enter-directory
2237 (lambda _
2238 (substitute* "libs/Makefile"
2239 (("ldconfig") "true")
2240 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2241 (chdir "libs")
2242 #t)
74bbf894
RW
2243 (alist-cons-after
2244 'install
2245 'install-symlink
2246 (lambda _
2247 (symlink "libzita-alsa-pcmi.so"
2248 (string-append (assoc-ref %outputs "out")
2249 "/lib/libzita-alsa-pcmi.so.0")))
2250 ;; no configure script
2251 (alist-delete 'configure %standard-phases)))))
2252 (inputs
2253 `(("alsa-lib" ,alsa-lib)
2254 ("fftw" ,fftw)))
2255 (home-page "http://kokkinizita.linuxaudio.org")
2256 (synopsis "C++ wrapper around the ALSA API")
2257 (description
2258 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
2259access to ALSA PCM devices, taking care of the many functions required to
2260open, initialise and use a hw: device in mmap mode, and providing floating
2261point audio data.")
2262 (license license:gpl3+)))
6da16993
LF
2263
2264(define-public cuetools
2265 (package
2266 (name "cuetools")
2267 (version "1.4.1")
2268 (source (origin
2269 (method url-fetch)
2270 (uri (string-append "https://github.com/svend/cuetools/archive/"
2271 version ".tar.gz"))
2272 (file-name (string-append name "-" version ".tar.gz"))
2273 (sha256
2274 (base32
2275 "01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4"))))
2276 (build-system gnu-build-system)
2277 ;; The source tarball is not bootstrapped.
2278 (arguments
2279 `(#:phases
2280 (modify-phases %standard-phases
2281 (add-after 'unpack 'bootstrap
2282 (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
2283 ;; Bootstrapping tools
2284 (native-inputs
2285 `(("autoconf" ,autoconf)
2286 ("automake" ,automake)
2287 ("flex" ,flex)
2288 ("bison" ,bison)))
2289 (synopsis "Cue and toc file parsers and utilities")
2290 (description "Cuetools is a set of programs that are useful for manipulating
2291and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC
2292files are a way to represent the layout of a data or audio CD in a
2293machine-readable ASCII format.")
2294 (home-page "https://github.com/svend/cuetools")
2295 (license license:gpl2+)))
6819a8dd
LF
2296
2297(define-public shntool
2298 (package
2299 (name "shntool")
2300 (version "3.0.10")
2301 (source (origin
2302 (method url-fetch)
2303 (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
2304 "shntool-" version ".tar.gz"))
2305 (sha256
2306 (base32
2307 "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
2308 (build-system gnu-build-system)
2309 (synopsis "WAVE audio data processing tool")
2310 (description "shntool is a multi-purpose WAVE data processing and reporting
2311utility. File formats are abstracted from its core, so it can process any file
2312that contains WAVE data, compressed or not---provided there exists a format
2313module to handle that particular file type.")
2314 (home-page "http://etree.org/shnutils/shntool/")
6ac2af78
LF
2315 ;; 'install-sh' bears the x11 license
2316 (license (list license:gpl2+ license:x11))))
680b54c5
DT
2317
2318(define-public dcadec
2319 (package
2320 (name "dcadec")
2321 (version "0.2.0")
2322 (source (origin
2323 (method url-fetch)
2324 (uri (string-append "https://github.com/foo86/dcadec/archive/v"
2325 version ".tar.gz"))
2326 (file-name (string-append name "-" version ".tar.gz"))
2327 (sha256
2328 (base32
2329 "0i0dpypgqkhhi4v1fmsp2way6w9kbcix3c7q79pmg39yvrzj17gd"))))
2330 (build-system gnu-build-system)
2331 (arguments
2332 ;; Test files are missing: https://github.com/foo86/dcadec/issues/53
2333 '(#:tests? #f
2334 #:make-flags
2335 (list "CC=gcc"
2336 ;; Build shared library.
2337 "CONFIG_SHARED=1"
2338 (string-append "PREFIX=" (assoc-ref %outputs "out"))
2339 ;; Set proper runpath.
2340 (string-append "LDFLAGS=-Wl,-rpath="
2341 (assoc-ref %outputs "out")
2342 "/lib"))
2343 #:phases
2344 (modify-phases %standard-phases
2345 ;; No configure script, just a hand-written Makefile.
2346 (delete 'configure))))
2347 (synopsis "DTS Coherent Acoustics decoder")
2348 (description "Dcadec is a DTS Coherent Acoustics surround sound decoder
2349with support for HD extensions.")
2350 (home-page "https://github.com/foo86/dcadec")
2351 (license license:lgpl2.1+)))