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