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