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