gnu: wpa-supplicant: Add security fixes.
[jackhill/guix/guix.git] / gnu / packages / audio.scm
CommitLineData
fb68469f
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
9f1cdd9d 3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
fb68469f
RW
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages audio)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix git-download)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix build-system gnu)
c54a8981 26 #:use-module (guix build-system waf)
7c92efff 27 #:use-module (guix build-system trivial)
4bddd14c 28 #:use-module (guix build-system cmake)
fb68469f 29 #:use-module (gnu packages)
d55f912a 30 #:use-module (gnu packages algebra)
9f1cdd9d 31 #:use-module (gnu packages autotools)
88efb2c3 32 #:use-module (gnu packages boost)
7c92efff 33 #:use-module (gnu packages base)
fda85ca6 34 #:use-module (gnu packages bison)
7c92efff 35 #:use-module (gnu packages compression)
88efb2c3 36 #:use-module (gnu packages curl)
fb68469f 37 #:use-module (gnu packages databases)
754a98ae 38 #:use-module (gnu packages file)
fda85ca6
RW
39 #:use-module (gnu packages flex)
40 #:use-module (gnu packages gettext)
88efb2c3 41 #:use-module (gnu packages glib)
f3ab6ad3 42 #:use-module (gnu packages gtk)
88efb2c3 43 #:use-module (gnu packages gnome)
9ffee457 44 #:use-module (gnu packages ncurses)
f3ab6ad3 45 #:use-module (gnu packages qt)
c54a8981 46 #:use-module (gnu packages linux)
88efb2c3
RW
47 #:use-module (gnu packages mp3) ;taglib
48 #:use-module (gnu packages perl)
c54a8981
RW
49 #:use-module (gnu packages pkg-config)
50 #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
d55f912a 51 #:use-module (gnu packages python)
5279eb6f 52 #:use-module (gnu packages rdf)
c54a8981
RW
53 #:use-module (gnu packages readline)
54 #:use-module (gnu packages xiph)
da49086a 55 #:use-module (gnu packages xml)
70fc29d9 56 #:use-module (gnu packages zip)
da49086a 57 #:use-module (srfi srfi-1))
fb68469f 58
eb0fb087
RW
59(define-public alsa-modular-synth
60 (package
61 (name "alsa-modular-synth")
62 (version "2.1.1")
63 (source (origin
64 (method url-fetch)
65 (uri (string-append "mirror://sourceforge/alsamodular/ams-"
66 version ".tar.bz2"))
67 (sha256
68 (base32
69 "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
70 (build-system gnu-build-system)
71 (inputs
72 `(("alsa-lib" ,alsa-lib)
73 ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
74 ;; license incompatibility.
75 ("clalsadrv" ,clalsadrv)
76 ("fftw" ,fftw)
77 ("jack" ,jack-1)
78 ("ladspa" ,ladspa)
79 ("liblo" ,liblo)
80 ("qt" ,qt-4)))
81 (native-inputs
82 `(("pkg-config" ,pkg-config)))
83 (home-page "http://alsamodular.sourceforge.net/")
84 (synopsis "Realtime modular synthesizer and effect processor")
85 (description
86 "AlsaModularSynth is a digital implementation of a classical analog
87modular synthesizer system. It uses virtual control voltages to control the
88parameters of the modules. The control voltages which control the frequency
89e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
90Filter) modules follow the convention of 1V / Octave.")
91 (license license:gpl2)))
92
d55f912a
RW
93(define-public aubio
94 (package
95 (name "aubio")
96 (version "0.4.1")
97 (source (origin
98 (method url-fetch)
99 (uri (string-append
100 "http://aubio.org/pub/aubio-" version ".tar.bz2"))
101 (sha256
102 (base32
103 "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5"))))
104 (build-system waf-build-system)
105 (arguments
106 `(#:tests? #f ; no check target
107 #:configure-flags
108 '("--enable-fftw3f"
109 "--enable-jack"
110 "--enable-sndfile"
111 "--enable-samplerate"
112 ;; enable compilation with avcodec once available
113 "--disable-avcodec")
114 #:python ,python-2))
115 (inputs
116 `(("jack" ,jack-1)
d55f912a
RW
117 ("libsndfile" ,libsndfile)
118 ("libsamplerate" ,libsamplerate)
119 ("fftwf" ,fftwf)))
120 (native-inputs
121 `(("pkg-config" ,pkg-config)))
122 (home-page "http://aubio.org/")
123 (synopsis "A library for audio labelling")
124 (description
125 "aubio is a tool designed for the extraction of annotations from audio
126signals. Its features include segmenting a sound file before each of its
127attacks, performing pitch detection, tapping the beat and producing MIDI
128streams from live audio.")
129 (license license:gpl3+)))
130
002806c9 131(define-public ardour-3
88efb2c3
RW
132 (package
133 (name "ardour")
134 (version "3.5.403")
135 (source (origin
136 ;; The project only provides tarballs upon individual request
137 ;; (or after payment) so we take the code from git.
138 (method git-fetch)
139 (uri (git-reference
140 (url "git://git.ardour.org/ardour/ardour.git")
141 (commit version)))
142 (snippet
002806c9
RW
143 ;; Ardour expects this file to exist at build time. It can be
144 ;; created from a git checkout with:
145 ;; ./waf create_stored_revision
88efb2c3
RW
146 '(call-with-output-file
147 "libs/ardour/revision.cc"
148 (lambda (port)
149 (format port "#include \"ardour/revision.h\"
150namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
151 (sha256
152 (base32
153 "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
154 (file-name (string-append name "-" version))))
155 (build-system waf-build-system)
156 (arguments
21481a28
RW
157 `(#:phases
158 (modify-phases %standard-phases
159 (add-after
160 'unpack 'set-rpath-in-LDFLAGS
161 (lambda _
162 (substitute* "wscript"
163 (("linker_flags = \\[\\]")
164 (string-append "linker_flags = [\""
165 "-Wl,-rpath="
166 (assoc-ref %outputs "out")
167 "/lib/ardour3/" ":"
168 (assoc-ref %outputs "out")
169 "/lib/ardour3/backends" ":"
170 (assoc-ref %outputs "out")
171 "/lib/ardour3/engines" ":"
172 (assoc-ref %outputs "out")
173 "/lib/ardour3/panners" ":"
174 (assoc-ref %outputs "out")
175 "/lib/ardour3/surfaces" ":"
176 (assoc-ref %outputs "out")
177 "/lib/ardour3/vamp" "\"]")))
178 #t)))
179 #:tests? #f ; no check target
88efb2c3
RW
180 #:python ,python-2))
181 (inputs
182 `(("alsa-lib" ,alsa-lib)
183 ("aubio" ,aubio)
184 ("lrdf" ,lrdf)
185 ("boost" ,boost)
186 ("atkmm" ,atkmm)
187 ("cairomm" ,cairomm)
188 ("gtkmm" ,gtkmm-2)
189 ("glibmm" ,glibmm)
190 ("libart-lgpl" ,libart-lgpl)
191 ("libgnomecanvasmm" ,libgnomecanvasmm)
192 ("pangomm" ,pangomm)
193 ("liblo" ,liblo)
194 ("libsndfile" ,libsndfile)
195 ("libsamplerate" ,libsamplerate)
196 ("libxml2" ,libxml2)
197 ("libogg" ,libogg)
198 ("libvorbis" ,libvorbis)
199 ("flac" ,flac)
200 ("lv2" ,lv2)
201 ("vamp" ,vamp)
202 ("curl" ,curl)
88efb2c3
RW
203 ("fftw" ,fftw)
204 ("fftwf" ,fftwf)
205 ("jack" ,jack-1)
206 ("serd" ,serd)
207 ("sord" ,sord)
208 ("sratom" ,sratom)
209 ("suil" ,suil)
210 ("lilv" ,lilv)
211 ("rasqal" ,rasqal)
212 ("raptor2" ,raptor2)
213 ("redland" ,redland)
214 ("rubberband" ,rubberband)
215 ("taglib" ,taglib)
216 ("python-rdflib" ,python-rdflib)))
217 (native-inputs
218 `(("perl" ,perl)
219 ("pkg-config" ,pkg-config)))
220 (home-page "http://ardour.org")
221 (synopsis "Digital audio workstation")
222 (description
223 "Ardour is a multi-channel digital audio workstation, allowing users to
224record, edit, mix and master audio and MIDI projects. It is targeted at audio
225engineers, musicians, soundtrack editors and composers.")
226 (license license:gpl2+)))
227
002806c9 228(define-public ardour
32cf9895 229 (package (inherit ardour-3)
002806c9
RW
230 (name "ardour")
231 (version "4.0")
232 (source (origin
233 (method git-fetch)
234 (uri (git-reference
235 (url "git://git.ardour.org/ardour/ardour.git")
236 (commit version)))
237 (snippet
238 ;; Ardour expects this file to exist at build time. It can be
239 ;; created from a git checkout with:
240 ;; ./waf create_stored_revision
241 '(call-with-output-file
242 "libs/ardour/revision.cc"
243 (lambda (port)
244 (format port "#include \"ardour/revision.h\"
245namespace ARDOUR { const char* revision = \"4.0\" ; }"))))
246 (sha256
247 (base32
248 "0a8bydc24xv0cahdqfaxdmi1f43cyr9psiyshxpbrkdqw2c7a4xi"))
249 (file-name (string-append name "-" version))))))
250
497e9a82
RW
251(define-public azr3
252 (package
253 (name "azr3")
254 (version "1.2.3")
255 (source (origin
256 (method url-fetch)
257 (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
258 version
259 ".tar.bz2"))
260 (sha256
261 (base32
262 "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
263 (build-system gnu-build-system)
264 (arguments
265 `(#:tests? #f ; no check target
266 #:make-flags
267 (list "LV2PEG=ttl2c"
268 (string-append "prefix=" %output)
269 (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
270 (inputs
271 `(("gtkmm" ,gtkmm-2)
272 ("lvtk" ,lvtk)
273 ("jack" ,jack-1)
f753846b 274 ("lash" ,lash)))
497e9a82
RW
275 (native-inputs
276 `(("pkg-config" ,pkg-config)))
277 (home-page "http://ll-plugins.nongnu.org/azr3/")
278 (synopsis "Tonewheel organ synthesizer")
279 (description
280 "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
281with drawbars, distortion and rotating speakers. The organ has three
282sections, two polyphonic sections with nine drawbars each and one monophonic
283bass section with five drawbars. A standalone JACK application and LV2
284plugins are provided.")
285 (license license:gpl2)))
286
f62a8417
RW
287(define-public calf
288 (package
289 (name "calf")
290 (version "0.0.60")
291 (source (origin
292 (method url-fetch)
293 (uri (string-append
294 "mirror://sourceforge/calf/calf/"
295 version "/calf-" version ".tar.gz"))
296 (sha256
297 (base32
298 "019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
299 (build-system gnu-build-system)
300 (inputs
301 `(("fluidsynth" ,fluidsynth)
302 ("expat" ,expat)
303 ("glib" ,glib)
304 ("gtk" ,gtk+-2)
305 ("cairo" ,cairo)
306 ("lash" ,lash)
307 ("jack" ,jack-1)
308 ("lv2" ,lv2)
309 ("ladspa" ,ladspa)
310 ("fftw" ,fftw)))
311 (native-inputs
312 `(("pkg-config" ,pkg-config)))
313 (native-search-paths
314 (list (search-path-specification
315 (variable "LV2_PATH")
316 (files '("lib/lv2")))))
317 (home-page "http://calf.sourceforge.net/")
318 (synopsis "Audio plug-in pack for LV2 and JACK environments")
319 (description
320 "Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
321The suite contains lots of effects (delay, modulation, signal processing,
322filters, equalizers, dynamics, distortion and mastering effects),
323instruments (SF2 player, organ simulator and a monophonic synthesizer) and
324tools (analyzer, mono/stereo tools, crossovers).")
325 ;; calfjackhost is released under GPLv2+
326 ;; The plugins are released under LGPLv2.1+
327 (license (list license:lgpl2.1+ license:gpl2+))))
328
fda85ca6
RW
329(define-public csound
330 (package
331 (name "csound")
332 (version "6.04")
333 (source (origin
334 (method url-fetch)
335 (uri (string-append
336 "mirror://sourceforge/csound/csound6/Csound"
337 version "/Csound" version ".tar.gz"))
338 (sha256
339 (base32
340 "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g"))))
341 (build-system cmake-build-system)
342 (inputs
343 `(("alsa-lib" ,alsa-lib)
344 ("boost" ,boost)
345 ("pulseaudio" ,pulseaudio)
346 ("libsndfile" ,libsndfile)
347 ("liblo" ,liblo)
348 ("ladspa" ,ladspa)
349 ("jack" ,jack-1)
350 ("gettext" ,gnu-gettext)))
351 (native-inputs
352 `(("bison" ,bison)
353 ("flex" ,flex)
354 ("zlib" ,zlib)))
355 (home-page "http://csound.github.io/")
356 (synopsis "Sound and music computing system")
357 (description
358 "Csound is a user-programmable and user-extensible sound processing
359language and software synthesizer.")
360 (license license:lgpl2.1+)))
361
631ac903
RW
362(define-public clalsadrv
363 (package
364 (name "clalsadrv")
365 (version "2.0.0")
366 (source (origin
367 (method url-fetch)
368 (uri (string-append
369 "http://kokkinizita.linuxaudio.org"
370 "/linuxaudio/downloads/clalsadrv-"
371 version ".tar.bz2"))
372 (sha256
373 (base32
9de2e43c 374 "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
631ac903
RW
375 (build-system gnu-build-system)
376 (arguments
377 `(#:tests? #f ; no "check" target
378 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
379 #:phases
380 (alist-cons-after
9de2e43c
RW
381 'unpack 'patch-makefile-and-enter-directory
382 (lambda _
383 (substitute* "libs/Makefile"
384 (("/sbin/ldconfig") "true")
385 (("^LIBDIR =.*") "LIBDIR = lib\n"))
386 (chdir "libs")
387 #t)
631ac903
RW
388 (alist-cons-after
389 'install
390 'install-symlink
391 (lambda _
392 (symlink "libclalsadrv.so"
393 (string-append (assoc-ref %outputs "out")
394 "/lib/libclalsadrv.so.2")))
395 ;; no configure script
396 (alist-delete 'configure %standard-phases)))))
397 (inputs
398 `(("alsa-lib" ,alsa-lib)
399 ("fftw" ,fftw)))
400 (home-page "http://kokkinizita.linuxaudio.org")
401 (synopsis "C++ wrapper around the ALSA API")
402 (description
403 "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
404ALSA PCM devices.")
405 (license license:gpl2+)))
406
e4f43b56
RW
407(define-public fluidsynth
408 (package
409 (name "fluidsynth")
410 (version "1.1.6")
411 (source (origin
412 (method url-fetch)
413 (uri (string-append
414 "mirror://sourceforge/fluidsynth/fluidsynth-"
415 version "/fluidsynth-" version ".tar.gz"))
416 (sha256
417 (base32
418 "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
419 (build-system gnu-build-system)
420 (arguments
421 `(#:phases
422 (alist-cons-after
423 'unpack
424 'remove-broken-symlinks
425 (lambda _ (delete-file-recursively "m4") #t)
426 %standard-phases)))
427 (inputs
428 `(("libsndfile" ,libsndfile)
429 ("alsa-lib" ,alsa-lib)
430 ("jack" ,jack-1)
431 ("ladspa" ,ladspa)
432 ("lash" ,lash)
433 ("readline" ,readline)
434 ("glib" ,glib)))
435 (native-inputs
436 `(("pkg-config" ,pkg-config)))
437 (home-page "http://www.fluidsynth.org/")
438 (synopsis "SoundFont synthesizer")
439 (description
440 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
441specifications. FluidSynth reads and handles MIDI events from the MIDI input
442device. It is the software analogue of a MIDI synthesizer. FluidSynth can
443also play midifiles using a Soundfont.")
444 (license license:gpl2+)))
445
70fc29d9
TUBK
446(define-public faad2
447 (package
448 (name "faad2")
449 (version "2.7")
450 (source (origin
451 (method url-fetch)
452 (uri (string-append
453 "mirror://sourceforge/faac/faad2-" version ".zip"))
454 (sha256
455 (base32
456 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
457 (build-system gnu-build-system)
458 (native-inputs
459 `(("autoconf" ,autoconf)
460 ("automake" ,automake)
461 ("libtool" ,libtool)
462 ("unzip" ,unzip)))
463 (arguments
464 '(#:phases
465 (alist-cons-after
466 'unpack 'bootstrap
467 (lambda _
468 (substitute* "bootstrap" (("\r\n") "\n"))
469 (zero? (system* "sh" "bootstrap")))
470 %standard-phases)))
471 (home-page "http://www.audiocoding.com/faad2.html")
472 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
473 (description
474 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
475PS, and DAB+.")
476 (license license:gpl2)))
477
7c92efff
RW
478(define-public freepats
479 (package
480 (name "freepats")
481 (version "20060219")
482 (source (origin
483 (method url-fetch)
484 (uri (string-append "http://freepats.zenvoid.org/freepats-"
485 version ".tar.bz2"))
486 (sha256
487 (base32
488 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
489 (build-system trivial-build-system)
490 (arguments
491 `(#:modules ((guix build utils))
492 #:builder (begin
493 (use-modules (guix build utils))
494 (let ((out (string-append %output "/share/freepats")))
495 (setenv "PATH" (string-append
496 (assoc-ref %build-inputs "bzip2") "/bin:"
497 (assoc-ref %build-inputs "tar") "/bin"))
498 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
499 (chdir "freepats")
500 ;; Use absolute pattern references
501 (substitute* "freepats.cfg"
502 (("Tone_000") (string-append out "/Tone_000"))
503 (("Drum_000") (string-append out "/Drum_000")))
504 (mkdir-p out)
505 (copy-recursively "." out)))))
506 (native-inputs
507 `(("tar" ,tar)
508 ("bzip2" ,bzip2)))
509 (home-page "http://freepats.zenvoid.org")
510 (synopsis "GUS compatible patches for MIDI players")
511 (description
512 "FreePats is a project to create a free and open set of GUS compatible
513patches that can be used with softsynths such as Timidity and WildMidi.")
514 ;; GPLv2+ with exception for compositions using these patches.
515 (license license:gpl2+)))
516
32cf42c1
RW
517(define-public ir
518 (package
519 (name "ir")
520 (version "1.3.2")
521 (source (origin
522 (method url-fetch)
523 (uri (string-append
524 "http://factorial.hu/system/files/ir.lv2-"
525 version ".tar.gz"))
526 (sha256
527 (base32
528 "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
529 (build-system gnu-build-system)
530 (arguments
531 `(#:tests? #f ;no "check" target
532 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
533 #:phases
534 ;; no configure script
535 (alist-delete 'configure %standard-phases)))
536 (inputs
537 `(("libsndfile" ,libsndfile)
538 ("libsamplerate" ,libsamplerate)
539 ("lv2" ,lv2)
540 ("glib" ,glib)
541 ("gtk+" ,gtk+-2)
542 ("zita-convolver" ,zita-convolver)))
543 (native-inputs
544 `(("pkg-config" ,pkg-config)))
545 (native-search-paths
546 (list (search-path-specification
547 (variable "LV2_PATH")
548 (files '("lib/lv2")))))
549 (home-page "http://factorial.hu/plugins/lv2/ir")
550 (synopsis "LV2 convolution reverb")
551 (description
552 "IR is a low-latency, real-time, high performance signal convolver
553especially for creating reverb effects. It supports impulse responses with 1,
5542 or 4 channels, in any soundfile format supported by libsndfile.")
555 (license license:gpl2+)))
556
fb68469f
RW
557(define-public jack-1
558 (package
559 (name "jack")
560 (version "0.124.1")
561 (source (origin
562 (method url-fetch)
563 (uri (string-append
564 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
565 version
566 ".tar.gz"))
567 (sha256
568 (base32
569 "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
570 (build-system gnu-build-system)
571 (inputs
2f9ae82f
RW
572 `(("alsa-lib" ,alsa-lib)
573 ("bdb" ,bdb)
5d95e30b
RW
574 ("readline" ,readline)))
575 ;; uuid.h is included in the JACK type headers
576 (propagated-inputs
577 `(("libuuid" ,util-linux)))
2f9ae82f
RW
578 (native-inputs
579 `(("pkg-config" ,pkg-config)))
fb68469f
RW
580 (home-page "http://jackaudio.org/")
581 (synopsis "JACK audio connection kit")
582 (description
583 "JACK is a low-latency audio server. It can connect a number of
584different applications to an audio device, as well as allowing them to share
585audio between themselves. JACK is different from other audio server efforts
586in that it has been designed from the ground up to be suitable for
587professional audio work. This means that it focuses on two key areas:
588synchronous execution of all clients, and low latency operation.")
589 ;; Most files are licensed under the GPL. However, the libjack/ tree is
590 ;; licensed under the LGPL in order to allow for proprietary usage.
e89fa047 591 (license (list license:gpl2+ license:lgpl2.1+))))
c54a8981
RW
592
593(define-public jack-2
594 (package (inherit jack-1)
314275c7 595 (name "jack2")
c54a8981
RW
596 (version "1.9.10")
597 (source (origin
598 (method url-fetch)
599 (uri (string-append
600 "https://github.com/jackaudio/jack2/archive/v"
601 version
602 ".tar.gz"))
f586c877 603 (file-name (string-append name "-" version ".tar.gz"))
c54a8981
RW
604 (sha256
605 (base32
606 "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
607 (build-system waf-build-system)
608 (arguments
609 `(#:tests? #f ; no check target
610 #:configure-flags '("--dbus"
b416c647
SB
611 "--alsa")
612 #:phases
613 (modify-phases %standard-phases
614 (add-before
615 'configure 'set-linkflags
616 (lambda _
617 ;; Add $libdir to the RUNPATH of all the binaries.
618 (substitute* "wscript"
619 ((".*CFLAGS.*-Wall.*" m)
620 (string-append m
621 " conf.env.append_unique('LINKFLAGS',"
622 "'-Wl,-rpath=" %output "/lib')\n"))))))))
c54a8981
RW
623 (inputs
624 `(("alsa-lib" ,alsa-lib)
625 ("dbus" ,dbus)
626 ("expat" ,expat)
627 ("libsamplerate" ,libsamplerate)
628 ("opus" ,opus)
629 ("readline" ,readline)))
630 (native-inputs
631 `(("pkg-config" ,pkg-config)))
632 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
633 (license (list license:gpl2+ license:lgpl2.1+))))
f47cba0e 634
2f4646b6
RW
635(define-public jalv
636 (package
637 (name "jalv")
638 (version "1.4.6")
639 (source (origin
640 (method url-fetch)
641 (uri (string-append "http://download.drobilla.net/jalv-"
642 version ".tar.bz2"))
643 (sha256
644 (base32
645 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
646 (build-system waf-build-system)
647 (arguments `(#:tests? #f)) ; no check target
648 (inputs
649 `(("lv2" ,lv2)
650 ("lilv" ,lilv)
651 ("suil" ,suil)
652 ("gtk" ,gtk+-2)
653 ("gtkmm" ,gtkmm-2)
654 ("qt" ,qt-4)
655 ("jack" ,jack-1)))
656 (native-inputs
657 `(("pkg-config" ,pkg-config)))
658 (home-page "http://drobilla.net/software/jalv/")
659 (synopsis "Simple LV2 host for JACK")
660 (description
661 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
662plugins and exposes their ports as JACK ports, essentially making any LV2
663plugin function as a JACK application.")
664 (license license:isc)))
665
2cc7ce31
RW
666(define-public ladspa
667 (package
668 (name "ladspa")
669 (version "1.13")
670 (source (origin
671 (method url-fetch)
672 (uri (string-append
673 "http://www.ladspa.org/download/ladspa_sdk_"
674 version
675 ".tgz"))
676 (sha256
677 (base32
678 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
679 (build-system gnu-build-system)
680 (arguments
681 `(#:tests? #f ; the "test" target is a listening test only
682 #:phases
683 (alist-replace
684 'configure
685 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
686 (chdir "src")
687 (let ((out (assoc-ref outputs "out")))
688 (substitute* "makefile"
689 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
690 (("/usr/include/") (string-append out "/include/"))
691 (("/usr/bin/") (string-append out "/bin/"))
692 (("-mkdirhier") "mkdir -p")
693 (("^CC.*") "CC = gcc\n")
694 (("^CPP.*") "CPP = g++\n"))))
695 (alist-delete 'build %standard-phases))))
696 (home-page "http://ladspa.org")
697 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
698 (description
699 "LADSPA is a standard that allows software audio processors and effects
700to be plugged into a wide range of audio synthesis and recording packages.")
701 (license license:lgpl2.1+)))
702
da49086a
RW
703(define-public lash
704 (package
705 (name "lash")
706 (version "0.6.0-rc2")
707 (source (origin
708 (method url-fetch)
709 ;; The tilde is not permitted in the builder name, but is used
710 ;; in the tarball.
711 (uri (string-append
712 "mirror://savannah/lash/lash-"
713 (string-join (string-split version #\-) "~")
714 ".tar.bz2"))
715 (file-name (string-append name "-" version ".tar.bz2"))
716 (sha256
717 (base32
718 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
719 (build-system gnu-build-system)
720 (inputs
721 `(("bdb" ,bdb)
722 ("gtk" ,gtk+-2)
723 ("jack" ,jack-1)
da49086a
RW
724 ("readline" ,readline)
725 ("python" ,python-2)))
726 ;; According to pkg-config, packages depending on lash also need to have
727 ;; at least the following packages declared as inputs.
728 (propagated-inputs
729 `(("alsa-lib" ,alsa-lib)
730 ("dbus" ,dbus)
731 ("libxml2" ,libxml2)))
732 (native-inputs
733 `(("pkg-config" ,pkg-config)))
734 (home-page "http://www.nongnu.org/lash/")
735 (synopsis "Audio application session manager")
736 (description
737 "LASH is a session management system for audio applications. It allows
738you to save and restore audio sessions consisting of multiple interconneced
739applications, restoring program state (i.e. loaded patches) and the
740connections between them.")
741 (license license:gpl2+)))
742
8c0b5a75
TUBK
743(define-public libbs2b
744 (package
745 (name "libbs2b")
746 (version "3.1.0")
747 (source (origin
748 (method url-fetch)
749 (uri (string-append
750 "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
751 (sha256
752 (base32
753 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
754 (build-system gnu-build-system)
755 (native-inputs `(("pkg-config" ,pkg-config)))
756 (inputs `(("libsndfile" ,libsndfile)))
757 (home-page "http://sourceforge.net/projects/bs2b/")
758 (synopsis "Bauer stereophonic-to-binaural DSP")
759 (description
760 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
761designed to improve headphone listening of stereo audio records. Recommended
762for headphone prolonged listening to disable superstereo fatigue without
763essential distortions.")
764 (license license:expat)))
765
f47cba0e
RW
766(define-public liblo
767 (package
768 (name "liblo")
769 (version "0.28")
770 (source (origin
771 (method url-fetch)
772 (uri (string-append
773 "mirror://sourceforge/liblo/liblo-"
774 version
775 ".tar.gz"))
776 (sha256
777 (base32
778 "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
779 (build-system gnu-build-system)
780 (arguments
781 `(;; liblo test FAILED
782 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
783 #:tests? #f))
784 (home-page "http://liblo.sourceforge.net")
785 (synopsis "Implementation of the Open Sound Control protocol")
786 (description
787 "liblo is a lightweight library that provides an easy to use
788implementation of the Open Sound Control (OSC) protocol.")
789 (license license:lgpl2.1+)))
e2420191 790
332aad1b
RW
791(define-public lilv
792 (package
793 (name "lilv")
794 (version "0.20.0")
795 (source (origin
796 (method url-fetch)
797 (uri (string-append "http://download.drobilla.net/lilv-"
798 version
799 ".tar.bz2"))
800 (sha256
801 (base32
802 "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
803 (build-system waf-build-system)
d80ee442
TUBK
804 (arguments
805 `(#:tests? #f ; no check target
806 #:phases
807 (modify-phases %standard-phases
808 (add-before
809 'configure 'set-ldflags
810 (lambda* (#:key outputs #:allow-other-keys)
811 (setenv "LDFLAGS"
812 (string-append "-Wl,-rpath="
813 (assoc-ref outputs "out") "/lib")))))))
ff7df27d
RW
814 ;; required by lilv-0.pc
815 (propagated-inputs
816 `(("serd" ,serd)
332aad1b
RW
817 ("sord" ,sord)
818 ("sratom" ,sratom)))
ff7df27d
RW
819 (inputs
820 `(("lv2" ,lv2)))
332aad1b
RW
821 (native-inputs
822 `(("pkg-config" ,pkg-config)))
823 (home-page "http://drobilla.net/software/lilv/")
824 (synopsis "Library to simplify use of LV2 plugins in applications")
825 (description
826 "Lilv is a C library to make the use of LV2 plugins as simple as possible
827for applications. Lilv is the successor to SLV2, rewritten to be
828significantly faster and have minimal dependencies.")
829 (license license:isc)))
830
e2420191
RW
831(define-public lv2
832 (package
833 (name "lv2")
834 (version "1.10.0")
835 (source (origin
836 (method url-fetch)
837 (uri (string-append "http://lv2plug.in/spec/lv2-"
838 version
839 ".tar.bz2"))
840 (sha256
841 (base32
842 "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
843 (build-system waf-build-system)
844 (arguments
845 `(#:tests? #f ; no check target
846 #:configure-flags '("--lv2-system")))
847 (inputs
848 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
849 `(("libsndfile" ,libsndfile)))
850 (native-inputs
851 `(("pkg-config" ,pkg-config)))
852 (home-page "http://lv2plug.in/")
853 (synopsis "LV2 audio plugin specification")
854 (description
855 "LV2 is an open specification for audio plugins and host applications.
856At its core, LV2 is a simple stable interface, accompanied by extensions which
857add functionality to support the needs of increasingly powerful audio
858software.")
859 (license license:isc)))
5279eb6f 860
98247127
RW
861(define-public lv2-mda-piano
862 (package
863 (name "lv2-mda-piano")
864 (version "0.0.2")
865 (source (origin
866 (method git-fetch)
867 (uri (git-reference
f6f499b3 868 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
98247127
RW
869 (commit version)))
870 (sha256
871 (base32
872 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
873 (build-system gnu-build-system)
874 (arguments
875 `(#:make-flags (list
876 "TYPE=mdaPiano"
877 (string-append "PREFIX=" (assoc-ref %outputs "out")))
878 #:tests? #f ; no check target
879 #:phases (alist-delete 'configure %standard-phases)))
880 (inputs
881 `(("lv2" ,lv2)
882 ("lvtk" ,lvtk)))
883 (native-inputs
884 `(("pkg-config" ,pkg-config)))
885 (native-search-paths
886 (list (search-path-specification
887 (variable "LV2_PATH")
888 (files '("lib/lv2")))))
889 (home-page "http://elephly.net/lv2/mdapiano.html")
890 (synopsis "LV2 port of the mda Piano plugin")
891 (description "An LV2 port of the mda Piano VSTi.")
892 (license license:gpl3+)))
893
8fb79e3d
RW
894(define-public lv2-mda-epiano
895 (package (inherit lv2-mda-piano)
896 (name "lv2-mda-epiano")
897 (arguments
898 `(#:make-flags (list
899 "TYPE=mdaEPiano"
900 (string-append "PREFIX=" (assoc-ref %outputs "out")))
901 #:tests? #f ; no check target
902 #:phases (alist-delete 'configure %standard-phases)))
903 (home-page "http://elephly.net/lv2/mdaepiano.html")
904 (synopsis "LV2 port of the mda EPiano plugin")
905 (description "An LV2 port of the mda EPiano VSTi.")))
906
c1718190
RW
907(define-public lvtk
908 (package
909 (name "lvtk")
910 (version "1.2.0")
911 (source (origin
912 (method url-fetch)
913 (uri (string-append "https://github.com/lvtk/lvtk/archive/"
914 version
915 ".tar.gz"))
f586c877 916 (file-name (string-append name "-" version ".tar.gz"))
c1718190
RW
917 (sha256
918 (base32
919 "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
920 (build-system waf-build-system)
921 (arguments
922 `(#:tests? #f ; no check target
923 #:python ,python-2
924 #:configure-flags
925 (list (string-append "--boost-includes="
926 (assoc-ref %build-inputs "boost")
927 "/include"))))
928 (inputs
929 `(("boost" ,boost)
930 ("lv2" ,lv2)))
931 (native-inputs
932 `(("pkg-config" ,pkg-config)))
933 (home-page "https://github.com/lvtk/lvtk")
934 (synopsis "C++ libraries for LV2 plugins")
935 (description
936 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
937extensions into easy to use C++ classes. It is the successor of
938lv2-c++-tools.")
939 (license license:gpl3+)))
940
f2fac359
TUBK
941(define-public openal
942 (package
943 (name "openal")
944 (version "1.15.1")
945 (source (origin
946 (method url-fetch)
947 (uri (string-append
948 "http://kcat.strangesoft.net/openal-releases/openal-soft-"
949 version ".tar.bz2"))
950 (sha256
951 (base32
952 "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
953 (build-system cmake-build-system)
954 (arguments
955 `(#:tests? #f)) ; no check target
956 (inputs
957 `(("alsa-lib" ,alsa-lib)
958 ("pulseaudio" ,pulseaudio)))
959 (synopsis "3D audio API")
960 (description
961 "OpenAL provides capabilities for playing audio in a virtual 3D
962environment. Distance attenuation, doppler shift, and directional sound
963emitters are among the features handled by the API. More advanced effects,
964including air absorption, occlusion, and environmental reverb, are available
965through the EFX extension. It also facilitates streaming audio, multi-channel
966buffers, and audio capture.")
967 (home-page "http://kcat.strangesoft.net/openal.html")
968 (license license:lgpl2.0+)))
969
4443bb8d
RW
970(define-public patchage
971 (package
972 (name "patchage")
973 (version "1.0.0")
974 (source (origin
975 (method url-fetch)
976 (uri (string-append "http://download.drobilla.net/patchage-"
977 version
978 ".tar.bz2"))
979 (sha256
980 (base32
981 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
982 (build-system waf-build-system)
983 (arguments `(#:tests? #f)) ; no check target
984 (inputs
985 `(("alsa-lib" ,alsa-lib)
986 ("boost" ,boost)
987 ("jack" ,jack-1)
4443bb8d
RW
988 ("ganv" ,ganv)
989 ("glib" ,glib)
990 ("glibmm" ,glibmm)
991 ("gtkmm" ,gtkmm-2)
992 ("dbus" ,dbus)
993 ("dbus-glib" ,dbus-glib)))
994 (native-inputs
995 `(("pkg-config" ,pkg-config)))
996 (home-page "http://drobilla.net/software/patchage/")
997 (synopsis "Modular patch bay for audio and MIDI systems")
998 (description
999 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
1000and ALSA.")
1001 (license license:gpl3+)))
1002
57238ff2
RW
1003(define-public rubberband
1004 (package
1005 (name "rubberband")
1006 (version "1.8.1")
1007 (source (origin
1008 (method url-fetch)
1009 (uri
1010 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
1011 version
1012 ".tar.bz2"))
1013 (sha256
1014 (base32
1015 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
1016 (build-system gnu-build-system)
1017 (arguments `(#:tests? #f)) ; no check target
1018 (inputs
1019 `(("ladspa" ,ladspa)
1020 ("libsamplerate" ,libsamplerate)
1021 ("vamp" ,vamp)))
1022 (native-inputs
1023 `(("pkg-config" ,pkg-config)))
1024 (home-page "http://breakfastquay.com/rubberband/")
1025 (synopsis "Audio time-stretching and pitch-shifting library")
1026 (description
1027 "Rubber Band is a library and utility program that permits changing the
1028tempo and pitch of an audio recording independently of one another.")
1029 (license license:gpl2+)))
1030
5279eb6f
RW
1031(define-public sratom
1032 (package
1033 (name "sratom")
1034 (version "0.4.6")
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append "http://download.drobilla.net/sratom-"
1038 version
1039 ".tar.bz2"))
1040 (sha256
1041 (base32
1042 "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
1043 (build-system waf-build-system)
1044 (arguments `(#:tests? #f)) ; no check target
1045 (inputs
1046 `(("lv2" ,lv2)
1047 ("serd" ,serd)
1048 ("sord" ,sord)))
1049 (native-inputs
1050 `(("pkg-config" ,pkg-config)))
1051 (home-page "http://drobilla.net/software/sratom/")
1052 (synopsis "Library for serialising LV2 atoms to/from RDF")
1053 (description
1054 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
1055the Turtle syntax.")
1056 (license license:isc)))
f3ab6ad3
RW
1057
1058(define-public suil
1059 (package
1060 (name "suil")
1061 (version "0.8.2")
1062 (source (origin
1063 (method url-fetch)
1064 (uri (string-append "http://download.drobilla.net/suil-"
1065 version
1066 ".tar.bz2"))
1067 (sha256
1068 (base32
1069 "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
1070 (build-system waf-build-system)
1071 (arguments `(#:tests? #f)) ; no check target
1072 (inputs
1073 `(("lv2" ,lv2)
1074 ("gtk+-2" ,gtk+-2)
1075 ("qt-4" ,qt-4)))
1076 (native-inputs
1077 `(("pkg-config" ,pkg-config)))
1078 (home-page "http://drobilla.net/software/suil/")
1079 (synopsis "Library for loading and wrapping LV2 plugin UIs")
1080 (description
1081 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
1082
1083Suil makes it possible to load a UI of a toolkit in a host using another
1084toolkit. The API is designed such that hosts do not need to explicitly
1085support specific toolkits – if Suil supports a particular toolkit, then UIs in
1086that toolkit will work in all hosts that use Suil automatically.
1087
1088Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
1089 (license license:isc)))
db46f2fc 1090
9ffee457
RW
1091(define-public timidity++
1092 (package
1093 (name "timidity++")
1094 (version "2.14.0")
1095 (source (origin
1096 (method url-fetch)
1097 (uri (string-append
1098 "mirror://sourceforge/timidity/TiMidity++-"
1099 version ".tar.bz2"))
1100 (sha256
1101 (base32
1102 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
1103 (build-system gnu-build-system)
1104 (arguments
1105 '(#:configure-flags
1106 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
1107 "--enable-ncurses"
1108 "--enable-server"
1109 "--enable-alsaseq"
1110 (string-append "--with-default-path="
1111 (assoc-ref %outputs "out") "/etc/timidity"))
1112 #:phases
1113 (alist-cons-after
1114 'install 'install-config
1115 (lambda _
1116 (let ((out (string-append (assoc-ref %outputs "out")
1117 "/etc/timidity")))
1118 (mkdir-p out)
1119 (call-with-output-file
1120 (string-append out "/timidity.cfg")
1121 (lambda (port)
1122 (format port (string-append "source "
1123 (assoc-ref %build-inputs "freepats")
1124 "/share/freepats/freepats.cfg"))))))
1125 %standard-phases)))
1126 (inputs
1127 `(("alsa-lib" ,alsa-lib)
1128 ("ao" ,ao)
1129 ("flac" ,flac)
1130 ("jack" ,jack-1)
1131 ("libogg" ,libogg)
1132 ("speex" ,speex)
1133 ("ncurses" ,ncurses)
1134 ("freepats" ,freepats)))
1135 (native-inputs
1136 `(("pkg-config" ,pkg-config)))
1137 (home-page "http://timidity.sourceforge.net/")
1138 (synopsis "Software synthesizer for playing MIDI files")
1139 (description
1140 "TiMidity++ is a software synthesizer. It can play MIDI files by
1141converting them into PCM waveform data; give it a MIDI data along with digital
1142instrument data files, then it synthesizes them in real-time, and plays. It
1143can not only play sounds, but also can save the generated waveforms into hard
1144disks as various audio file formats.")
1145 (license license:gpl2+)))
1146
db46f2fc
RW
1147(define-public vamp
1148 (package
1149 (name "vamp")
1150 (version "2.5")
1151 (source (origin
1152 (method url-fetch)
1153 (uri (string-append
1154 "https://code.soundsoftware.ac.uk"
1155 "/attachments/download/690/vamp-plugin-sdk-"
1156 version
1157 ".tar.gz"))
9002e17c
TUBK
1158 (sha256
1159 (base32
1160 "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"))))
db46f2fc 1161 (build-system gnu-build-system)
9002e17c
TUBK
1162 (arguments
1163 `(#:tests? #f ; no check target
1164 #:phases
1165 (alist-cons-after
1166 'install 'remove-libvamp-hostsdk.la
1167 (lambda* (#:key outputs #:allow-other-keys)
1168 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
1169 (for-each delete-file
1170 (let ((out (assoc-ref outputs "out")))
1171 (list (string-append out "/lib/libvamp-sdk.la")
1172 (string-append out "/lib/libvamp-hostsdk.la"))))
1173 #t)
1174 %standard-phases)))
db46f2fc
RW
1175 (inputs
1176 `(("libsndfile" ,libsndfile)))
1177 (native-inputs
1178 `(("pkg-config" ,pkg-config)))
1179 (home-page "http://vamp-plugins.org")
1180 (synopsis "Modular and extensible audio processing system")
1181 (description
1182 "Vamp is an audio processing plugin system for plugins that extract
1183descriptive information from audio data — typically referred to as audio
1184analysis plugins or audio feature extraction plugins.")
1185 (license
1186 (license:x11-style
1187 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
9f1cdd9d
TUBK
1188
1189(define-public libsbsms
1190 (package
1191 (name "libsbsms")
1192 (version "2.0.2")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
1197 "/libsbsms-" version ".tar.gz"))
1198 (sha256
1199 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
1200 (build-system gnu-build-system)
1201 (native-inputs `(("automake" ,automake)))
1202 (arguments
1203 `(#:phases
1204 (alist-cons-after
1205 'unpack 'fix-ar-lib-path
1206 (lambda* (#:key inputs #:allow-other-keys)
1207 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
1208 (delete-file "ar-lib")
1209 (symlink
1210 (string-append (assoc-ref inputs "automake") "/share/automake-"
1211 ,(package-version automake) "/ar-lib")
1212 "ar-lib"))
1213 %standard-phases)))
1214 (home-page "http://sbsms.sourceforge.net/")
1215 (synopsis "Library for time stretching and pitch scaling of audio")
1216 (description
1217 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
1218stretching and pitch scaling of audio. This package contains the library.")
1219 ;; There is no explicit declaration of a license, but a COPYING file
1220 ;; containing gpl2.
1221 (license license:gpl2)))
754a98ae 1222
01b90919
SB
1223(define-public wavpack
1224 (package
1225 (name "wavpack")
1226 (version "4.70.0")
1227 (source (origin
1228 (method url-fetch)
1229 (uri (string-append "http://www.wavpack.com/"
1230 name "-" version ".tar.bz2"))
1231 (sha256
1232 (base32
1233 "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
1234 (build-system gnu-build-system)
60950faa
SB
1235 (arguments
1236 `(#:configure-flags
1237 ;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
1238 (list (string-append "--libdir=" %output "/lib"))))
01b90919
SB
1239 (home-page "http://www.wavpack.com/")
1240 (synopsis "Hybrid lossless audio codec")
1241 (description
1242 "WavPack is an audio compression format with lossless, lossy and hybrid
1243compression modes. This package contains command-line programs and library to
1244encode and decode wavpack files.")
1245 (license license:bsd-3)))
1246
a176dd7e
SB
1247(define-public libmodplug
1248 (package
1249 (name "libmodplug")
1250 (version "0.8.8.5")
1251 (source (origin
1252 (method url-fetch)
1253 (uri (string-append
1254 "mirror://sourceforge/project/modplug-xmms/"
1255 name "/" version "/" name "-" version ".tar.gz"))
1256 (sha256
1257 (base32
1258 "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"))))
1259 (build-system gnu-build-system)
1260 (home-page "http://modplug-xmms.sourceforge.net/")
1261 (synopsis "Mod file playing library")
1262 (description
1263 "Libmodplug renders mod music files as raw audio data, for playing or
1264conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
1265supported. Optional features include high-quality resampling, bass expansion,
1266surround and reverb.")
1267 (license license:public-domain)))
1268
b97b5cda
SB
1269(define-public libxmp
1270 (package
1271 (name "libxmp")
1272 (version "4.3.8")
1273 (source (origin
1274 (method url-fetch)
1275 (uri (string-append "mirror://sourceforge/xmp/libxmp/"
1276 name "-" version ".tar.gz"))
1277 (sha256
1278 (base32
1279 "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny"))))
1280 (build-system gnu-build-system)
1281 (home-page "http://xmp.sourceforge.net/")
1282 (synopsis "Module player library")
1283 (description
1284 "Libxmp is a library that renders module files to PCM data. It supports
1285over 90 mainstream and obscure module formats including Protracker (MOD),
1286Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
1287 (license license:lgpl2.1+)))
1288
3ec4bba4
SB
1289(define-public xmp
1290 (package
1291 (name "xmp")
1292 (version "4.0.10")
1293 (source (origin
1294 (method url-fetch)
1295 (uri (string-append "mirror://sourceforge/xmp/xmp/"
1296 name "-" version ".tar.gz"))
1297 (sha256
1298 (base32
1299 "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
1300 (build-system gnu-build-system)
1301 (native-inputs
1302 `(("pkg-config" ,pkg-config)))
1303 (inputs
1304 `(("libxmp" ,libxmp)
1305 ("pulseaudio" ,pulseaudio)))
1306 (home-page "http://xmp.sourceforge.net/")
1307 (synopsis "Extended module player")
1308 (description
1309 "Xmp is a portable module player that plays over 90 mainstream and
1310obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
1311Tracker 3 S3M and Impulse Tracker IT files.")
1312 (license license:gpl2+)))
1313
754a98ae
TUBK
1314(define-public soundtouch
1315 (package
1316 (name "soundtouch")
1317 (version "1.8.0")
1318 (source
1319 (origin
1320 (method url-fetch)
1321 (uri
1322 (string-append
1323 "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
1324 (sha256
1325 (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
1326 (build-system gnu-build-system)
1327 (native-inputs
1328 `(("autoconf" ,autoconf)
1329 ("automake" ,automake)
1330 ("libtool" ,libtool)
1331 ("file" ,file)))
1332 (arguments
1333 '(#:phases
722ec722
MW
1334 (alist-cons-after
1335 'unpack 'bootstrap
754a98ae 1336 (lambda _
722ec722 1337 (zero? (system* "sh" "bootstrap")))
754a98ae
TUBK
1338 %standard-phases)))
1339 (home-page "http://www.surina.net/soundtouch/")
1340 (synopsis
1341 "Audio processing library for changing tempo, pitch and playback rate")
1342 (description
1343 "SoundTouch is an audio processing library for changing the tempo, pitch
1344and playback rates of audio streams or audio files. It is intended for
1345application developers writing sound processing tools that require tempo/pitch
1346control functionality, or just for playing around with the sound effects.")
1347 (license license:lgpl2.1+)))
4bddd14c
TUBK
1348
1349(define-public soxr
1350 (package
1351 (name "soxr")
1352 (version "0.1.1")
1353 (source
1354 (origin
1355 (method url-fetch)
1356 (uri
1357 (string-append "mirror://sourceforge/soxr/soxr-" version
1358 "-Source.tar.xz"))
1359 (sha256
1360 (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
1361 (build-system cmake-build-system)
1362 (arguments '(#:tests? #f)) ;no 'check' target
1363 (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
1364 (synopsis "One-dimensional sample-rate conversion library")
1365 (description
1366 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
1367conversion. It may be used, for example, to resample PCM-encoded audio.")
1368 (license license:lgpl2.1+)))
49f36708
TUBK
1369
1370(define-public twolame
1371 (package
1372 (name "twolame")
1373 (version "0.3.13")
1374 (source
1375 (origin
1376 (method url-fetch)
1377 (uri (string-append
1378 "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
1379 (sha256
1380 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
1381 (build-system gnu-build-system)
1382 (inputs
1383 `(("libsndfile" ,libsndfile)))
1384 (native-inputs
1385 `(("perl" ,perl)
1386 ("which" ,which))) ;used in tests/test.pl
1387 (home-page "http://www.twolame.org/")
1388 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
1389 (description
1390 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
1391tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
1392portions of LAME.")
1393 (license license:lgpl2.1+)))
bd4464f2
TUBK
1394
1395(define-public portaudio
1396 (package
1397 (name "portaudio")
1398 (version "19.20140130")
1399 (source
1400 (origin
1401 (method url-fetch)
1402 (uri (string-append
1403 "http://www.portaudio.com/archives/pa_stable_v"
1404 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
1405 ".tgz"))
1406 (sha256
b47be021
TUBK
1407 (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
1408 (patches (list (search-patch "portaudio-audacity-compat.patch")))))
bd4464f2
TUBK
1409 (build-system gnu-build-system)
1410 (inputs
1411 ;; TODO: Add ASIHPI.
1412 `(("alsa-lib" ,alsa-lib)
1413 ("jack" ,jack-2)))
1414 (native-inputs
b47be021
TUBK
1415 `(("autoconf" ,autoconf)
1416 ("automake" ,automake)
1417 ("libtool" ,libtool)
1418 ("pkg-config" ,pkg-config)))
1419 (arguments
1420 '(#:phases
1421 ;; Autoreconf is necessary because the audacity-compat patch modifies
1422 ;; .in files.
1423 (alist-cons-after
1424 'unpack 'autoreconf
1425 (lambda _
1426 (zero? (system* "autoreconf" "-vif")))
1427 %standard-phases)
1428 #:tests? #f)) ;no 'check' target
bd4464f2
TUBK
1429 (home-page "http://www.portaudio.com/")
1430 (synopsis "Audio I/O library")
1431 (description
1432 "PortAudio is a portable C/C++ audio I/O library providing a simple API
1433to record and/or play sound using a callback function or a blocking read/write
1434interface.")
1435 (license license:expat)))
74bbf894 1436
55b596c3
TUBK
1437(define-public rsound
1438 (package
1439 (name "rsound")
1440 (version "1.1")
1441 (source
1442 (origin
1443 (method url-fetch)
1444 (uri (string-append "https://github.com/Themaister/RSound/archive/v"
1445 version ".tar.gz"))
1446 (sha256
1447 (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
1448 (build-system gnu-build-system)
1449 (inputs
1450 `(("alsa-lib" ,alsa-lib)
1451 ("jack" ,jack-2)
1452 ("ao" ,ao)
1453 ("libsamplerate" ,libsamplerate)
1454 ("openal" ,openal)
1455 ("portaudio" ,portaudio)
1456 ("pulseaudio" ,pulseaudio)))
1457 (arguments
1458 '(#:phases
1459 (alist-replace
1460 'configure
1461 (lambda* (#:key outputs #:allow-other-keys)
1462 (setenv "CC" "gcc")
1463 (zero?
1464 (system* "./configure"
1465 (string-append "--prefix=" (assoc-ref outputs "out")))))
1466 %standard-phases)
1467 ;; No 'check' target.
1468 #:tests? #f))
1469 (home-page "http://themaister.net/rsound.html")
1470 (synopsis "Networked audio system")
1471 (description
1472 "RSound allows you to send audio from an application and transfer it
1473directly to a different computer on your LAN network. It is an audio daemon
1474with a much different focus than most other audio daemons.")
1475 (license license:gpl3+)))
1476
d73f7909
RW
1477(define-public zita-convolver
1478 (package
1479 (name "zita-convolver")
1480 (version "3.1.0")
1481 (source (origin
1482 (method url-fetch)
1483 (uri (string-append
1484 "http://kokkinizita.linuxaudio.org"
1485 "/linuxaudio/downloads/zita-convolver-"
1486 version ".tar.bz2"))
1487 (sha256
1488 (base32
1489 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
1490 (build-system gnu-build-system)
1491 (arguments
1492 `(#:tests? #f ; no "check" target
1493 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1494 #:phases
1495 (alist-cons-after
1496 'unpack 'patch-makefile-and-enter-directory
1497 (lambda _
1498 (substitute* "libs/Makefile"
1499 (("ldconfig") "true")
1500 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1501 (chdir "libs") #t)
1502 (alist-cons-after
1503 'install
1504 'install-symlink
1505 (lambda _
1506 (symlink "libzita-convolver.so"
1507 (string-append (assoc-ref %outputs "out")
1508 "/lib/libzita-convolver.so.3")))
1509 ;; no configure script
1510 (alist-delete 'configure %standard-phases)))))
1511 (inputs `(("fftwf" ,fftwf)))
1512 (home-page "http://kokkinizita.linuxaudio.org")
1513 (synopsis "Fast, partitioned convolution engine library")
1514 (description
1515 "Zita convolver is a C++ library providing a real-time convolution
1516engine.")
1517 (license license:gpl3+)))
1518
74bbf894
RW
1519(define-public zita-alsa-pcmi
1520 (package
1521 (name "zita-alsa-pcmi")
1522 (version "0.2.0")
1523 (source (origin
1524 (method url-fetch)
1525 (uri (string-append
1526 "http://kokkinizita.linuxaudio.org"
1527 "/linuxaudio/downloads/zita-alsa-pcmi-"
1528 version ".tar.bz2"))
1529 (sha256
1530 (base32
9569dfc8 1531 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
74bbf894
RW
1532 (build-system gnu-build-system)
1533 (arguments
1534 `(#:tests? #f ; no "check" target
1535 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1536 #:phases
1537 (alist-cons-after
9569dfc8
RW
1538 'unpack 'patch-makefile-and-enter-directory
1539 (lambda _
1540 (substitute* "libs/Makefile"
1541 (("ldconfig") "true")
1542 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1543 (chdir "libs")
1544 #t)
74bbf894
RW
1545 (alist-cons-after
1546 'install
1547 'install-symlink
1548 (lambda _
1549 (symlink "libzita-alsa-pcmi.so"
1550 (string-append (assoc-ref %outputs "out")
1551 "/lib/libzita-alsa-pcmi.so.0")))
1552 ;; no configure script
1553 (alist-delete 'configure %standard-phases)))))
1554 (inputs
1555 `(("alsa-lib" ,alsa-lib)
1556 ("fftw" ,fftw)))
1557 (home-page "http://kokkinizita.linuxaudio.org")
1558 (synopsis "C++ wrapper around the ALSA API")
1559 (description
1560 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
1561access to ALSA PCM devices, taking care of the many functions required to
1562open, initialise and use a hw: device in mmap mode, and providing floating
1563point audio data.")
1564 (license license:gpl3+)))