gnu: Add STE 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
c04b4e7a
RW
570(define-public ste-plugins
571 (package
572 (name "ste-plugins")
573 (version "0.0.2")
574 (source (origin
575 (method url-fetch)
576 (uri (string-append
577 "http://kokkinizita.linuxaudio.org"
578 "/linuxaudio/downloads/STE-plugins-"
579 version ".tar.bz2"))
580 (sha256
581 (base32
582 "0s3c9w5xihs87cnd1lh9xgj3maabjdyh6bl766qp5lhkg3ax8zy6"))))
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 #t)))))
599 (home-page "http://kokkinizita.linuxaudio.org")
600 (synopsis "LADSPA stereo width plugin")
601 (description
602 "This package provides a LADSPA plugin to manipulate the stereo width of
603audio signals.")
604 (license license:gpl2+)))
605
eb4fca7e
RW
606(define-public vco-plugins
607 (package
608 (name "vco-plugins")
609 (version "0.3.0")
610 (source (origin
611 (method url-fetch)
612 (uri (string-append
613 "http://kokkinizita.linuxaudio.org"
614 "/linuxaudio/downloads/VCO-plugins-"
615 version ".tar.bz2"))
616 (sha256
617 (base32
618 "1xzqdg3b07r7zww05y9bb737l9dxvfkv28m3fyak1aazaci3rsgl"))))
619 (build-system gnu-build-system)
620 (arguments
621 `(#:tests? #f ; no "check" target
622 #:phases
623 (modify-phases %standard-phases
624 ;; no configure script
625 (delete 'configure)
626 (add-before 'install 'prepare-target-directory
627 (lambda* (#:key outputs #:allow-other-keys)
628 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
629 #t))
630 (add-after 'unpack 'override-target-directory
631 (lambda* (#:key outputs #:allow-other-keys)
632 (substitute* "Makefile"
633 (("/usr") (assoc-ref outputs "out"))
634 (("/bin/cp") (which "cp")))
635 #t)))))
636 (home-page "http://kokkinizita.linuxaudio.org")
637 (synopsis "LADSPA plugin for synthesizer oscillators")
638 (description
639 "The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:
640
641@enumerate
642@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum
643@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum
644@item Rec-VCO, a square / rectange oscillator
645@end enumerate\n
646
647All oscillators are low-pass filtered to provide waveforms similar to the
648output of analog synthesizers such as the Moog Voyager.")
649 (license license:gpl2+)))
650
ed17465d
RW
651(define-public g2reverb
652 (package
653 (name "g2reverb")
654 (version "0.7.1")
655 (source (origin
656 (method url-fetch)
657 (uri (string-append
658 "http://kokkinizita.linuxaudio.org"
659 "/linuxaudio/downloads/g2reverb-"
660 version ".tar.bz2"))
661 (sha256
662 (base32
663 "18wb8vj1kky5glr76s34awbi8qzplsmf3wjbd7a12hfv4j0bkwrj"))))
664 (build-system gnu-build-system)
665 (arguments
666 `(#:tests? #f ; no "check" target
667 #:phases
668 (modify-phases %standard-phases
669 ;; no configure script
670 (delete 'configure)
671 (add-before 'install 'prepare-target-directory
672 (lambda* (#:key outputs #:allow-other-keys)
673 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
674 #t))
675 (add-after 'unpack 'override-target-directory
676 (lambda* (#:key outputs #:allow-other-keys)
677 (substitute* "Makefile"
678 (("/usr") (assoc-ref outputs "out")))
679 #t)))))
680 (home-page "http://kokkinizita.linuxaudio.org")
681 (synopsis "LADSPA stereo reverb plugin")
682 (description
683 "This package provides a LADSPA plugin for a stereo reverb effect.")
684 (license license:gpl2+)))
685
e4f43b56
RW
686(define-public fluidsynth
687 (package
688 (name "fluidsynth")
689 (version "1.1.6")
690 (source (origin
691 (method url-fetch)
692 (uri (string-append
693 "mirror://sourceforge/fluidsynth/fluidsynth-"
694 version "/fluidsynth-" version ".tar.gz"))
695 (sha256
696 (base32
697 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
698 (build-system gnu-build-system)
699 (arguments
700 `(#:phases
701 (alist-cons-after
702 'unpack
703 'remove-broken-symlinks
704 (lambda _ (delete-file-recursively "m4") #t)
705 %standard-phases)))
706 (inputs
707 `(("libsndfile" ,libsndfile)
708 ("alsa-lib" ,alsa-lib)
709 ("jack" ,jack-1)
710 ("ladspa" ,ladspa)
711 ("lash" ,lash)
712 ("readline" ,readline)
713 ("glib" ,glib)))
714 (native-inputs
715 `(("pkg-config" ,pkg-config)))
716 (home-page "http://www.fluidsynth.org/")
717 (synopsis "SoundFont synthesizer")
718 (description
719 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
720specifications. FluidSynth reads and handles MIDI events from the MIDI input
e881752c 721device. It is the software analogue of a MIDI synthesizer. FluidSynth can
e4f43b56
RW
722also play midifiles using a Soundfont.")
723 (license license:gpl2+)))
724
70fc29d9
TUBK
725(define-public faad2
726 (package
727 (name "faad2")
728 (version "2.7")
729 (source (origin
730 (method url-fetch)
731 (uri (string-append
732 "mirror://sourceforge/faac/faad2-" version ".zip"))
733 (sha256
734 (base32
735 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
736 (build-system gnu-build-system)
737 (native-inputs
738 `(("autoconf" ,autoconf)
739 ("automake" ,automake)
740 ("libtool" ,libtool)
741 ("unzip" ,unzip)))
742 (arguments
743 '(#:phases
744 (alist-cons-after
745 'unpack 'bootstrap
746 (lambda _
747 (substitute* "bootstrap" (("\r\n") "\n"))
748 (zero? (system* "sh" "bootstrap")))
749 %standard-phases)))
750 (home-page "http://www.audiocoding.com/faad2.html")
751 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
752 (description
753 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
754PS, and DAB+.")
755 (license license:gpl2)))
756
777291f0
RW
757(define-public faust
758 (package
759 (name "faust")
760 (version "0.9.67")
761 (source (origin
762 (method url-fetch)
763 (uri (string-append
764 "mirror://sourceforge/faudiostream/faust-" version ".zip"))
765 (sha256
766 (base32
0543c326
RW
767 "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
768 (snippet
769 ;; Remove prebuilt library
770 '(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
777291f0
RW
771 (build-system gnu-build-system)
772 (arguments
773 `(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
774 #:tests? #f
775 #:phases
776 (modify-phases %standard-phases
0543c326 777 ;; no "configure" script
777291f0
RW
778 (delete 'configure))))
779 (native-inputs
780 `(("unzip" ,unzip)))
781 (home-page "http://faust.grame.fr/")
782 (synopsis "Signal processing language")
783 (description
784 "Faust is a programming language for realtime audio signal processing.")
785 (license license:gpl2+)))
786
7c92efff
RW
787(define-public freepats
788 (package
789 (name "freepats")
790 (version "20060219")
791 (source (origin
792 (method url-fetch)
793 (uri (string-append "http://freepats.zenvoid.org/freepats-"
794 version ".tar.bz2"))
795 (sha256
796 (base32
797 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
798 (build-system trivial-build-system)
799 (arguments
800 `(#:modules ((guix build utils))
801 #:builder (begin
802 (use-modules (guix build utils))
803 (let ((out (string-append %output "/share/freepats")))
804 (setenv "PATH" (string-append
805 (assoc-ref %build-inputs "bzip2") "/bin:"
806 (assoc-ref %build-inputs "tar") "/bin"))
807 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
808 (chdir "freepats")
809 ;; Use absolute pattern references
810 (substitute* "freepats.cfg"
811 (("Tone_000") (string-append out "/Tone_000"))
812 (("Drum_000") (string-append out "/Drum_000")))
813 (mkdir-p out)
814 (copy-recursively "." out)))))
815 (native-inputs
816 `(("tar" ,tar)
817 ("bzip2" ,bzip2)))
818 (home-page "http://freepats.zenvoid.org")
819 (synopsis "GUS compatible patches for MIDI players")
820 (description
821 "FreePats is a project to create a free and open set of GUS compatible
822patches that can be used with softsynths such as Timidity and WildMidi.")
823 ;; GPLv2+ with exception for compositions using these patches.
824 (license license:gpl2+)))
825
fcbeb00b
RW
826(define-public guitarix
827 (package
828 (name "guitarix")
02979664 829 (version "0.34.0")
fcbeb00b
RW
830 (source (origin
831 (method url-fetch)
832 (uri (string-append
833 "mirror://sourceforge/guitarix/guitarix2-"
834 version ".tar.bz2"))
835 (sha256
836 (base32
02979664 837 "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"))))
fcbeb00b
RW
838 (build-system waf-build-system)
839 (arguments
840 `(#:tests? #f ; no "check" target
841 #:python ,python-2
842 #:configure-flags
843 (list
fcbeb00b 844 ;; Add the output lib directory to the RUNPATH.
3c3e6972
LC
845 (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
846 "--cxxflags=-std=c++11")))
fcbeb00b
RW
847 (inputs
848 `(("libsndfile" ,libsndfile)
849 ("boost" ,boost)
850 ("avahi" ,avahi)
851 ("eigen" ,eigen)
852 ("lv2" ,lv2)
853 ("lilv" ,lilv)
854 ("ladspa" ,ladspa)
855 ("jack" ,jack-1)
856 ("gtkmm" ,gtkmm-2)
857 ("gtk+" ,gtk+-2)
02979664 858 ("webkitgtk/gtk+-2" ,webkitgtk/gtk+-2)
fcbeb00b
RW
859 ("fftwf" ,fftwf)
860 ("lrdf" ,lrdf)
861 ("zita-resampler" ,zita-resampler)
862 ("zita-convolver" ,zita-convolver)))
863 (native-inputs
864 `(("gperf" ,gperf)
49767428 865 ("faust" ,faust)
fcbeb00b
RW
866 ("intltool" ,intltool)
867 ("gettext" ,gnu-gettext)
868 ("pkg-config" ,pkg-config)))
869 (native-search-paths
870 (list (search-path-specification
871 (variable "LV2_PATH")
872 (files '("lib/lv2")))))
873 (home-page "http://guitarix.org/")
874 (synopsis "Virtual guitar amplifier")
875 (description "Guitarix is a virtual guitar amplifier running JACK.
876Guitarix takes the signal from your guitar as a mono-signal from your sound
877card. The input is processed by a main amp and a rack-section. Both can be
878routed separately and deliver a processed stereo-signal via JACK. You may
879fill the rack with effects from more than 25 built-in modules including stuff
880from a simple noise gate to modulation effects like flanger, phaser or
881auto-wah.")
882 (license license:gpl2+)))
883
11d4800a
RW
884(define-public rakarrack
885 (package
886 (name "rakarrack")
887 (version "0.6.1")
888 (source (origin
889 (method url-fetch)
890 (uri (string-append "mirror://sourceforge/rakarrack/rakarrack/"
891 "rakarrack-" version "/rakarrack-"
892 version ".tar.bz2"))
893 (sha256
894 (base32
895 "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"))
896 (modules '((guix build utils)))
897 (snippet
898 '(begin
899 (substitute* '("src/process.C"
900 "src/global.h")
901 (("#include <Fl/") "#include <FL/"))
902 #t))))
903 (build-system gnu-build-system)
904 (inputs
905 `(("alsa-utils" ,alsa-utils)
906 ("fltk" ,fltk)
907 ("libx11" ,libx11)
908 ("libxext" ,libxext)
909 ("libxfixes" ,libxfixes)
910 ("libxft" ,libxft)
911 ("libxrender" ,libxrender)
912 ("libxpm" ,libxpm)
913 ("fontconfig" ,fontconfig)
914 ("freetype" ,freetype)
915 ("jack" ,jack-1)
916 ("alsa-lib" ,alsa-lib)
917 ("libsndfile" ,libsndfile)
918 ("libsamplerate" ,libsamplerate)
919 ("zlib" ,zlib)))
920 (home-page "http://rakarrack.sourceforge.net/")
921 (synopsis "Audio effects processor")
922 (description
923 "Rakarrack is a richly featured multi-effects processor emulating a
924guitar effects pedalboard. Effects include compressor, expander, noise gate,
925equalizers, exciter, flangers, chorus, various delay and reverb effects,
926distortion modules and many more. Most of the effects engine is built from
927modules found in the excellent software synthesizer ZynAddSubFX. Presets and
928user interface are optimized for guitar, but Rakarrack processes signals in
929stereo while it does not apply internal band-limiting filtering, and thus is
930well suited to all musical instruments and vocals.")
931 ;; The code is explicitly licensed under the GPL version 2 only.
932 (license license:gpl2)))
933
32cf42c1
RW
934(define-public ir
935 (package
936 (name "ir")
937 (version "1.3.2")
938 (source (origin
939 (method url-fetch)
940 (uri (string-append
941 "http://factorial.hu/system/files/ir.lv2-"
942 version ".tar.gz"))
943 (sha256
944 (base32
945 "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
946 (build-system gnu-build-system)
947 (arguments
948 `(#:tests? #f ;no "check" target
949 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
950 #:phases
951 ;; no configure script
952 (alist-delete 'configure %standard-phases)))
953 (inputs
954 `(("libsndfile" ,libsndfile)
955 ("libsamplerate" ,libsamplerate)
956 ("lv2" ,lv2)
957 ("glib" ,glib)
958 ("gtk+" ,gtk+-2)
959 ("zita-convolver" ,zita-convolver)))
960 (native-inputs
961 `(("pkg-config" ,pkg-config)))
962 (native-search-paths
963 (list (search-path-specification
964 (variable "LV2_PATH")
965 (files '("lib/lv2")))))
966 (home-page "http://factorial.hu/plugins/lv2/ir")
967 (synopsis "LV2 convolution reverb")
968 (description
969 "IR is a low-latency, real-time, high performance signal convolver
970especially for creating reverb effects. It supports impulse responses with 1,
9712 or 4 channels, in any soundfile format supported by libsndfile.")
972 (license license:gpl2+)))
973
fb68469f
RW
974(define-public jack-1
975 (package
976 (name "jack")
977 (version "0.124.1")
978 (source (origin
979 (method url-fetch)
980 (uri (string-append
981 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
982 version
983 ".tar.gz"))
984 (sha256
985 (base32
986 "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
987 (build-system gnu-build-system)
988 (inputs
2f9ae82f 989 `(("alsa-lib" ,alsa-lib)
5d95e30b
RW
990 ("readline" ,readline)))
991 ;; uuid.h is included in the JACK type headers
ca01b3ad 992 ;; db.h is included in the libjack metadata headers
5d95e30b 993 (propagated-inputs
ca01b3ad
RW
994 `(("libuuid" ,util-linux)
995 ("bdb" ,bdb)))
2f9ae82f
RW
996 (native-inputs
997 `(("pkg-config" ,pkg-config)))
fb68469f
RW
998 (home-page "http://jackaudio.org/")
999 (synopsis "JACK audio connection kit")
1000 (description
1001 "JACK is a low-latency audio server. It can connect a number of
1002different applications to an audio device, as well as allowing them to share
1003audio between themselves. JACK is different from other audio server efforts
1004in that it has been designed from the ground up to be suitable for
1005professional audio work. This means that it focuses on two key areas:
1006synchronous execution of all clients, and low latency operation.")
1007 ;; Most files are licensed under the GPL. However, the libjack/ tree is
1008 ;; licensed under the LGPL in order to allow for proprietary usage.
e89fa047 1009 (license (list license:gpl2+ license:lgpl2.1+))))
c54a8981 1010
bcbc02fd
RW
1011;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
1012;; jack-2 implement the same API. JACK2 is provided primarily as a client
1013;; program for users who might benefit from the D-BUS features.
c54a8981
RW
1014(define-public jack-2
1015 (package (inherit jack-1)
314275c7 1016 (name "jack2")
c54a8981
RW
1017 (version "1.9.10")
1018 (source (origin
1019 (method url-fetch)
1020 (uri (string-append
1021 "https://github.com/jackaudio/jack2/archive/v"
1022 version
1023 ".tar.gz"))
f586c877 1024 (file-name (string-append name "-" version ".tar.gz"))
c54a8981
RW
1025 (sha256
1026 (base32
1027 "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
1028 (build-system waf-build-system)
1029 (arguments
bc8bf605
RW
1030 `(#:python ,python-2
1031 #:tests? #f ; no check target
c54a8981 1032 #:configure-flags '("--dbus"
b416c647
SB
1033 "--alsa")
1034 #:phases
1035 (modify-phases %standard-phases
1036 (add-before
1037 'configure 'set-linkflags
1038 (lambda _
1039 ;; Add $libdir to the RUNPATH of all the binaries.
1040 (substitute* "wscript"
1041 ((".*CFLAGS.*-Wall.*" m)
1042 (string-append m
1043 " conf.env.append_unique('LINKFLAGS',"
bc8bf605
RW
1044 "'-Wl,-rpath=" %output "/lib')\n")))))
1045 (add-after 'install 'wrap-python-scripts
1046 (lambda* (#:key inputs outputs #:allow-other-keys)
1047 ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
1048 (let* ((out (assoc-ref outputs "out"))
1049 (path (getenv "PYTHONPATH")))
1050 (wrap-program (string-append out "/bin/jack_control")
1051 `("PYTHONPATH" ":" prefix (,path))))
1052 #t)))))
c54a8981
RW
1053 (inputs
1054 `(("alsa-lib" ,alsa-lib)
1055 ("dbus" ,dbus)
1056 ("expat" ,expat)
1057 ("libsamplerate" ,libsamplerate)
1058 ("opus" ,opus)
bc8bf605 1059 ("python2-dbus" ,python2-dbus)
c54a8981
RW
1060 ("readline" ,readline)))
1061 (native-inputs
1062 `(("pkg-config" ,pkg-config)))
1063 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
1064 (license (list license:gpl2+ license:lgpl2.1+))))
f47cba0e 1065
2f4646b6
RW
1066(define-public jalv
1067 (package
1068 (name "jalv")
1069 (version "1.4.6")
1070 (source (origin
1071 (method url-fetch)
1072 (uri (string-append "http://download.drobilla.net/jalv-"
1073 version ".tar.bz2"))
1074 (sha256
1075 (base32
1076 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
1077 (build-system waf-build-system)
d8c317df
SB
1078 (arguments
1079 `(#:tests? #f ; no check target
1080 #:phases
1081 (modify-phases %standard-phases
1082 (add-before
1083 'configure 'set-flags
1084 (lambda _
1085 ;; Compile with C++11, required by gtkmm.
1086 (setenv "CXXFLAGS" "-std=c++11")
1087 #t)))))
2f4646b6
RW
1088 (inputs
1089 `(("lv2" ,lv2)
1090 ("lilv" ,lilv)
1091 ("suil" ,suil)
1092 ("gtk" ,gtk+-2)
1093 ("gtkmm" ,gtkmm-2)
2f4646b6
RW
1094 ("jack" ,jack-1)))
1095 (native-inputs
1096 `(("pkg-config" ,pkg-config)))
1097 (home-page "http://drobilla.net/software/jalv/")
1098 (synopsis "Simple LV2 host for JACK")
1099 (description
1100 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
1101plugins and exposes their ports as JACK ports, essentially making any LV2
1102plugin function as a JACK application.")
1103 (license license:isc)))
1104
2cc7ce31
RW
1105(define-public ladspa
1106 (package
1107 (name "ladspa")
1108 (version "1.13")
0c1910ed
AV
1109 (source
1110 (origin
1111 (method url-fetch)
1112 ;; Since the official link is dead,
1113 ;; we download the tarball from Debian or Internet Archive.
1114 (uri (list (string-append "http://http.debian.net"
1115 "/debian/pool/main/l/ladspa-sdk/ladspa-sdk_"
1116 version ".orig.tar.gz")
1117 (string-append "https://web.archive.org/web/20140717172251/"
1118 "http://www.ladspa.org/download/ladspa_sdk_"
1119 version ".tgz")))
1120 (sha256
1121 (base32
1122 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
2cc7ce31
RW
1123 (build-system gnu-build-system)
1124 (arguments
1125 `(#:tests? #f ; the "test" target is a listening test only
1126 #:phases
1127 (alist-replace
1128 'configure
1129 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
1130 (chdir "src")
1131 (let ((out (assoc-ref outputs "out")))
1132 (substitute* "makefile"
1133 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
1134 (("/usr/include/") (string-append out "/include/"))
1135 (("/usr/bin/") (string-append out "/bin/"))
1136 (("-mkdirhier") "mkdir -p")
1137 (("^CC.*") "CC = gcc\n")
1138 (("^CPP.*") "CPP = g++\n"))))
1139 (alist-delete 'build %standard-phases))))
0c1910ed
AV
1140 ;; Since the home page is gone, we provide a link to the archived version.
1141 (home-page
1142 "https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
2cc7ce31
RW
1143 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
1144 (description
1145 "LADSPA is a standard that allows software audio processors and effects
1146to be plugged into a wide range of audio synthesis and recording packages.")
1147 (license license:lgpl2.1+)))
1148
da49086a
RW
1149(define-public lash
1150 (package
1151 (name "lash")
1152 (version "0.6.0-rc2")
1153 (source (origin
1154 (method url-fetch)
1155 ;; The tilde is not permitted in the builder name, but is used
1156 ;; in the tarball.
1157 (uri (string-append
1158 "mirror://savannah/lash/lash-"
1159 (string-join (string-split version #\-) "~")
1160 ".tar.bz2"))
1161 (file-name (string-append name "-" version ".tar.bz2"))
1162 (sha256
1163 (base32
1164 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
1165 (build-system gnu-build-system)
1166 (inputs
1167 `(("bdb" ,bdb)
1168 ("gtk" ,gtk+-2)
1169 ("jack" ,jack-1)
da49086a
RW
1170 ("readline" ,readline)
1171 ("python" ,python-2)))
1172 ;; According to pkg-config, packages depending on lash also need to have
1173 ;; at least the following packages declared as inputs.
1174 (propagated-inputs
1175 `(("alsa-lib" ,alsa-lib)
1176 ("dbus" ,dbus)
1177 ("libxml2" ,libxml2)))
1178 (native-inputs
1179 `(("pkg-config" ,pkg-config)))
1180 (home-page "http://www.nongnu.org/lash/")
1181 (synopsis "Audio application session manager")
1182 (description
1183 "LASH is a session management system for audio applications. It allows
1184you to save and restore audio sessions consisting of multiple interconneced
1185applications, restoring program state (i.e. loaded patches) and the
1186connections between them.")
1187 (license license:gpl2+)))
1188
8c0b5a75
TUBK
1189(define-public libbs2b
1190 (package
1191 (name "libbs2b")
1192 (version "3.1.0")
1193 (source (origin
1194 (method url-fetch)
1195 (uri (string-append
1196 "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
1197 (sha256
1198 (base32
1199 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
1200 (build-system gnu-build-system)
1201 (native-inputs `(("pkg-config" ,pkg-config)))
1202 (inputs `(("libsndfile" ,libsndfile)))
1203 (home-page "http://sourceforge.net/projects/bs2b/")
1204 (synopsis "Bauer stereophonic-to-binaural DSP")
1205 (description
1206 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
1207designed to improve headphone listening of stereo audio records. Recommended
1208for headphone prolonged listening to disable superstereo fatigue without
1209essential distortions.")
1210 (license license:expat)))
1211
f47cba0e
RW
1212(define-public liblo
1213 (package
1214 (name "liblo")
1215 (version "0.28")
1216 (source (origin
1217 (method url-fetch)
1218 (uri (string-append
1219 "mirror://sourceforge/liblo/liblo-"
1220 version
1221 ".tar.gz"))
1222 (sha256
1223 (base32
1224 "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
1225 (build-system gnu-build-system)
1226 (arguments
1227 `(;; liblo test FAILED
1228 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
1229 #:tests? #f))
1230 (home-page "http://liblo.sourceforge.net")
1231 (synopsis "Implementation of the Open Sound Control protocol")
1232 (description
1233 "liblo is a lightweight library that provides an easy to use
1234implementation of the Open Sound Control (OSC) protocol.")
1235 (license license:lgpl2.1+)))
e2420191 1236
a91d72e2
RW
1237(define-public python-pyliblo
1238 (package
1239 (name "python-pyliblo")
1240 (version "0.10.0")
1241 (source (origin
1242 (method url-fetch)
1243 (uri (string-append "http://das.nasophon.de/download/pyliblo-"
1244 version ".tar.gz"))
1245 (sha256
1246 (base32
1247 "13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
1248 (build-system python-build-system)
1249 (arguments `(#:tests? #f)) ;no tests
1250 (inputs
1251 `(("python-cython" ,python-cython)
1252 ("liblo" ,liblo)))
1253 (home-page "http://das.nasophon.de/pyliblo/")
1254 (synopsis "Python bindings for liblo")
1255 (description
1256 "Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC)
1257library. It supports almost the complete functionality of liblo, allowing you
1258to send and receive OSC messages using a nice and simple Python API. Also
1259included are the command line utilities @code{send_osc} and @code{dump_osc}.")
1260 (license license:lgpl2.1+)))
1261
1262(define-public python2-pyliblo
1263 (package-with-python2 python-pyliblo))
1264
332aad1b
RW
1265(define-public lilv
1266 (package
1267 (name "lilv")
1268 (version "0.20.0")
1269 (source (origin
1270 (method url-fetch)
1271 (uri (string-append "http://download.drobilla.net/lilv-"
1272 version
1273 ".tar.bz2"))
1274 (sha256
1275 (base32
1276 "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
1277 (build-system waf-build-system)
d80ee442
TUBK
1278 (arguments
1279 `(#:tests? #f ; no check target
1280 #:phases
1281 (modify-phases %standard-phases
1282 (add-before
1283 'configure 'set-ldflags
1284 (lambda* (#:key outputs #:allow-other-keys)
1285 (setenv "LDFLAGS"
1286 (string-append "-Wl,-rpath="
1287 (assoc-ref outputs "out") "/lib")))))))
ff7df27d
RW
1288 ;; required by lilv-0.pc
1289 (propagated-inputs
1290 `(("serd" ,serd)
332aad1b
RW
1291 ("sord" ,sord)
1292 ("sratom" ,sratom)))
ff7df27d
RW
1293 (inputs
1294 `(("lv2" ,lv2)))
332aad1b
RW
1295 (native-inputs
1296 `(("pkg-config" ,pkg-config)))
1297 (home-page "http://drobilla.net/software/lilv/")
1298 (synopsis "Library to simplify use of LV2 plugins in applications")
1299 (description
1300 "Lilv is a C library to make the use of LV2 plugins as simple as possible
1301for applications. Lilv is the successor to SLV2, rewritten to be
1302significantly faster and have minimal dependencies.")
1303 (license license:isc)))
1304
e2420191
RW
1305(define-public lv2
1306 (package
1307 (name "lv2")
2e189eb8 1308 (version "1.12.0")
e2420191
RW
1309 (source (origin
1310 (method url-fetch)
1311 (uri (string-append "http://lv2plug.in/spec/lv2-"
1312 version
1313 ".tar.bz2"))
1314 (sha256
1315 (base32
2e189eb8 1316 "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks"))))
e2420191
RW
1317 (build-system waf-build-system)
1318 (arguments
1319 `(#:tests? #f ; no check target
2e189eb8 1320 #:configure-flags '("--no-plugins")))
e2420191
RW
1321 (inputs
1322 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
1323 `(("libsndfile" ,libsndfile)))
1324 (native-inputs
1325 `(("pkg-config" ,pkg-config)))
1326 (home-page "http://lv2plug.in/")
1327 (synopsis "LV2 audio plugin specification")
1328 (description
1329 "LV2 is an open specification for audio plugins and host applications.
1330At its core, LV2 is a simple stable interface, accompanied by extensions which
1331add functionality to support the needs of increasingly powerful audio
1332software.")
1333 (license license:isc)))
5279eb6f 1334
98247127
RW
1335(define-public lv2-mda-piano
1336 (package
1337 (name "lv2-mda-piano")
1338 (version "0.0.2")
1339 (source (origin
1340 (method git-fetch)
1341 (uri (git-reference
f6f499b3 1342 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
98247127
RW
1343 (commit version)))
1344 (sha256
1345 (base32
1346 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
1347 (build-system gnu-build-system)
1348 (arguments
1349 `(#:make-flags (list
1350 "TYPE=mdaPiano"
1351 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1352 #:tests? #f ; no check target
1353 #:phases (alist-delete 'configure %standard-phases)))
1354 (inputs
1355 `(("lv2" ,lv2)
1356 ("lvtk" ,lvtk)))
1357 (native-inputs
1358 `(("pkg-config" ,pkg-config)))
1359 (native-search-paths
1360 (list (search-path-specification
1361 (variable "LV2_PATH")
1362 (files '("lib/lv2")))))
1363 (home-page "http://elephly.net/lv2/mdapiano.html")
1364 (synopsis "LV2 port of the mda Piano plugin")
1365 (description "An LV2 port of the mda Piano VSTi.")
1366 (license license:gpl3+)))
1367
8fb79e3d
RW
1368(define-public lv2-mda-epiano
1369 (package (inherit lv2-mda-piano)
1370 (name "lv2-mda-epiano")
1371 (arguments
1372 `(#:make-flags (list
1373 "TYPE=mdaEPiano"
1374 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1375 #:tests? #f ; no check target
1376 #:phases (alist-delete 'configure %standard-phases)))
1377 (home-page "http://elephly.net/lv2/mdaepiano.html")
1378 (synopsis "LV2 port of the mda EPiano plugin")
1379 (description "An LV2 port of the mda EPiano VSTi.")))
1380
c1718190
RW
1381(define-public lvtk
1382 (package
1383 (name "lvtk")
1384 (version "1.2.0")
1385 (source (origin
1386 (method url-fetch)
1387 (uri (string-append "https://github.com/lvtk/lvtk/archive/"
1388 version
1389 ".tar.gz"))
f586c877 1390 (file-name (string-append name "-" version ".tar.gz"))
c1718190
RW
1391 (sha256
1392 (base32
1393 "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
1394 (build-system waf-build-system)
1395 (arguments
1396 `(#:tests? #f ; no check target
1397 #:python ,python-2
1398 #:configure-flags
1399 (list (string-append "--boost-includes="
1400 (assoc-ref %build-inputs "boost")
c91d3fb7
EB
1401 "/include"))
1402 #:phases (modify-phases %standard-phases
1403 (add-before
1404 'configure 'set-flags
1405 (lambda* (#:key inputs #:allow-other-keys)
1406 ;; See e.g. https://github.com/lvtk/lvtk/issues/21
1407 (setenv "LDFLAGS"
1408 (string-append
1409 "-L" (assoc-ref inputs "boost") "/lib "
1410 "-lboost_system")))))))
c1718190
RW
1411 (inputs
1412 `(("boost" ,boost)
1413 ("lv2" ,lv2)))
1414 (native-inputs
1415 `(("pkg-config" ,pkg-config)))
1416 (home-page "https://github.com/lvtk/lvtk")
1417 (synopsis "C++ libraries for LV2 plugins")
1418 (description
1419 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
1420extensions into easy to use C++ classes. It is the successor of
1421lv2-c++-tools.")
1422 (license license:gpl3+)))
1423
f2fac359
TUBK
1424(define-public openal
1425 (package
1426 (name "openal")
1427 (version "1.15.1")
1428 (source (origin
1429 (method url-fetch)
1430 (uri (string-append
1431 "http://kcat.strangesoft.net/openal-releases/openal-soft-"
1432 version ".tar.bz2"))
1433 (sha256
1434 (base32
1435 "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
1436 (build-system cmake-build-system)
1437 (arguments
7ee5db15
RW
1438 `(#:tests? #f ; no check target
1439 #:phases
1440 (modify-phases %standard-phases
1441 (add-after
1442 'unpack 'use-full-library-paths
1443 (lambda* (#:key inputs #:allow-other-keys)
1444 (substitute* "Alc/backends/pulseaudio.c"
1445 (("#define PALIB \"libpulse\\.so\\.0\"")
1446 (string-append "#define PALIB \""
1447 (assoc-ref inputs "pulseaudio")
1448 "/lib/libpulse.so.0"
1449 "\"")))
1450 (substitute* "Alc/backends/alsa.c"
1451 (("LoadLib\\(\"libasound\\.so\\.2\"\\)")
1452 (string-append "LoadLib(\""
1453 (assoc-ref inputs "alsa-lib")
1454 "/lib/libasound.so.2"
1455 "\")")))
1456 #t)))))
f2fac359
TUBK
1457 (inputs
1458 `(("alsa-lib" ,alsa-lib)
1459 ("pulseaudio" ,pulseaudio)))
1460 (synopsis "3D audio API")
1461 (description
1462 "OpenAL provides capabilities for playing audio in a virtual 3D
1463environment. Distance attenuation, doppler shift, and directional sound
1464emitters are among the features handled by the API. More advanced effects,
1465including air absorption, occlusion, and environmental reverb, are available
1466through the EFX extension. It also facilitates streaming audio, multi-channel
1467buffers, and audio capture.")
1468 (home-page "http://kcat.strangesoft.net/openal.html")
1469 (license license:lgpl2.0+)))
1470
4443bb8d
RW
1471(define-public patchage
1472 (package
1473 (name "patchage")
1474 (version "1.0.0")
1475 (source (origin
1476 (method url-fetch)
1477 (uri (string-append "http://download.drobilla.net/patchage-"
1478 version
1479 ".tar.bz2"))
1480 (sha256
1481 (base32
1482 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
1483 (build-system waf-build-system)
1484 (arguments `(#:tests? #f)) ; no check target
1485 (inputs
1486 `(("alsa-lib" ,alsa-lib)
1487 ("boost" ,boost)
1488 ("jack" ,jack-1)
4443bb8d 1489 ("ganv" ,ganv)
4443bb8d
RW
1490 ("glibmm" ,glibmm)
1491 ("gtkmm" ,gtkmm-2)
4443bb8d
RW
1492 ("dbus-glib" ,dbus-glib)))
1493 (native-inputs
1494 `(("pkg-config" ,pkg-config)))
1495 (home-page "http://drobilla.net/software/patchage/")
1496 (synopsis "Modular patch bay for audio and MIDI systems")
1497 (description
1498 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
1499and ALSA.")
1500 (license license:gpl3+)))
1501
b22755be
RW
1502(define-public raul
1503 (package
1504 (name "raul")
1505 (version "0.8.0")
1506 (source (origin
1507 (method url-fetch)
1508 (uri (string-append "http://download.drobilla.net/raul-"
1509 version ".tar.bz2"))
1510 (sha256
1511 (base32
1512 "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
1513 (build-system waf-build-system)
1514 (arguments
1515 `(#:python ,python-2
1516 #:tests? #f)) ; no check target
1517 (inputs
1518 `(("glib" ,glib)
1519 ("boost" ,boost)))
1520 (native-inputs
1521 `(("pkg-config" ,pkg-config)))
1522 (home-page "http://drobilla.net/software/raul/")
1523 (synopsis "Real-time audio utility library")
1524 (description
1525 "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
1526aimed at audio/musical applications.")
1527 (license license:gpl2+)))
1528
57238ff2
RW
1529(define-public rubberband
1530 (package
1531 (name "rubberband")
1532 (version "1.8.1")
1533 (source (origin
1534 (method url-fetch)
1535 (uri
1536 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
1537 version
1538 ".tar.bz2"))
1539 (sha256
1540 (base32
1541 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
1542 (build-system gnu-build-system)
1543 (arguments `(#:tests? #f)) ; no check target
1544 (inputs
1545 `(("ladspa" ,ladspa)
1546 ("libsamplerate" ,libsamplerate)
1547 ("vamp" ,vamp)))
1548 (native-inputs
1549 `(("pkg-config" ,pkg-config)))
1550 (home-page "http://breakfastquay.com/rubberband/")
1551 (synopsis "Audio time-stretching and pitch-shifting library")
1552 (description
1553 "Rubber Band is a library and utility program that permits changing the
1554tempo and pitch of an audio recording independently of one another.")
1555 (license license:gpl2+)))
1556
cc45cff8
RW
1557(define-public rtmidi
1558 (package
1559 (name "rtmidi")
1560 (version "2.1.0")
1561 (source (origin
1562 (method url-fetch)
1563 (uri
1564 (string-append "https://github.com/powertab/rtmidi/archive/"
1565 version ".tar.gz"))
1566 (file-name (string-append name "-" version ".tar.gz"))
1567 (sha256
1568 (base32
1569 "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
1570 (build-system gnu-build-system)
1571 (arguments
1572 `(#:tests? #f ;no "check" target
1573 #:phases (modify-phases %standard-phases
1574 (add-before
1575 'configure 'autoconf
1576 (lambda _ (zero? (system* "autoreconf" "-vfi"))))
1577 (add-before
1578 'build 'fix-makefile
1579 (lambda _
1580 (substitute* "Makefile"
1581 (("/bin/ln") "ln")
1582 (("RtMidi.h RtError.h") "RtMidi.h"))
1583 #t))
1584 (add-before
1585 'install 'make-target-dirs
1586 (lambda _
1587 (let ((out (assoc-ref %outputs "out")))
1588 (mkdir-p (string-append out "/bin"))
1589 (mkdir (string-append out "/lib"))
1590 (mkdir (string-append out "/include")))
1591 #t)))))
1592 (inputs
1593 `(("jack" ,jack-1)
1594 ("alsa-lib" ,alsa-lib)))
1595 (native-inputs
1596 `(("autoconf" ,autoconf)
1597 ("automake" ,automake)
1598 ("libtool" ,libtool)
1599 ("pkg-config" ,pkg-config)))
1600 (home-page "https://github.com/powertab/rtmidi")
1601 (synopsis "Cross-platform MIDI library for C++")
1602 (description
1603 "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
1604classes) that provide a common cross-platform API for realtime MIDI
1605input/output.")
1606 (license license:expat)))
1607
5279eb6f
RW
1608(define-public sratom
1609 (package
1610 (name "sratom")
1611 (version "0.4.6")
1612 (source (origin
1613 (method url-fetch)
1614 (uri (string-append "http://download.drobilla.net/sratom-"
1615 version
1616 ".tar.bz2"))
1617 (sha256
1618 (base32
1619 "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
1620 (build-system waf-build-system)
1621 (arguments `(#:tests? #f)) ; no check target
1622 (inputs
1623 `(("lv2" ,lv2)
1624 ("serd" ,serd)
1625 ("sord" ,sord)))
1626 (native-inputs
1627 `(("pkg-config" ,pkg-config)))
1628 (home-page "http://drobilla.net/software/sratom/")
1629 (synopsis "Library for serialising LV2 atoms to/from RDF")
1630 (description
1631 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
1632the Turtle syntax.")
1633 (license license:isc)))
f3ab6ad3
RW
1634
1635(define-public suil
1636 (package
1637 (name "suil")
1638 (version "0.8.2")
1639 (source (origin
1640 (method url-fetch)
1641 (uri (string-append "http://download.drobilla.net/suil-"
1642 version
1643 ".tar.bz2"))
1644 (sha256
1645 (base32
1646 "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
1647 (build-system waf-build-system)
1648 (arguments `(#:tests? #f)) ; no check target
1649 (inputs
1650 `(("lv2" ,lv2)
1651 ("gtk+-2" ,gtk+-2)
1652 ("qt-4" ,qt-4)))
1653 (native-inputs
1654 `(("pkg-config" ,pkg-config)))
1655 (home-page "http://drobilla.net/software/suil/")
1656 (synopsis "Library for loading and wrapping LV2 plugin UIs")
1657 (description
1658 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
1659
1660Suil makes it possible to load a UI of a toolkit in a host using another
1661toolkit. The API is designed such that hosts do not need to explicitly
1662support specific toolkits – if Suil supports a particular toolkit, then UIs in
1663that toolkit will work in all hosts that use Suil automatically.
1664
1665Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
1666 (license license:isc)))
db46f2fc 1667
9ffee457
RW
1668(define-public timidity++
1669 (package
1670 (name "timidity++")
1671 (version "2.14.0")
1672 (source (origin
1673 (method url-fetch)
1674 (uri (string-append
1675 "mirror://sourceforge/timidity/TiMidity++-"
1676 version ".tar.bz2"))
1677 (sha256
1678 (base32
1679 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
1680 (build-system gnu-build-system)
1681 (arguments
1682 '(#:configure-flags
1683 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
1684 "--enable-ncurses"
1685 "--enable-server"
1686 "--enable-alsaseq"
1687 (string-append "--with-default-path="
1688 (assoc-ref %outputs "out") "/etc/timidity"))
1689 #:phases
1690 (alist-cons-after
1691 'install 'install-config
1692 (lambda _
1693 (let ((out (string-append (assoc-ref %outputs "out")
1694 "/etc/timidity")))
1695 (mkdir-p out)
1696 (call-with-output-file
1697 (string-append out "/timidity.cfg")
1698 (lambda (port)
1699 (format port (string-append "source "
1700 (assoc-ref %build-inputs "freepats")
1701 "/share/freepats/freepats.cfg"))))))
1702 %standard-phases)))
1703 (inputs
1704 `(("alsa-lib" ,alsa-lib)
1705 ("ao" ,ao)
1706 ("flac" ,flac)
1707 ("jack" ,jack-1)
1708 ("libogg" ,libogg)
1709 ("speex" ,speex)
1710 ("ncurses" ,ncurses)
1711 ("freepats" ,freepats)))
1712 (native-inputs
1713 `(("pkg-config" ,pkg-config)))
1714 (home-page "http://timidity.sourceforge.net/")
1715 (synopsis "Software synthesizer for playing MIDI files")
1716 (description
1717 "TiMidity++ is a software synthesizer. It can play MIDI files by
1718converting them into PCM waveform data; give it a MIDI data along with digital
1719instrument data files, then it synthesizes them in real-time, and plays. It
1720can not only play sounds, but also can save the generated waveforms into hard
1721disks as various audio file formats.")
1722 (license license:gpl2+)))
1723
db46f2fc
RW
1724(define-public vamp
1725 (package
1726 (name "vamp")
b1fb59d3 1727 (version "2.6")
db46f2fc
RW
1728 (source (origin
1729 (method url-fetch)
1730 (uri (string-append
1731 "https://code.soundsoftware.ac.uk"
494e9b91 1732 "/attachments/download/1520/vamp-plugin-sdk-"
b1fb59d3 1733 version ".tar.gz"))
9002e17c
TUBK
1734 (sha256
1735 (base32
494e9b91 1736 "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
db46f2fc 1737 (build-system gnu-build-system)
9002e17c
TUBK
1738 (arguments
1739 `(#:tests? #f ; no check target
1740 #:phases
1741 (alist-cons-after
1742 'install 'remove-libvamp-hostsdk.la
1743 (lambda* (#:key outputs #:allow-other-keys)
1744 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
1745 (for-each delete-file
1746 (let ((out (assoc-ref outputs "out")))
1747 (list (string-append out "/lib/libvamp-sdk.la")
1748 (string-append out "/lib/libvamp-hostsdk.la"))))
1749 #t)
1750 %standard-phases)))
db46f2fc
RW
1751 (inputs
1752 `(("libsndfile" ,libsndfile)))
1753 (native-inputs
1754 `(("pkg-config" ,pkg-config)))
1755 (home-page "http://vamp-plugins.org")
1756 (synopsis "Modular and extensible audio processing system")
1757 (description
1758 "Vamp is an audio processing plugin system for plugins that extract
1759descriptive information from audio data — typically referred to as audio
1760analysis plugins or audio feature extraction plugins.")
1761 (license
1762 (license:x11-style
1763 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
9f1cdd9d
TUBK
1764
1765(define-public libsbsms
1766 (package
1767 (name "libsbsms")
1768 (version "2.0.2")
1769 (source
1770 (origin
1771 (method url-fetch)
1772 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
1773 "/libsbsms-" version ".tar.gz"))
1774 (sha256
1775 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
1776 (build-system gnu-build-system)
1777 (native-inputs `(("automake" ,automake)))
1778 (arguments
476b2877
MW
1779 `(#:configure-flags
1780 ;; Disable the use of SSE unless on x86_64.
1781 ,(if (not (string-prefix? "x86_64" (or (%current-target-system)
1782 (%current-system))))
1783 ''("--disable-sse")
1784 ''())
1785 #:phases
09c414d8
MW
1786 (modify-phases %standard-phases
1787 (add-after
1788 'unpack 'fix-ar-lib-path
1789 (lambda* (#:key inputs #:allow-other-keys)
1790 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
1791 (delete-file "ar-lib")
1792 (symlink
1793 (string-append (assoc-ref inputs "automake") "/share/automake-"
1794 ,(package-version automake) "/ar-lib")
1795 "ar-lib"))))))
9f1cdd9d
TUBK
1796 (home-page "http://sbsms.sourceforge.net/")
1797 (synopsis "Library for time stretching and pitch scaling of audio")
1798 (description
1799 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
1800stretching and pitch scaling of audio. This package contains the library.")
1801 ;; There is no explicit declaration of a license, but a COPYING file
1802 ;; containing gpl2.
1803 (license license:gpl2)))
754a98ae 1804
01b90919
SB
1805(define-public wavpack
1806 (package
1807 (name "wavpack")
1808 (version "4.70.0")
1809 (source (origin
1810 (method url-fetch)
1811 (uri (string-append "http://www.wavpack.com/"
1812 name "-" version ".tar.bz2"))
1813 (sha256
1814 (base32
1815 "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
1816 (build-system gnu-build-system)
60950faa
SB
1817 (arguments
1818 `(#:configure-flags
1819 ;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
1820 (list (string-append "--libdir=" %output "/lib"))))
01b90919
SB
1821 (home-page "http://www.wavpack.com/")
1822 (synopsis "Hybrid lossless audio codec")
1823 (description
1824 "WavPack is an audio compression format with lossless, lossy and hybrid
1825compression modes. This package contains command-line programs and library to
1826encode and decode wavpack files.")
1827 (license license:bsd-3)))
1828
a176dd7e
SB
1829(define-public libmodplug
1830 (package
1831 (name "libmodplug")
1832 (version "0.8.8.5")
1833 (source (origin
1834 (method url-fetch)
1835 (uri (string-append
1836 "mirror://sourceforge/project/modplug-xmms/"
1837 name "/" version "/" name "-" version ".tar.gz"))
1838 (sha256
1839 (base32
1840 "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
1841 (build-system gnu-build-system)
1842 (home-page "http://modplug-xmms.sourceforge.net/")
1843 (synopsis "Mod file playing library")
1844 (description
1845 "Libmodplug renders mod music files as raw audio data, for playing or
1846conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
1847supported. Optional features include high-quality resampling, bass expansion,
1848surround and reverb.")
1849 (license license:public-domain)))
1850
b97b5cda
SB
1851(define-public libxmp
1852 (package
1853 (name "libxmp")
1207a0c3 1854 (version "4.3.10")
b97b5cda
SB
1855 (source (origin
1856 (method url-fetch)
1857 (uri (string-append "mirror://sourceforge/xmp/libxmp/"
1858 name "-" version ".tar.gz"))
1859 (sha256
1860 (base32
1207a0c3 1861 "1gm5xa0ca7ypcbj3bkmj3k1vvzl7nkch8gjyrm8p1a9vgzr0n761"))))
b97b5cda
SB
1862 (build-system gnu-build-system)
1863 (home-page "http://xmp.sourceforge.net/")
1864 (synopsis "Module player library")
1865 (description
1866 "Libxmp is a library that renders module files to PCM data. It supports
1867over 90 mainstream and obscure module formats including Protracker (MOD),
1868Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
1869 (license license:lgpl2.1+)))
1870
3ec4bba4
SB
1871(define-public xmp
1872 (package
1873 (name "xmp")
1874 (version "4.0.10")
1875 (source (origin
1876 (method url-fetch)
1877 (uri (string-append "mirror://sourceforge/xmp/xmp/"
1878 name "-" version ".tar.gz"))
1879 (sha256
1880 (base32
1881 "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
1882 (build-system gnu-build-system)
1883 (native-inputs
1884 `(("pkg-config" ,pkg-config)))
1885 (inputs
1886 `(("libxmp" ,libxmp)
1887 ("pulseaudio" ,pulseaudio)))
1888 (home-page "http://xmp.sourceforge.net/")
1889 (synopsis "Extended module player")
1890 (description
1891 "Xmp is a portable module player that plays over 90 mainstream and
1892obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
1893Tracker 3 S3M and Impulse Tracker IT files.")
1894 (license license:gpl2+)))
1895
754a98ae
TUBK
1896(define-public soundtouch
1897 (package
1898 (name "soundtouch")
1899 (version "1.8.0")
1900 (source
1901 (origin
1902 (method url-fetch)
1903 (uri
1904 (string-append
1905 "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
1906 (sha256
1907 (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
1908 (build-system gnu-build-system)
1909 (native-inputs
1910 `(("autoconf" ,autoconf)
1911 ("automake" ,automake)
1912 ("libtool" ,libtool)
1913 ("file" ,file)))
1914 (arguments
1915 '(#:phases
722ec722
MW
1916 (alist-cons-after
1917 'unpack 'bootstrap
754a98ae 1918 (lambda _
722ec722 1919 (zero? (system* "sh" "bootstrap")))
754a98ae
TUBK
1920 %standard-phases)))
1921 (home-page "http://www.surina.net/soundtouch/")
1922 (synopsis
1923 "Audio processing library for changing tempo, pitch and playback rate")
1924 (description
1925 "SoundTouch is an audio processing library for changing the tempo, pitch
1926and playback rates of audio streams or audio files. It is intended for
1927application developers writing sound processing tools that require tempo/pitch
1928control functionality, or just for playing around with the sound effects.")
1929 (license license:lgpl2.1+)))
4bddd14c 1930
d739f481
AK
1931(define-public sox
1932 (package
1933 (name "sox")
1934 (version "14.4.2")
1935 (source (origin
1936 (method url-fetch)
1937 (uri (string-append "mirror://sourceforge/sox/sox-"
1938 version ".tar.bz2"))
1939 (sha256
1940 (base32
1941 "170lx90r1nlnb2j6lg00524iwvqy72p48vii4xc5prrh8dnrb9l1"))))
1942 (build-system gnu-build-system)
1943 (arguments
1944 '(#:configure-flags
1945 ;; The upstream asks to identify the distribution to diagnose SoX
1946 ;; bug reports.
1947 '("--with-distro=Guix System Distribution")))
1948 (native-inputs
1949 `(("pkg-config" ,pkg-config)))
1950 (inputs
1951 `(("alsa-lib" ,alsa-lib)
1952 ("ao" ,ao)
1953 ("flac" ,flac)
1954 ("lame" ,lame)
1955 ("libid3tag" ,libid3tag)
1956 ("libltdl" ,libltdl)
1957 ("libmad" ,libmad)
1958 ("libpng" ,libpng)
1959 ("libvorbis" ,libvorbis)
1960 ("pulseaudio" ,pulseaudio)))
1961 (home-page "http://sox.sourceforge.net")
1962 (synopsis "Sound processing utility")
1963 (description
1964 "SoX (Sound eXchange) is a command line utility that can convert
1965various formats of computer audio files to other formats. It can also
1966apply various effects to these sound files, and, as an added bonus, SoX
1967can play and record audio files.")
1968 ;; sox.c is distributed under GPL, while the files that make up
1969 ;; libsox are licensed under LGPL.
1970 (license (list license:gpl2+ license:lgpl2.1+))))
1971
4bddd14c
TUBK
1972(define-public soxr
1973 (package
1974 (name "soxr")
1975 (version "0.1.1")
1976 (source
1977 (origin
1978 (method url-fetch)
1979 (uri
1980 (string-append "mirror://sourceforge/soxr/soxr-" version
1981 "-Source.tar.xz"))
1982 (sha256
1983 (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
1984 (build-system cmake-build-system)
1985 (arguments '(#:tests? #f)) ;no 'check' target
1986 (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
1987 (synopsis "One-dimensional sample-rate conversion library")
1988 (description
1989 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
1990conversion. It may be used, for example, to resample PCM-encoded audio.")
1991 (license license:lgpl2.1+)))
49f36708
TUBK
1992
1993(define-public twolame
1994 (package
1995 (name "twolame")
1996 (version "0.3.13")
1997 (source
1998 (origin
1999 (method url-fetch)
2000 (uri (string-append
2001 "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
2002 (sha256
2003 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
2004 (build-system gnu-build-system)
2005 (inputs
2006 `(("libsndfile" ,libsndfile)))
2007 (native-inputs
2008 `(("perl" ,perl)
2009 ("which" ,which))) ;used in tests/test.pl
2010 (home-page "http://www.twolame.org/")
2011 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
2012 (description
2013 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
2014tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
2015portions of LAME.")
2016 (license license:lgpl2.1+)))
bd4464f2
TUBK
2017
2018(define-public portaudio
2019 (package
2020 (name "portaudio")
2021 (version "19.20140130")
2022 (source
2023 (origin
2024 (method url-fetch)
2025 (uri (string-append
2026 "http://www.portaudio.com/archives/pa_stable_v"
2027 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
2028 ".tgz"))
2029 (sha256
b47be021
TUBK
2030 (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
2031 (patches (list (search-patch "portaudio-audacity-compat.patch")))))
bd4464f2
TUBK
2032 (build-system gnu-build-system)
2033 (inputs
2034 ;; TODO: Add ASIHPI.
2035 `(("alsa-lib" ,alsa-lib)
bcbc02fd 2036 ("jack" ,jack-1)))
bd4464f2 2037 (native-inputs
b47be021
TUBK
2038 `(("autoconf" ,autoconf)
2039 ("automake" ,automake)
2040 ("libtool" ,libtool)
2041 ("pkg-config" ,pkg-config)))
2042 (arguments
2043 '(#:phases
2044 ;; Autoreconf is necessary because the audacity-compat patch modifies
2045 ;; .in files.
2046 (alist-cons-after
2047 'unpack 'autoreconf
2048 (lambda _
2049 (zero? (system* "autoreconf" "-vif")))
2050 %standard-phases)
2051 #:tests? #f)) ;no 'check' target
bd4464f2
TUBK
2052 (home-page "http://www.portaudio.com/")
2053 (synopsis "Audio I/O library")
2054 (description
2055 "PortAudio is a portable C/C++ audio I/O library providing a simple API
2056to record and/or play sound using a callback function or a blocking read/write
2057interface.")
2058 (license license:expat)))
74bbf894 2059
fe73aef4
RW
2060(define-public qsynth
2061 (package
2062 (name "qsynth")
a228fce5 2063 (version "0.4.0")
fe73aef4
RW
2064 (source
2065 (origin
2066 (method url-fetch)
2067 (uri (string-append
2068 "mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
2069 (sha256
a228fce5 2070 (base32 "1chc89v9hcjw3k4rvzakl8g56wv24kh48fzv1gfs4iv8vhyl3j4x"))))
fe73aef4
RW
2071 (build-system gnu-build-system)
2072 (arguments
2073 `(#:tests? #f)) ; no "check" phase
2074 (inputs
2075 `(("qt" ,qt)
2076 ("fluidsynth" ,fluidsynth)))
2077 (home-page "http://qsynth.sourceforge.net")
2078 (synopsis "Graphical user interface for FluidSynth")
2079 (description
2080 "Qsynth is a GUI front-end application for the FluidSynth SoundFont
2081synthesizer written in C++.")
2082 (license license:gpl2+)))
2083
55b596c3
TUBK
2084(define-public rsound
2085 (package
2086 (name "rsound")
2087 (version "1.1")
2088 (source
2089 (origin
2090 (method url-fetch)
2091 (uri (string-append "https://github.com/Themaister/RSound/archive/v"
2092 version ".tar.gz"))
01e327b5 2093 (file-name (string-append name "-" version))
55b596c3
TUBK
2094 (sha256
2095 (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
2096 (build-system gnu-build-system)
2097 (inputs
2098 `(("alsa-lib" ,alsa-lib)
276f49df 2099 ("jack" ,jack-1)
55b596c3
TUBK
2100 ("ao" ,ao)
2101 ("libsamplerate" ,libsamplerate)
2102 ("openal" ,openal)
2103 ("portaudio" ,portaudio)
2104 ("pulseaudio" ,pulseaudio)))
2105 (arguments
2106 '(#:phases
2107 (alist-replace
2108 'configure
2109 (lambda* (#:key outputs #:allow-other-keys)
2110 (setenv "CC" "gcc")
2111 (zero?
2112 (system* "./configure"
2113 (string-append "--prefix=" (assoc-ref outputs "out")))))
2114 %standard-phases)
2115 ;; No 'check' target.
2116 #:tests? #f))
2117 (home-page "http://themaister.net/rsound.html")
2118 (synopsis "Networked audio system")
2119 (description
2120 "RSound allows you to send audio from an application and transfer it
2121directly to a different computer on your LAN network. It is an audio daemon
2122with a much different focus than most other audio daemons.")
2123 (license license:gpl3+)))
2124
caf9055c
RW
2125(define-public xjackfreak
2126 (package
2127 (name "xjackfreak")
2128 (version "1.0")
2129 (source (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://github.com/johnhldavis/xjackfreak/archive/v"
2133 version ".tar.gz"))
2134 (file-name (string-append name "-" version ".tar.gz"))
2135 (sha256
2136 (base32
2137 "0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
2138 (build-system gnu-build-system)
2139 (arguments
2140 `(#:make-flags
2141 (list (string-append "docdir=" (assoc-ref %outputs "out")
2142 "/share/doc/xjackfreak"))))
2143 (inputs
2144 `(("jack" ,jack-1)
2145 ("libx11" ,libx11)
2146 ("libxt" ,libxt)
2147 ("libxext" ,libxext)))
2148 (native-inputs
2149 `(("pkg-config" ,pkg-config)))
2150 (home-page "https://github.com/johnhldavis/xjackfreak")
2151 (synopsis "JACK audio frequency analyzer and display")
2152 (description
2153 "XJackFreak is an audio analysis and equalizing tool for the Jack Audio
2154Connection Kit. It can display the FFT of any input, modify it and output the
2155result.")
2156 (license license:gpl3+)))
2157
d73f7909
RW
2158(define-public zita-convolver
2159 (package
2160 (name "zita-convolver")
2161 (version "3.1.0")
2162 (source (origin
2163 (method url-fetch)
2164 (uri (string-append
2165 "http://kokkinizita.linuxaudio.org"
2166 "/linuxaudio/downloads/zita-convolver-"
2167 version ".tar.bz2"))
29e255ca
SB
2168 (snippet
2169 ;; Don't optimize for a specific processor architecture.
2170 '(substitute* "libs/Makefile"
2171 (("^CXXFLAGS \\+= -march=native") "")))
2172 (modules '((guix build utils)))
d73f7909
RW
2173 (sha256
2174 (base32
2175 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
2176 (build-system gnu-build-system)
2177 (arguments
2178 `(#:tests? #f ; no "check" target
2179 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2180 #:phases
2181 (alist-cons-after
2182 'unpack 'patch-makefile-and-enter-directory
2183 (lambda _
2184 (substitute* "libs/Makefile"
2185 (("ldconfig") "true")
2186 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2187 (chdir "libs") #t)
2188 (alist-cons-after
2189 'install
2190 'install-symlink
2191 (lambda _
2192 (symlink "libzita-convolver.so"
2193 (string-append (assoc-ref %outputs "out")
2194 "/lib/libzita-convolver.so.3")))
2195 ;; no configure script
2196 (alist-delete 'configure %standard-phases)))))
2197 (inputs `(("fftwf" ,fftwf)))
2198 (home-page "http://kokkinizita.linuxaudio.org")
2199 (synopsis "Fast, partitioned convolution engine library")
2200 (description
2201 "Zita convolver is a C++ library providing a real-time convolution
2202engine.")
2203 (license license:gpl3+)))
2204
b7ed6784
RW
2205(define-public zita-resampler
2206 (package
2207 (name "zita-resampler")
2208 (version "1.3.0")
2209 (source (origin
2210 (method url-fetch)
2211 (uri (string-append
2212 "http://kokkinizita.linuxaudio.org"
2213 "/linuxaudio/downloads/zita-resampler-"
2214 version ".tar.bz2"))
6dff4955
SB
2215 (snippet
2216 ;; Don't optimize for a specific processor architecture.
2217 '(substitute* '("apps/Makefile" "libs/Makefile")
2218 (("^CXXFLAGS \\+= -march=native") "")))
2219 (modules '((guix build utils)))
b7ed6784
RW
2220 (sha256
2221 (base32
2222 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
2223 (build-system gnu-build-system)
2224 (arguments
2225 `(#:tests? #f ; no "check" target
2226 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2227 #:phases
2228 (modify-phases %standard-phases
2229 (add-after
2230 'unpack 'patch-makefile-and-enter-directory
2231 (lambda _
2232 (substitute* "libs/Makefile"
2233 (("ldconfig") "true")
2234 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2235 (chdir "libs")
2236 #t))
2237 (add-after
2238 'install 'install-symlink
2239 (lambda _
2240 (symlink "libzita-resampler.so"
2241 (string-append (assoc-ref %outputs "out")
2242 "/lib/libzita-resampler.so.1"))))
2243 ;; no configure script
2244 (delete 'configure))))
2245 (home-page "http://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
2246 (synopsis "C++ library for resampling audio signals")
2247 (description
2248 "Libzita-resampler is a C++ library for resampling audio signals. It is
2249designed to be used within a real-time processing context, to be fast, and to
2250provide high-quality sample rate conversion.")
2251 (license license:gpl3+)))
2252
74bbf894
RW
2253(define-public zita-alsa-pcmi
2254 (package
2255 (name "zita-alsa-pcmi")
2256 (version "0.2.0")
2257 (source (origin
2258 (method url-fetch)
2259 (uri (string-append
2260 "http://kokkinizita.linuxaudio.org"
2261 "/linuxaudio/downloads/zita-alsa-pcmi-"
2262 version ".tar.bz2"))
2263 (sha256
2264 (base32
9569dfc8 2265 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
74bbf894
RW
2266 (build-system gnu-build-system)
2267 (arguments
2268 `(#:tests? #f ; no "check" target
2269 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2270 #:phases
2271 (alist-cons-after
9569dfc8
RW
2272 'unpack 'patch-makefile-and-enter-directory
2273 (lambda _
2274 (substitute* "libs/Makefile"
2275 (("ldconfig") "true")
2276 (("^LIBDIR =.*") "LIBDIR = lib\n"))
2277 (chdir "libs")
2278 #t)
74bbf894
RW
2279 (alist-cons-after
2280 'install
2281 'install-symlink
2282 (lambda _
2283 (symlink "libzita-alsa-pcmi.so"
2284 (string-append (assoc-ref %outputs "out")
2285 "/lib/libzita-alsa-pcmi.so.0")))
2286 ;; no configure script
2287 (alist-delete 'configure %standard-phases)))))
2288 (inputs
2289 `(("alsa-lib" ,alsa-lib)
2290 ("fftw" ,fftw)))
2291 (home-page "http://kokkinizita.linuxaudio.org")
2292 (synopsis "C++ wrapper around the ALSA API")
2293 (description
2294 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
2295access to ALSA PCM devices, taking care of the many functions required to
2296open, initialise and use a hw: device in mmap mode, and providing floating
2297point audio data.")
2298 (license license:gpl3+)))
6da16993
LF
2299
2300(define-public cuetools
2301 (package
2302 (name "cuetools")
2303 (version "1.4.1")
2304 (source (origin
2305 (method url-fetch)
2306 (uri (string-append "https://github.com/svend/cuetools/archive/"
2307 version ".tar.gz"))
2308 (file-name (string-append name "-" version ".tar.gz"))
2309 (sha256
2310 (base32
2311 "01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4"))))
2312 (build-system gnu-build-system)
2313 ;; The source tarball is not bootstrapped.
2314 (arguments
2315 `(#:phases
2316 (modify-phases %standard-phases
2317 (add-after 'unpack 'bootstrap
2318 (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
2319 ;; Bootstrapping tools
2320 (native-inputs
2321 `(("autoconf" ,autoconf)
2322 ("automake" ,automake)
2323 ("flex" ,flex)
2324 ("bison" ,bison)))
2325 (synopsis "Cue and toc file parsers and utilities")
2326 (description "Cuetools is a set of programs that are useful for manipulating
2327and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC
2328files are a way to represent the layout of a data or audio CD in a
2329machine-readable ASCII format.")
2330 (home-page "https://github.com/svend/cuetools")
2331 (license license:gpl2+)))
6819a8dd
LF
2332
2333(define-public shntool
2334 (package
2335 (name "shntool")
2336 (version "3.0.10")
2337 (source (origin
2338 (method url-fetch)
2339 (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
2340 "shntool-" version ".tar.gz"))
2341 (sha256
2342 (base32
2343 "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
2344 (build-system gnu-build-system)
2345 (synopsis "WAVE audio data processing tool")
2346 (description "shntool is a multi-purpose WAVE data processing and reporting
2347utility. File formats are abstracted from its core, so it can process any file
2348that contains WAVE data, compressed or not---provided there exists a format
2349module to handle that particular file type.")
2350 (home-page "http://etree.org/shnutils/shntool/")
6ac2af78
LF
2351 ;; 'install-sh' bears the x11 license
2352 (license (list license:gpl2+ license:x11))))
680b54c5
DT
2353
2354(define-public dcadec
2355 (package
2356 (name "dcadec")
2357 (version "0.2.0")
2358 (source (origin
2359 (method url-fetch)
2360 (uri (string-append "https://github.com/foo86/dcadec/archive/v"
2361 version ".tar.gz"))
2362 (file-name (string-append name "-" version ".tar.gz"))
2363 (sha256
2364 (base32
2365 "0i0dpypgqkhhi4v1fmsp2way6w9kbcix3c7q79pmg39yvrzj17gd"))))
2366 (build-system gnu-build-system)
2367 (arguments
2368 ;; Test files are missing: https://github.com/foo86/dcadec/issues/53
2369 '(#:tests? #f
2370 #:make-flags
2371 (list "CC=gcc"
2372 ;; Build shared library.
2373 "CONFIG_SHARED=1"
2374 (string-append "PREFIX=" (assoc-ref %outputs "out"))
2375 ;; Set proper runpath.
2376 (string-append "LDFLAGS=-Wl,-rpath="
2377 (assoc-ref %outputs "out")
2378 "/lib"))
2379 #:phases
2380 (modify-phases %standard-phases
2381 ;; No configure script, just a hand-written Makefile.
2382 (delete 'configure))))
2383 (synopsis "DTS Coherent Acoustics decoder")
2384 (description "Dcadec is a DTS Coherent Acoustics surround sound decoder
2385with support for HD extensions.")
2386 (home-page "https://github.com/foo86/dcadec")
2387 (license license:lgpl2.1+)))