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