Merge branch 'master' into core-updates
[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
88efb2c3
RW
131(define-public ardour
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
143 '(call-with-output-file
144 "libs/ardour/revision.cc"
145 (lambda (port)
146 (format port "#include \"ardour/revision.h\"
147namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
148 (sha256
149 (base32
150 "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
151 (file-name (string-append name "-" version))))
152 (build-system waf-build-system)
153 (arguments
154 `(#:tests? #f ; no check target
155 #:python ,python-2))
156 (inputs
157 `(("alsa-lib" ,alsa-lib)
158 ("aubio" ,aubio)
159 ("lrdf" ,lrdf)
160 ("boost" ,boost)
161 ("atkmm" ,atkmm)
162 ("cairomm" ,cairomm)
163 ("gtkmm" ,gtkmm-2)
164 ("glibmm" ,glibmm)
165 ("libart-lgpl" ,libart-lgpl)
166 ("libgnomecanvasmm" ,libgnomecanvasmm)
167 ("pangomm" ,pangomm)
168 ("liblo" ,liblo)
169 ("libsndfile" ,libsndfile)
170 ("libsamplerate" ,libsamplerate)
171 ("libxml2" ,libxml2)
172 ("libogg" ,libogg)
173 ("libvorbis" ,libvorbis)
174 ("flac" ,flac)
175 ("lv2" ,lv2)
176 ("vamp" ,vamp)
177 ("curl" ,curl)
88efb2c3
RW
178 ("fftw" ,fftw)
179 ("fftwf" ,fftwf)
180 ("jack" ,jack-1)
181 ("serd" ,serd)
182 ("sord" ,sord)
183 ("sratom" ,sratom)
184 ("suil" ,suil)
185 ("lilv" ,lilv)
186 ("rasqal" ,rasqal)
187 ("raptor2" ,raptor2)
188 ("redland" ,redland)
189 ("rubberband" ,rubberband)
190 ("taglib" ,taglib)
191 ("python-rdflib" ,python-rdflib)))
192 (native-inputs
193 `(("perl" ,perl)
194 ("pkg-config" ,pkg-config)))
195 (home-page "http://ardour.org")
196 (synopsis "Digital audio workstation")
197 (description
198 "Ardour is a multi-channel digital audio workstation, allowing users to
199record, edit, mix and master audio and MIDI projects. It is targeted at audio
200engineers, musicians, soundtrack editors and composers.")
201 (license license:gpl2+)))
202
497e9a82
RW
203(define-public azr3
204 (package
205 (name "azr3")
206 (version "1.2.3")
207 (source (origin
208 (method url-fetch)
209 (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
210 version
211 ".tar.bz2"))
212 (sha256
213 (base32
214 "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))))
215 (build-system gnu-build-system)
216 (arguments
217 `(#:tests? #f ; no check target
218 #:make-flags
219 (list "LV2PEG=ttl2c"
220 (string-append "prefix=" %output)
221 (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
222 (inputs
223 `(("gtkmm" ,gtkmm-2)
224 ("lvtk" ,lvtk)
225 ("jack" ,jack-1)
f753846b 226 ("lash" ,lash)))
497e9a82
RW
227 (native-inputs
228 `(("pkg-config" ,pkg-config)))
229 (home-page "http://ll-plugins.nongnu.org/azr3/")
230 (synopsis "Tonewheel organ synthesizer")
231 (description
232 "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
233with drawbars, distortion and rotating speakers. The organ has three
234sections, two polyphonic sections with nine drawbars each and one monophonic
235bass section with five drawbars. A standalone JACK application and LV2
236plugins are provided.")
237 (license license:gpl2)))
238
fda85ca6
RW
239(define-public csound
240 (package
241 (name "csound")
242 (version "6.04")
243 (source (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://sourceforge/csound/csound6/Csound"
247 version "/Csound" version ".tar.gz"))
248 (sha256
249 (base32
250 "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g"))))
251 (build-system cmake-build-system)
252 (inputs
253 `(("alsa-lib" ,alsa-lib)
254 ("boost" ,boost)
255 ("pulseaudio" ,pulseaudio)
256 ("libsndfile" ,libsndfile)
257 ("liblo" ,liblo)
258 ("ladspa" ,ladspa)
259 ("jack" ,jack-1)
260 ("gettext" ,gnu-gettext)))
261 (native-inputs
262 `(("bison" ,bison)
263 ("flex" ,flex)
264 ("zlib" ,zlib)))
265 (home-page "http://csound.github.io/")
266 (synopsis "Sound and music computing system")
267 (description
268 "Csound is a user-programmable and user-extensible sound processing
269language and software synthesizer.")
270 (license license:lgpl2.1+)))
271
631ac903
RW
272(define-public clalsadrv
273 (package
274 (name "clalsadrv")
275 (version "2.0.0")
276 (source (origin
277 (method url-fetch)
278 (uri (string-append
279 "http://kokkinizita.linuxaudio.org"
280 "/linuxaudio/downloads/clalsadrv-"
281 version ".tar.bz2"))
282 (sha256
283 (base32
9de2e43c 284 "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
631ac903
RW
285 (build-system gnu-build-system)
286 (arguments
287 `(#:tests? #f ; no "check" target
288 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
289 #:phases
290 (alist-cons-after
9de2e43c
RW
291 'unpack 'patch-makefile-and-enter-directory
292 (lambda _
293 (substitute* "libs/Makefile"
294 (("/sbin/ldconfig") "true")
295 (("^LIBDIR =.*") "LIBDIR = lib\n"))
296 (chdir "libs")
297 #t)
631ac903
RW
298 (alist-cons-after
299 'install
300 'install-symlink
301 (lambda _
302 (symlink "libclalsadrv.so"
303 (string-append (assoc-ref %outputs "out")
304 "/lib/libclalsadrv.so.2")))
305 ;; no configure script
306 (alist-delete 'configure %standard-phases)))))
307 (inputs
308 `(("alsa-lib" ,alsa-lib)
309 ("fftw" ,fftw)))
310 (home-page "http://kokkinizita.linuxaudio.org")
311 (synopsis "C++ wrapper around the ALSA API")
312 (description
313 "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
314ALSA PCM devices.")
315 (license license:gpl2+)))
316
70fc29d9
TUBK
317(define-public faad2
318 (package
319 (name "faad2")
320 (version "2.7")
321 (source (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://sourceforge/faac/faad2-" version ".zip"))
325 (sha256
326 (base32
327 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
328 (build-system gnu-build-system)
329 (native-inputs
330 `(("autoconf" ,autoconf)
331 ("automake" ,automake)
332 ("libtool" ,libtool)
333 ("unzip" ,unzip)))
334 (arguments
335 '(#:phases
336 (alist-cons-after
337 'unpack 'bootstrap
338 (lambda _
339 (substitute* "bootstrap" (("\r\n") "\n"))
340 (zero? (system* "sh" "bootstrap")))
341 %standard-phases)))
342 (home-page "http://www.audiocoding.com/faad2.html")
343 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
344 (description
345 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
346PS, and DAB+.")
347 (license license:gpl2)))
348
7c92efff
RW
349(define-public freepats
350 (package
351 (name "freepats")
352 (version "20060219")
353 (source (origin
354 (method url-fetch)
355 (uri (string-append "http://freepats.zenvoid.org/freepats-"
356 version ".tar.bz2"))
357 (sha256
358 (base32
359 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
360 (build-system trivial-build-system)
361 (arguments
362 `(#:modules ((guix build utils))
363 #:builder (begin
364 (use-modules (guix build utils))
365 (let ((out (string-append %output "/share/freepats")))
366 (setenv "PATH" (string-append
367 (assoc-ref %build-inputs "bzip2") "/bin:"
368 (assoc-ref %build-inputs "tar") "/bin"))
369 (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
370 (chdir "freepats")
371 ;; Use absolute pattern references
372 (substitute* "freepats.cfg"
373 (("Tone_000") (string-append out "/Tone_000"))
374 (("Drum_000") (string-append out "/Drum_000")))
375 (mkdir-p out)
376 (copy-recursively "." out)))))
377 (native-inputs
378 `(("tar" ,tar)
379 ("bzip2" ,bzip2)))
380 (home-page "http://freepats.zenvoid.org")
381 (synopsis "GUS compatible patches for MIDI players")
382 (description
383 "FreePats is a project to create a free and open set of GUS compatible
384patches that can be used with softsynths such as Timidity and WildMidi.")
385 ;; GPLv2+ with exception for compositions using these patches.
386 (license license:gpl2+)))
387
fb68469f
RW
388(define-public jack-1
389 (package
390 (name "jack")
391 (version "0.124.1")
392 (source (origin
393 (method url-fetch)
394 (uri (string-append
395 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
396 version
397 ".tar.gz"))
398 (sha256
399 (base32
400 "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"))))
401 (build-system gnu-build-system)
402 (inputs
2f9ae82f
RW
403 `(("alsa-lib" ,alsa-lib)
404 ("bdb" ,bdb)
5d95e30b
RW
405 ("readline" ,readline)))
406 ;; uuid.h is included in the JACK type headers
407 (propagated-inputs
408 `(("libuuid" ,util-linux)))
2f9ae82f
RW
409 (native-inputs
410 `(("pkg-config" ,pkg-config)))
fb68469f
RW
411 (home-page "http://jackaudio.org/")
412 (synopsis "JACK audio connection kit")
413 (description
414 "JACK is a low-latency audio server. It can connect a number of
415different applications to an audio device, as well as allowing them to share
416audio between themselves. JACK is different from other audio server efforts
417in that it has been designed from the ground up to be suitable for
418professional audio work. This means that it focuses on two key areas:
419synchronous execution of all clients, and low latency operation.")
420 ;; Most files are licensed under the GPL. However, the libjack/ tree is
421 ;; licensed under the LGPL in order to allow for proprietary usage.
e89fa047 422 (license (list license:gpl2+ license:lgpl2.1+))))
c54a8981
RW
423
424(define-public jack-2
425 (package (inherit jack-1)
314275c7 426 (name "jack2")
c54a8981
RW
427 (version "1.9.10")
428 (source (origin
429 (method url-fetch)
430 (uri (string-append
431 "https://github.com/jackaudio/jack2/archive/v"
432 version
433 ".tar.gz"))
f586c877 434 (file-name (string-append name "-" version ".tar.gz"))
c54a8981
RW
435 (sha256
436 (base32
437 "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
438 (build-system waf-build-system)
439 (arguments
440 `(#:tests? #f ; no check target
441 #:configure-flags '("--dbus"
442 "--alsa")))
443 (inputs
444 `(("alsa-lib" ,alsa-lib)
445 ("dbus" ,dbus)
446 ("expat" ,expat)
447 ("libsamplerate" ,libsamplerate)
448 ("opus" ,opus)
449 ("readline" ,readline)))
450 (native-inputs
451 `(("pkg-config" ,pkg-config)))
452 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
453 (license (list license:gpl2+ license:lgpl2.1+))))
f47cba0e 454
2f4646b6
RW
455(define-public jalv
456 (package
457 (name "jalv")
458 (version "1.4.6")
459 (source (origin
460 (method url-fetch)
461 (uri (string-append "http://download.drobilla.net/jalv-"
462 version ".tar.bz2"))
463 (sha256
464 (base32
465 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
466 (build-system waf-build-system)
467 (arguments `(#:tests? #f)) ; no check target
468 (inputs
469 `(("lv2" ,lv2)
470 ("lilv" ,lilv)
471 ("suil" ,suil)
472 ("gtk" ,gtk+-2)
473 ("gtkmm" ,gtkmm-2)
474 ("qt" ,qt-4)
475 ("jack" ,jack-1)))
476 (native-inputs
477 `(("pkg-config" ,pkg-config)))
478 (home-page "http://drobilla.net/software/jalv/")
479 (synopsis "Simple LV2 host for JACK")
480 (description
481 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
482plugins and exposes their ports as JACK ports, essentially making any LV2
483plugin function as a JACK application.")
484 (license license:isc)))
485
2cc7ce31
RW
486(define-public ladspa
487 (package
488 (name "ladspa")
489 (version "1.13")
490 (source (origin
491 (method url-fetch)
492 (uri (string-append
493 "http://www.ladspa.org/download/ladspa_sdk_"
494 version
495 ".tgz"))
496 (sha256
497 (base32
498 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
499 (build-system gnu-build-system)
500 (arguments
501 `(#:tests? #f ; the "test" target is a listening test only
502 #:phases
503 (alist-replace
504 'configure
505 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
506 (chdir "src")
507 (let ((out (assoc-ref outputs "out")))
508 (substitute* "makefile"
509 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
510 (("/usr/include/") (string-append out "/include/"))
511 (("/usr/bin/") (string-append out "/bin/"))
512 (("-mkdirhier") "mkdir -p")
513 (("^CC.*") "CC = gcc\n")
514 (("^CPP.*") "CPP = g++\n"))))
515 (alist-delete 'build %standard-phases))))
516 (home-page "http://ladspa.org")
517 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
518 (description
519 "LADSPA is a standard that allows software audio processors and effects
520to be plugged into a wide range of audio synthesis and recording packages.")
521 (license license:lgpl2.1+)))
522
da49086a
RW
523(define-public lash
524 (package
525 (name "lash")
526 (version "0.6.0-rc2")
527 (source (origin
528 (method url-fetch)
529 ;; The tilde is not permitted in the builder name, but is used
530 ;; in the tarball.
531 (uri (string-append
532 "mirror://savannah/lash/lash-"
533 (string-join (string-split version #\-) "~")
534 ".tar.bz2"))
535 (file-name (string-append name "-" version ".tar.bz2"))
536 (sha256
537 (base32
538 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
539 (build-system gnu-build-system)
540 (inputs
541 `(("bdb" ,bdb)
542 ("gtk" ,gtk+-2)
543 ("jack" ,jack-1)
da49086a
RW
544 ("readline" ,readline)
545 ("python" ,python-2)))
546 ;; According to pkg-config, packages depending on lash also need to have
547 ;; at least the following packages declared as inputs.
548 (propagated-inputs
549 `(("alsa-lib" ,alsa-lib)
550 ("dbus" ,dbus)
551 ("libxml2" ,libxml2)))
552 (native-inputs
553 `(("pkg-config" ,pkg-config)))
554 (home-page "http://www.nongnu.org/lash/")
555 (synopsis "Audio application session manager")
556 (description
557 "LASH is a session management system for audio applications. It allows
558you to save and restore audio sessions consisting of multiple interconneced
559applications, restoring program state (i.e. loaded patches) and the
560connections between them.")
561 (license license:gpl2+)))
562
8c0b5a75
TUBK
563(define-public libbs2b
564 (package
565 (name "libbs2b")
566 (version "3.1.0")
567 (source (origin
568 (method url-fetch)
569 (uri (string-append
570 "mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
571 (sha256
572 (base32
573 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
574 (build-system gnu-build-system)
575 (native-inputs `(("pkg-config" ,pkg-config)))
576 (inputs `(("libsndfile" ,libsndfile)))
577 (home-page "http://sourceforge.net/projects/bs2b/")
578 (synopsis "Bauer stereophonic-to-binaural DSP")
579 (description
580 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
581designed to improve headphone listening of stereo audio records. Recommended
582for headphone prolonged listening to disable superstereo fatigue without
583essential distortions.")
584 (license license:expat)))
585
f47cba0e
RW
586(define-public liblo
587 (package
588 (name "liblo")
589 (version "0.28")
590 (source (origin
591 (method url-fetch)
592 (uri (string-append
593 "mirror://sourceforge/liblo/liblo-"
594 version
595 ".tar.gz"))
596 (sha256
597 (base32
598 "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
599 (build-system gnu-build-system)
600 (arguments
601 `(;; liblo test FAILED
602 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
603 #:tests? #f))
604 (home-page "http://liblo.sourceforge.net")
605 (synopsis "Implementation of the Open Sound Control protocol")
606 (description
607 "liblo is a lightweight library that provides an easy to use
608implementation of the Open Sound Control (OSC) protocol.")
609 (license license:lgpl2.1+)))
e2420191 610
332aad1b
RW
611(define-public lilv
612 (package
613 (name "lilv")
614 (version "0.20.0")
615 (source (origin
616 (method url-fetch)
617 (uri (string-append "http://download.drobilla.net/lilv-"
618 version
619 ".tar.bz2"))
620 (sha256
621 (base32
622 "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
623 (build-system waf-build-system)
624 (arguments `(#:tests? #f)) ; no check target
ff7df27d
RW
625 ;; required by lilv-0.pc
626 (propagated-inputs
627 `(("serd" ,serd)
332aad1b
RW
628 ("sord" ,sord)
629 ("sratom" ,sratom)))
ff7df27d
RW
630 (inputs
631 `(("lv2" ,lv2)))
332aad1b
RW
632 (native-inputs
633 `(("pkg-config" ,pkg-config)))
634 (home-page "http://drobilla.net/software/lilv/")
635 (synopsis "Library to simplify use of LV2 plugins in applications")
636 (description
637 "Lilv is a C library to make the use of LV2 plugins as simple as possible
638for applications. Lilv is the successor to SLV2, rewritten to be
639significantly faster and have minimal dependencies.")
640 (license license:isc)))
641
e2420191
RW
642(define-public lv2
643 (package
644 (name "lv2")
645 (version "1.10.0")
646 (source (origin
647 (method url-fetch)
648 (uri (string-append "http://lv2plug.in/spec/lv2-"
649 version
650 ".tar.bz2"))
651 (sha256
652 (base32
653 "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
654 (build-system waf-build-system)
655 (arguments
656 `(#:tests? #f ; no check target
657 #:configure-flags '("--lv2-system")))
658 (inputs
659 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
660 `(("libsndfile" ,libsndfile)))
661 (native-inputs
662 `(("pkg-config" ,pkg-config)))
663 (home-page "http://lv2plug.in/")
664 (synopsis "LV2 audio plugin specification")
665 (description
666 "LV2 is an open specification for audio plugins and host applications.
667At its core, LV2 is a simple stable interface, accompanied by extensions which
668add functionality to support the needs of increasingly powerful audio
669software.")
670 (license license:isc)))
5279eb6f 671
98247127
RW
672(define-public lv2-mda-piano
673 (package
674 (name "lv2-mda-piano")
675 (version "0.0.2")
676 (source (origin
677 (method git-fetch)
678 (uri (git-reference
f6f499b3 679 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
98247127
RW
680 (commit version)))
681 (sha256
682 (base32
683 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
684 (build-system gnu-build-system)
685 (arguments
686 `(#:make-flags (list
687 "TYPE=mdaPiano"
688 (string-append "PREFIX=" (assoc-ref %outputs "out")))
689 #:tests? #f ; no check target
690 #:phases (alist-delete 'configure %standard-phases)))
691 (inputs
692 `(("lv2" ,lv2)
693 ("lvtk" ,lvtk)))
694 (native-inputs
695 `(("pkg-config" ,pkg-config)))
696 (native-search-paths
697 (list (search-path-specification
698 (variable "LV2_PATH")
699 (files '("lib/lv2")))))
700 (home-page "http://elephly.net/lv2/mdapiano.html")
701 (synopsis "LV2 port of the mda Piano plugin")
702 (description "An LV2 port of the mda Piano VSTi.")
703 (license license:gpl3+)))
704
8fb79e3d
RW
705(define-public lv2-mda-epiano
706 (package (inherit lv2-mda-piano)
707 (name "lv2-mda-epiano")
708 (arguments
709 `(#:make-flags (list
710 "TYPE=mdaEPiano"
711 (string-append "PREFIX=" (assoc-ref %outputs "out")))
712 #:tests? #f ; no check target
713 #:phases (alist-delete 'configure %standard-phases)))
714 (home-page "http://elephly.net/lv2/mdaepiano.html")
715 (synopsis "LV2 port of the mda EPiano plugin")
716 (description "An LV2 port of the mda EPiano VSTi.")))
717
c1718190
RW
718(define-public lvtk
719 (package
720 (name "lvtk")
721 (version "1.2.0")
722 (source (origin
723 (method url-fetch)
724 (uri (string-append "https://github.com/lvtk/lvtk/archive/"
725 version
726 ".tar.gz"))
f586c877 727 (file-name (string-append name "-" version ".tar.gz"))
c1718190
RW
728 (sha256
729 (base32
730 "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
731 (build-system waf-build-system)
732 (arguments
733 `(#:tests? #f ; no check target
734 #:python ,python-2
735 #:configure-flags
736 (list (string-append "--boost-includes="
737 (assoc-ref %build-inputs "boost")
738 "/include"))))
739 (inputs
740 `(("boost" ,boost)
741 ("lv2" ,lv2)))
742 (native-inputs
743 `(("pkg-config" ,pkg-config)))
744 (home-page "https://github.com/lvtk/lvtk")
745 (synopsis "C++ libraries for LV2 plugins")
746 (description
747 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
748extensions into easy to use C++ classes. It is the successor of
749lv2-c++-tools.")
750 (license license:gpl3+)))
751
f2fac359
TUBK
752(define-public openal
753 (package
754 (name "openal")
755 (version "1.15.1")
756 (source (origin
757 (method url-fetch)
758 (uri (string-append
759 "http://kcat.strangesoft.net/openal-releases/openal-soft-"
760 version ".tar.bz2"))
761 (sha256
762 (base32
763 "0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
764 (build-system cmake-build-system)
765 (arguments
766 `(#:tests? #f)) ; no check target
767 (inputs
768 `(("alsa-lib" ,alsa-lib)
769 ("pulseaudio" ,pulseaudio)))
770 (synopsis "3D audio API")
771 (description
772 "OpenAL provides capabilities for playing audio in a virtual 3D
773environment. Distance attenuation, doppler shift, and directional sound
774emitters are among the features handled by the API. More advanced effects,
775including air absorption, occlusion, and environmental reverb, are available
776through the EFX extension. It also facilitates streaming audio, multi-channel
777buffers, and audio capture.")
778 (home-page "http://kcat.strangesoft.net/openal.html")
779 (license license:lgpl2.0+)))
780
4443bb8d
RW
781(define-public patchage
782 (package
783 (name "patchage")
784 (version "1.0.0")
785 (source (origin
786 (method url-fetch)
787 (uri (string-append "http://download.drobilla.net/patchage-"
788 version
789 ".tar.bz2"))
790 (sha256
791 (base32
792 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
793 (build-system waf-build-system)
794 (arguments `(#:tests? #f)) ; no check target
795 (inputs
796 `(("alsa-lib" ,alsa-lib)
797 ("boost" ,boost)
798 ("jack" ,jack-1)
4443bb8d
RW
799 ("ganv" ,ganv)
800 ("glib" ,glib)
801 ("glibmm" ,glibmm)
802 ("gtkmm" ,gtkmm-2)
803 ("dbus" ,dbus)
804 ("dbus-glib" ,dbus-glib)))
805 (native-inputs
806 `(("pkg-config" ,pkg-config)))
807 (home-page "http://drobilla.net/software/patchage/")
808 (synopsis "Modular patch bay for audio and MIDI systems")
809 (description
810 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
811and ALSA.")
812 (license license:gpl3+)))
813
57238ff2
RW
814(define-public rubberband
815 (package
816 (name "rubberband")
817 (version "1.8.1")
818 (source (origin
819 (method url-fetch)
820 (uri
821 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
822 version
823 ".tar.bz2"))
824 (sha256
825 (base32
826 "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
827 (build-system gnu-build-system)
828 (arguments `(#:tests? #f)) ; no check target
829 (inputs
830 `(("ladspa" ,ladspa)
831 ("libsamplerate" ,libsamplerate)
832 ("vamp" ,vamp)))
833 (native-inputs
834 `(("pkg-config" ,pkg-config)))
835 (home-page "http://breakfastquay.com/rubberband/")
836 (synopsis "Audio time-stretching and pitch-shifting library")
837 (description
838 "Rubber Band is a library and utility program that permits changing the
839tempo and pitch of an audio recording independently of one another.")
840 (license license:gpl2+)))
841
5279eb6f
RW
842(define-public sratom
843 (package
844 (name "sratom")
845 (version "0.4.6")
846 (source (origin
847 (method url-fetch)
848 (uri (string-append "http://download.drobilla.net/sratom-"
849 version
850 ".tar.bz2"))
851 (sha256
852 (base32
853 "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
854 (build-system waf-build-system)
855 (arguments `(#:tests? #f)) ; no check target
856 (inputs
857 `(("lv2" ,lv2)
858 ("serd" ,serd)
859 ("sord" ,sord)))
860 (native-inputs
861 `(("pkg-config" ,pkg-config)))
862 (home-page "http://drobilla.net/software/sratom/")
863 (synopsis "Library for serialising LV2 atoms to/from RDF")
864 (description
865 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
866the Turtle syntax.")
867 (license license:isc)))
f3ab6ad3
RW
868
869(define-public suil
870 (package
871 (name "suil")
872 (version "0.8.2")
873 (source (origin
874 (method url-fetch)
875 (uri (string-append "http://download.drobilla.net/suil-"
876 version
877 ".tar.bz2"))
878 (sha256
879 (base32
880 "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
881 (build-system waf-build-system)
882 (arguments `(#:tests? #f)) ; no check target
883 (inputs
884 `(("lv2" ,lv2)
885 ("gtk+-2" ,gtk+-2)
886 ("qt-4" ,qt-4)))
887 (native-inputs
888 `(("pkg-config" ,pkg-config)))
889 (home-page "http://drobilla.net/software/suil/")
890 (synopsis "Library for loading and wrapping LV2 plugin UIs")
891 (description
892 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
893
894Suil makes it possible to load a UI of a toolkit in a host using another
895toolkit. The API is designed such that hosts do not need to explicitly
896support specific toolkits – if Suil supports a particular toolkit, then UIs in
897that toolkit will work in all hosts that use Suil automatically.
898
899Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
900 (license license:isc)))
db46f2fc 901
9ffee457
RW
902(define-public timidity++
903 (package
904 (name "timidity++")
905 (version "2.14.0")
906 (source (origin
907 (method url-fetch)
908 (uri (string-append
909 "mirror://sourceforge/timidity/TiMidity++-"
910 version ".tar.bz2"))
911 (sha256
912 (base32
913 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
914 (build-system gnu-build-system)
915 (arguments
916 '(#:configure-flags
917 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
918 "--enable-ncurses"
919 "--enable-server"
920 "--enable-alsaseq"
921 (string-append "--with-default-path="
922 (assoc-ref %outputs "out") "/etc/timidity"))
923 #:phases
924 (alist-cons-after
925 'install 'install-config
926 (lambda _
927 (let ((out (string-append (assoc-ref %outputs "out")
928 "/etc/timidity")))
929 (mkdir-p out)
930 (call-with-output-file
931 (string-append out "/timidity.cfg")
932 (lambda (port)
933 (format port (string-append "source "
934 (assoc-ref %build-inputs "freepats")
935 "/share/freepats/freepats.cfg"))))))
936 %standard-phases)))
937 (inputs
938 `(("alsa-lib" ,alsa-lib)
939 ("ao" ,ao)
940 ("flac" ,flac)
941 ("jack" ,jack-1)
942 ("libogg" ,libogg)
943 ("speex" ,speex)
944 ("ncurses" ,ncurses)
945 ("freepats" ,freepats)))
946 (native-inputs
947 `(("pkg-config" ,pkg-config)))
948 (home-page "http://timidity.sourceforge.net/")
949 (synopsis "Software synthesizer for playing MIDI files")
950 (description
951 "TiMidity++ is a software synthesizer. It can play MIDI files by
952converting them into PCM waveform data; give it a MIDI data along with digital
953instrument data files, then it synthesizes them in real-time, and plays. It
954can not only play sounds, but also can save the generated waveforms into hard
955disks as various audio file formats.")
956 (license license:gpl2+)))
957
db46f2fc
RW
958(define-public vamp
959 (package
960 (name "vamp")
961 (version "2.5")
962 (source (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://code.soundsoftware.ac.uk"
966 "/attachments/download/690/vamp-plugin-sdk-"
967 version
968 ".tar.gz"))
9002e17c
TUBK
969 (sha256
970 (base32
971 "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"))))
db46f2fc 972 (build-system gnu-build-system)
9002e17c
TUBK
973 (arguments
974 `(#:tests? #f ; no check target
975 #:phases
976 (alist-cons-after
977 'install 'remove-libvamp-hostsdk.la
978 (lambda* (#:key outputs #:allow-other-keys)
979 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
980 (for-each delete-file
981 (let ((out (assoc-ref outputs "out")))
982 (list (string-append out "/lib/libvamp-sdk.la")
983 (string-append out "/lib/libvamp-hostsdk.la"))))
984 #t)
985 %standard-phases)))
db46f2fc
RW
986 (inputs
987 `(("libsndfile" ,libsndfile)))
988 (native-inputs
989 `(("pkg-config" ,pkg-config)))
990 (home-page "http://vamp-plugins.org")
991 (synopsis "Modular and extensible audio processing system")
992 (description
993 "Vamp is an audio processing plugin system for plugins that extract
994descriptive information from audio data — typically referred to as audio
995analysis plugins or audio feature extraction plugins.")
996 (license
997 (license:x11-style
998 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
9f1cdd9d
TUBK
999
1000(define-public libsbsms
1001 (package
1002 (name "libsbsms")
1003 (version "2.0.2")
1004 (source
1005 (origin
1006 (method url-fetch)
1007 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
1008 "/libsbsms-" version ".tar.gz"))
1009 (sha256
1010 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
1011 (build-system gnu-build-system)
1012 (native-inputs `(("automake" ,automake)))
1013 (arguments
1014 `(#:phases
1015 (alist-cons-after
1016 'unpack 'fix-ar-lib-path
1017 (lambda* (#:key inputs #:allow-other-keys)
1018 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
1019 (delete-file "ar-lib")
1020 (symlink
1021 (string-append (assoc-ref inputs "automake") "/share/automake-"
1022 ,(package-version automake) "/ar-lib")
1023 "ar-lib"))
1024 %standard-phases)))
1025 (home-page "http://sbsms.sourceforge.net/")
1026 (synopsis "Library for time stretching and pitch scaling of audio")
1027 (description
1028 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
1029stretching and pitch scaling of audio. This package contains the library.")
1030 ;; There is no explicit declaration of a license, but a COPYING file
1031 ;; containing gpl2.
1032 (license license:gpl2)))
754a98ae 1033
01b90919
SB
1034(define-public wavpack
1035 (package
1036 (name "wavpack")
1037 (version "4.70.0")
1038 (source (origin
1039 (method url-fetch)
1040 (uri (string-append "http://www.wavpack.com/"
1041 name "-" version ".tar.bz2"))
1042 (sha256
1043 (base32
1044 "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c"))))
1045 (build-system gnu-build-system)
60950faa
SB
1046 (arguments
1047 `(#:configure-flags
1048 ;; wavpack.pc.in lacks path substitution for 'exec_prefix'.
1049 (list (string-append "--libdir=" %output "/lib"))))
01b90919
SB
1050 (home-page "http://www.wavpack.com/")
1051 (synopsis "Hybrid lossless audio codec")
1052 (description
1053 "WavPack is an audio compression format with lossless, lossy and hybrid
1054compression modes. This package contains command-line programs and library to
1055encode and decode wavpack files.")
1056 (license license:bsd-3)))
1057
754a98ae
TUBK
1058(define-public soundtouch
1059 (package
1060 (name "soundtouch")
1061 (version "1.8.0")
1062 (source
1063 (origin
1064 (method url-fetch)
1065 (uri
1066 (string-append
1067 "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
1068 (sha256
1069 (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
1070 (build-system gnu-build-system)
1071 (native-inputs
1072 `(("autoconf" ,autoconf)
1073 ("automake" ,automake)
1074 ("libtool" ,libtool)
1075 ("file" ,file)))
1076 (arguments
1077 '(#:phases
722ec722
MW
1078 (alist-cons-after
1079 'unpack 'bootstrap
754a98ae 1080 (lambda _
722ec722 1081 (zero? (system* "sh" "bootstrap")))
754a98ae
TUBK
1082 %standard-phases)))
1083 (home-page "http://www.surina.net/soundtouch/")
1084 (synopsis
1085 "Audio processing library for changing tempo, pitch and playback rate")
1086 (description
1087 "SoundTouch is an audio processing library for changing the tempo, pitch
1088and playback rates of audio streams or audio files. It is intended for
1089application developers writing sound processing tools that require tempo/pitch
1090control functionality, or just for playing around with the sound effects.")
1091 (license license:lgpl2.1+)))
4bddd14c
TUBK
1092
1093(define-public soxr
1094 (package
1095 (name "soxr")
1096 (version "0.1.1")
1097 (source
1098 (origin
1099 (method url-fetch)
1100 (uri
1101 (string-append "mirror://sourceforge/soxr/soxr-" version
1102 "-Source.tar.xz"))
1103 (sha256
1104 (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw"))))
1105 (build-system cmake-build-system)
1106 (arguments '(#:tests? #f)) ;no 'check' target
1107 (home-page "http://sourceforge.net/p/soxr/wiki/Home/")
1108 (synopsis "One-dimensional sample-rate conversion library")
1109 (description
1110 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
1111conversion. It may be used, for example, to resample PCM-encoded audio.")
1112 (license license:lgpl2.1+)))
49f36708
TUBK
1113
1114(define-public twolame
1115 (package
1116 (name "twolame")
1117 (version "0.3.13")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append
1122 "mirror://sourceforge/twolame/twolame-" version ".tar.gz"))
1123 (sha256
1124 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))))
1125 (build-system gnu-build-system)
1126 (inputs
1127 `(("libsndfile" ,libsndfile)))
1128 (native-inputs
1129 `(("perl" ,perl)
1130 ("which" ,which))) ;used in tests/test.pl
1131 (home-page "http://www.twolame.org/")
1132 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
1133 (description
1134 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
1135tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
1136portions of LAME.")
1137 (license license:lgpl2.1+)))
bd4464f2
TUBK
1138
1139(define-public portaudio
1140 (package
1141 (name "portaudio")
1142 (version "19.20140130")
1143 (source
1144 (origin
1145 (method url-fetch)
1146 (uri (string-append
1147 "http://www.portaudio.com/archives/pa_stable_v"
1148 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
1149 ".tgz"))
1150 (sha256
b47be021
TUBK
1151 (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"))
1152 (patches (list (search-patch "portaudio-audacity-compat.patch")))))
bd4464f2
TUBK
1153 (build-system gnu-build-system)
1154 (inputs
1155 ;; TODO: Add ASIHPI.
1156 `(("alsa-lib" ,alsa-lib)
1157 ("jack" ,jack-2)))
1158 (native-inputs
b47be021
TUBK
1159 `(("autoconf" ,autoconf)
1160 ("automake" ,automake)
1161 ("libtool" ,libtool)
1162 ("pkg-config" ,pkg-config)))
1163 (arguments
1164 '(#:phases
1165 ;; Autoreconf is necessary because the audacity-compat patch modifies
1166 ;; .in files.
1167 (alist-cons-after
1168 'unpack 'autoreconf
1169 (lambda _
1170 (zero? (system* "autoreconf" "-vif")))
1171 %standard-phases)
1172 #:tests? #f)) ;no 'check' target
bd4464f2
TUBK
1173 (home-page "http://www.portaudio.com/")
1174 (synopsis "Audio I/O library")
1175 (description
1176 "PortAudio is a portable C/C++ audio I/O library providing a simple API
1177to record and/or play sound using a callback function or a blocking read/write
1178interface.")
1179 (license license:expat)))
74bbf894 1180
55b596c3
TUBK
1181(define-public rsound
1182 (package
1183 (name "rsound")
1184 (version "1.1")
1185 (source
1186 (origin
1187 (method url-fetch)
1188 (uri (string-append "https://github.com/Themaister/RSound/archive/v"
1189 version ".tar.gz"))
1190 (sha256
1191 (base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
1192 (build-system gnu-build-system)
1193 (inputs
1194 `(("alsa-lib" ,alsa-lib)
1195 ("jack" ,jack-2)
1196 ("ao" ,ao)
1197 ("libsamplerate" ,libsamplerate)
1198 ("openal" ,openal)
1199 ("portaudio" ,portaudio)
1200 ("pulseaudio" ,pulseaudio)))
1201 (arguments
1202 '(#:phases
1203 (alist-replace
1204 'configure
1205 (lambda* (#:key outputs #:allow-other-keys)
1206 (setenv "CC" "gcc")
1207 (zero?
1208 (system* "./configure"
1209 (string-append "--prefix=" (assoc-ref outputs "out")))))
1210 %standard-phases)
1211 ;; No 'check' target.
1212 #:tests? #f))
1213 (home-page "http://themaister.net/rsound.html")
1214 (synopsis "Networked audio system")
1215 (description
1216 "RSound allows you to send audio from an application and transfer it
1217directly to a different computer on your LAN network. It is an audio daemon
1218with a much different focus than most other audio daemons.")
1219 (license license:gpl3+)))
1220
74bbf894
RW
1221(define-public zita-alsa-pcmi
1222 (package
1223 (name "zita-alsa-pcmi")
1224 (version "0.2.0")
1225 (source (origin
1226 (method url-fetch)
1227 (uri (string-append
1228 "http://kokkinizita.linuxaudio.org"
1229 "/linuxaudio/downloads/zita-alsa-pcmi-"
1230 version ".tar.bz2"))
1231 (sha256
1232 (base32
9569dfc8 1233 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
74bbf894
RW
1234 (build-system gnu-build-system)
1235 (arguments
1236 `(#:tests? #f ; no "check" target
1237 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
1238 #:phases
1239 (alist-cons-after
9569dfc8
RW
1240 'unpack 'patch-makefile-and-enter-directory
1241 (lambda _
1242 (substitute* "libs/Makefile"
1243 (("ldconfig") "true")
1244 (("^LIBDIR =.*") "LIBDIR = lib\n"))
1245 (chdir "libs")
1246 #t)
74bbf894
RW
1247 (alist-cons-after
1248 'install
1249 'install-symlink
1250 (lambda _
1251 (symlink "libzita-alsa-pcmi.so"
1252 (string-append (assoc-ref %outputs "out")
1253 "/lib/libzita-alsa-pcmi.so.0")))
1254 ;; no configure script
1255 (alist-delete 'configure %standard-phases)))))
1256 (inputs
1257 `(("alsa-lib" ,alsa-lib)
1258 ("fftw" ,fftw)))
1259 (home-page "http://kokkinizita.linuxaudio.org")
1260 (synopsis "C++ wrapper around the ALSA API")
1261 (description
1262 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
1263access to ALSA PCM devices, taking care of the many functions required to
1264open, initialise and use a hw: device in mmap mode, and providing floating
1265point audio data.")
1266 (license license:gpl3+)))