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