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