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