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