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