gnu: getmail: Update to 5.14.
[jackhill/guix/guix.git] / gnu / packages / audio.scm
CommitLineData
fb68469f 1;;; GNU Guix --- Functional package management for GNU
7d4dae6a 2;;; Copyright © 2015, 2016, 2017, 2018, 2019 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>
799298eb 7;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
eb5378f9 8;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
47956fa0 9;;; Copyright © 2016 ng0 <ng0@n0.is>
9a4c032c 10;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
1c17adbc 11;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
c2c0d661 12;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
9073c875 13;;; Copyright © 2018 okapi <okapi@firemail.cc>
247384d0 14;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
77cc8778 15;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
40f856fa 16;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
a4b71b32 17;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
7a44e875 18;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
ef8517f2 19;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
dcfa0acd 20;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
b06966b4 21;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
17098a49 22;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
ea3510f8 23;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
e13714b6 24;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
fb68469f
RW
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages audio)
42 #:use-module (guix packages)
43 #:use-module (guix download)
44 #:use-module (guix git-download)
d49976ed 45 #:use-module (guix utils)
fb68469f
RW
46 #:use-module ((guix licenses) #:prefix license:)
47 #:use-module (guix build-system gnu)
c54a8981 48 #:use-module (guix build-system waf)
7c92efff 49 #:use-module (guix build-system trivial)
4bddd14c 50 #:use-module (guix build-system cmake)
a91d72e2 51 #:use-module (guix build-system python)
d0c8e524 52 #:use-module (guix build-system glib-or-gtk)
fb68469f 53 #:use-module (gnu packages)
d55f912a 54 #:use-module (gnu packages algebra)
9f1cdd9d 55 #:use-module (gnu packages autotools)
fcbeb00b 56 #:use-module (gnu packages avahi)
88efb2c3 57 #:use-module (gnu packages boost)
a76abae1 58 #:use-module (gnu packages backup)
7c92efff 59 #:use-module (gnu packages base)
fda85ca6 60 #:use-module (gnu packages bison)
971ebdc8 61 #:use-module (gnu packages check)
7c92efff 62 #:use-module (gnu packages compression)
88efb2c3 63 #:use-module (gnu packages curl)
255d1bbe 64 #:use-module (gnu packages dbm)
8ae60404 65 #:use-module (gnu packages emacs)
754a98ae 66 #:use-module (gnu packages file)
fda85ca6 67 #:use-module (gnu packages flex)
11d4800a
RW
68 #:use-module (gnu packages fltk)
69 #:use-module (gnu packages fontutils)
fda85ca6 70 #:use-module (gnu packages gettext)
88efb2c3 71 #:use-module (gnu packages glib)
f3ab6ad3 72 #:use-module (gnu packages gtk)
88efb2c3 73 #:use-module (gnu packages gnome)
8ae60404 74 #:use-module (gnu packages gnunet) ; libmicrohttpd
fcbeb00b 75 #:use-module (gnu packages gperf)
247384d0 76 #:use-module (gnu packages icu4c)
d739f481 77 #:use-module (gnu packages image)
9ffee457 78 #:use-module (gnu packages ncurses)
f3ab6ad3 79 #:use-module (gnu packages qt)
dba33ca3 80 #:use-module (gnu packages libbsd)
c54a8981 81 #:use-module (gnu packages linux)
72d9ef1b 82 #:use-module (gnu packages libusb)
8ae60404 83 #:use-module (gnu packages llvm)
88efb2c3
RW
84 #:use-module (gnu packages mp3) ;taglib
85 #:use-module (gnu packages perl)
c54a8981
RW
86 #:use-module (gnu packages pkg-config)
87 #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
d55f912a 88 #:use-module (gnu packages python)
44d10b1f 89 #:use-module (gnu packages python-xyz)
5279eb6f 90 #:use-module (gnu packages rdf)
c54a8981 91 #:use-module (gnu packages readline)
ea3510f8 92 #:use-module (gnu packages sdl)
247384d0 93 #:use-module (gnu packages serialization)
dba33ca3 94 #:use-module (gnu packages telephony)
8ae60404 95 #:use-module (gnu packages tls)
e87c7ec2 96 #:use-module (gnu packages video)
8ae60404 97 #:use-module (gnu packages vim) ;xxd
02979664 98 #:use-module (gnu packages webkit)
cd381c31 99 #:use-module (gnu packages wxwidgets)
c54a8981 100 #:use-module (gnu packages xiph)
da49086a 101 #:use-module (gnu packages xml)
caf9055c 102 #:use-module (gnu packages xorg)
d0c8e524
SB
103 #:use-module (gnu packages maths)
104 #:use-module (gnu packages multiprecision)
3182a1d2 105 #:use-module (gnu packages music)
118a8ecc
EF
106 #:use-module (srfi srfi-1)
107 #:use-module (srfi srfi-26))
fb68469f 108
eb0fb087
RW
109(define-public alsa-modular-synth
110 (package
111 (name "alsa-modular-synth")
61eecd71 112 (version "2.1.2")
eb0fb087
RW
113 (source (origin
114 (method url-fetch)
de67e922
LF
115 (uri (string-append "mirror://sourceforge/alsamodular/alsamodular"
116 "/" version "/ams-" version ".tar.bz2"))
eb0fb087
RW
117 (sha256
118 (base32
61eecd71 119 "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
eb0fb087 120 (build-system gnu-build-system)
ee6a88b1 121 (arguments
6670c99c
DC
122 `(#:configure-flags
123 '("--enable-qt5"
124 "CXXFLAGS=-std=gnu++11")
afadb05e
RW
125 #:phases
126 (modify-phases %standard-phases
127 ;; Insert an extra space between linker flags.
128 (add-before 'configure 'add-missing-space
129 (lambda _
130 (substitute* "configure"
131 (("LIBS\\+=\\$LIBSsave") "LIBS+=\" $LIBSsave\"")
132 (("CFLAGS\\+=\\$CFLAGSsave") "CFLAGS+=\" $CFLAGSsave\""))
133 #t)))))
eb0fb087
RW
134 (inputs
135 `(("alsa-lib" ,alsa-lib)
136 ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
137 ;; license incompatibility.
138 ("clalsadrv" ,clalsadrv)
139 ("fftw" ,fftw)
140 ("jack" ,jack-1)
141 ("ladspa" ,ladspa)
142 ("liblo" ,liblo)
df9031e1
EF
143 ("qtbase" ,qtbase)
144 ("qttools" ,qttools)))
eb0fb087
RW
145 (native-inputs
146 `(("pkg-config" ,pkg-config)))
147 (home-page "http://alsamodular.sourceforge.net/")
148 (synopsis "Realtime modular synthesizer and effect processor")
149 (description
150 "AlsaModularSynth is a digital implementation of a classical analog
151modular synthesizer system. It uses virtual control voltages to control the
152parameters of the modules. The control voltages which control the frequency
153e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
154Filter) modules follow the convention of 1V / Octave.")
155 (license license:gpl2)))
156
d55f912a
RW
157(define-public aubio
158 (package
159 (name "aubio")
4a17211a 160 (version "0.4.9")
d55f912a
RW
161 (source (origin
162 (method url-fetch)
163 (uri (string-append
c2f6c9ba 164 "https://aubio.org/pub/aubio-" version ".tar.bz2"))
d55f912a
RW
165 (sha256
166 (base32
4a17211a 167 "1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
d55f912a
RW
168 (build-system waf-build-system)
169 (arguments
4a17211a 170 `(#:tests? #f ; no check target
d55f912a 171 #:configure-flags
409dec3f
TGR
172 (list
173 (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")
174 "--enable-fftw3f"
175 "--enable-jack"
176 "--enable-sndfile"
177 "--enable-samplerate"
4ab9ad1e 178 "--enable-avcodec")
d55f912a
RW
179 #:python ,python-2))
180 (inputs
181 `(("jack" ,jack-1)
d55f912a
RW
182 ("libsndfile" ,libsndfile)
183 ("libsamplerate" ,libsamplerate)
4ab9ad1e
KK
184 ("fftwf" ,fftwf)
185 ("ffmpeg" ,ffmpeg))) ; for libavcodec
d55f912a
RW
186 (native-inputs
187 `(("pkg-config" ,pkg-config)))
c2f6c9ba 188 (home-page "https://aubio.org/")
a124bbd2 189 (synopsis "Library for audio labelling")
d55f912a
RW
190 (description
191 "aubio is a tool designed for the extraction of annotations from audio
192signals. Its features include segmenting a sound file before each of its
193attacks, performing pitch detection, tapping the beat and producing MIDI
194streams from live audio.")
195 (license license:gpl3+)))
196
d49976ed
RW
197(define (ardour-rpath-phase major-version)
198 `(lambda* (#:key outputs #:allow-other-keys)
199 (let ((libdir (string-append (assoc-ref outputs "out")
200 "/lib/ardour" ,major-version)))
201 (substitute* "wscript"
202 (("linker_flags = \\[\\]")
203 (string-append "linker_flags = [\""
204 "-Wl,-rpath="
205 libdir ":"
206 libdir "/backends" ":"
207 libdir "/engines" ":"
208 libdir "/panners" ":"
209 libdir "/surfaces" ":"
210 libdir "/vamp" "\"]"))))
211 #t))
212
60725232 213(define-public ardour
88efb2c3
RW
214 (package
215 (name "ardour")
d30f920c 216 (version "5.12")
88efb2c3 217 (source (origin
88efb2c3
RW
218 (method git-fetch)
219 (uri (git-reference
5f13bf09 220 (url "https://git.ardour.org/ardour/ardour.git")
88efb2c3
RW
221 (commit version)))
222 (snippet
b16043a3
RW
223 ;; Ardour expects this file to exist at build time. The revision
224 ;; is the output of
225 ;; git describe HEAD | sed 's/^[A-Za-z]*+//'
02ecdeaa 226 `(call-with-output-file
88efb2c3
RW
227 "libs/ardour/revision.cc"
228 (lambda (port)
02ecdeaa 229 (format port ,(string-append "#include \"ardour/revision.h\"
6cbee49d
MW
230namespace ARDOUR { const char* revision = \"" version "\" ; }"))
231 #t)))
88efb2c3
RW
232 (sha256
233 (base32
d30f920c 234 "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
88efb2c3
RW
235 (file-name (string-append name "-" version))))
236 (build-system waf-build-system)
237 (arguments
b5fc72ff 238 `(#:configure-flags '("--cxx11" ; required by gtkmm
ba5c8567 239 "--no-phone-home" ; don't contact ardour.org
ff46016e 240 "--freedesktop" ; build .desktop file
5f0c6496 241 "--test") ; build unit tests
92e4fbe2 242 #:phases
21481a28 243 (modify-phases %standard-phases
ff46016e
BT
244 (add-after 'unpack 'set-rpath-in-LDFLAGS
245 ,(ardour-rpath-phase (version-major version)))
246 (add-after 'install 'install-freedesktop-files
247 (lambda* (#:key outputs #:allow-other-keys)
248 (let* ((out (assoc-ref outputs "out"))
249 (share (string-append out "/share"))
250 (ver ,(version-major version)))
251 (for-each
252 (lambda (size)
253 (let ((dir (string-append share "/icons/hicolor/"
254 size "x" size "/apps")))
255 (mkdir-p dir)
256 (copy-file
257 (string-append "gtk2_ardour/resources/Ardour-icon_"
258 size "px.png")
259 (string-append dir "/ardour" ver ".png"))))
260 '("16" "22" "32" "48" "256"))
261 (install-file (string-append "build/gtk2_ardour/ardour"
262 ver ".desktop")
263 (string-append share "/applications/"))
264 (install-file (string-append "build/gtk2_ardour/ardour"
265 ver ".appdata.xml")
266 (string-append share "/appdata/")))
267 #t)))
5f0c6496 268 #:test-target "test"
88efb2c3
RW
269 #:python ,python-2))
270 (inputs
271 `(("alsa-lib" ,alsa-lib)
19dd523c 272 ("atkmm" ,atkmm)
88efb2c3 273 ("aubio" ,aubio)
88efb2c3 274 ("boost" ,boost)
88efb2c3 275 ("cairomm" ,cairomm)
19dd523c 276 ("curl" ,curl)
c5edbb97 277 ("eudev" ,eudev)
19dd523c
BT
278 ("fftw" ,fftw)
279 ("fftwf" ,fftwf)
280 ("flac" ,flac)
88efb2c3 281 ("glibmm" ,glibmm)
19dd523c
BT
282 ("gtkmm" ,gtkmm-2)
283 ("jack" ,jack-1)
284 ("libarchive" ,libarchive)
88efb2c3
RW
285 ("libart-lgpl" ,libart-lgpl)
286 ("libgnomecanvasmm" ,libgnomecanvasmm)
88efb2c3 287 ("liblo" ,liblo)
88efb2c3 288 ("libogg" ,libogg)
19dd523c
BT
289 ("libsamplerate" ,libsamplerate)
290 ("libsndfile" ,libsndfile)
72d9ef1b 291 ("libusb" ,libusb)
88efb2c3 292 ("libvorbis" ,libvorbis)
19dd523c
BT
293 ("libxml2" ,libxml2)
294 ("lilv" ,lilv)
295 ("lrdf" ,lrdf)
88efb2c3 296 ("lv2" ,lv2)
19dd523c
BT
297 ("pangomm" ,pangomm)
298 ("python-rdflib" ,python-rdflib)
299 ("readline" ,readline)
300 ("redland" ,redland)
301 ("rubberband" ,rubberband)
88efb2c3
RW
302 ("serd" ,serd)
303 ("sord" ,sord)
304 ("sratom" ,sratom)
305 ("suil" ,suil)
88efb2c3 306 ("taglib" ,taglib)
19dd523c 307 ("vamp" ,vamp)))
88efb2c3 308 (native-inputs
19dd523c 309 `(("cppunit" ,cppunit)
ba5c8567 310 ("gettext" ,gettext-minimal)
19dd523c
BT
311 ("itstool" ,itstool)
312 ("perl" ,perl)
88efb2c3
RW
313 ("pkg-config" ,pkg-config)))
314 (home-page "http://ardour.org")
315 (synopsis "Digital audio workstation")
316 (description
317 "Ardour is a multi-channel digital audio workstation, allowing users to
318record, edit, mix and master audio and MIDI projects. It is targeted at audio
319engineers, musicians, soundtrack editors and composers.")
320 (license license:gpl2+)))
321
cd381c31
KK
322(define-public audacity
323 (package
324 (name "audacity")
a1ce0675 325 (version "2.3.2")
cd381c31
KK
326 (source
327 (origin
8713c03e
TGR
328 (method git-fetch)
329 (uri (git-reference
330 (url "https://github.com/audacity/audacity.git")
331 (commit (string-append "Audacity-" version))))
332 (file-name (git-file-name name version))
cd381c31 333 (sha256
3ae45eb4 334 (base32
a1ce0675 335 "08w96124vv8k4myd4vifq73ningq6404x889wvg2sk016kc4dfv1"))
3182a1d2
RW
336 (patches (search-patches "audacity-build-with-system-portaudio.patch"))
337 (modules '((guix build utils)))
338 (snippet
339 ;; Remove bundled libraries.
340 '(begin
341 (for-each
342 (lambda (dir)
343 (delete-file-recursively (string-append "lib-src/" dir)))
344 '("expat" "ffmpeg" "libflac" "libid3tag" "libmad" "libogg"
345 "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2"
346 "portaudio-v19" "portmidi" "soundtouch" "twolame"
347 ;; FIXME: these libraries have not been packaged yet:
348 ;; "libnyquist"
349 ;; "libscorealign"
350 ;; "libwidgetextra"
351 ;; "portburn"
352 ;; "portsmf"
353 ;; "portmixer"
354
355 ;; FIXME: we have this library, but it differs in that the Slide
356 ;; class does not have a member "getInverseStretchedTime".
357 ;; "sbsms"
358 ))
359 #t))))
b0f43001 360 (build-system glib-or-gtk-build-system)
cd381c31 361 (inputs
3182a1d2 362 `(("wxwidgets" ,wxwidgets)
99e0fb24 363 ("gtk+" ,gtk+)
cd381c31
KK
364 ("alsa-lib" ,alsa-lib)
365 ("jack" ,jack-1)
366 ("expat" ,expat)
367 ("ffmpeg" ,ffmpeg)
368 ("lame" ,lame)
369 ("flac" ,flac)
370 ("libid3tag" ,libid3tag)
371 ("libmad" ,libmad)
3182a1d2 372 ;;("libsbsms" ,libsbsms) ;bundled version is modified
cd381c31
KK
373 ("libsndfile" ,libsndfile)
374 ("soundtouch" ,soundtouch)
375 ("soxr" ,soxr) ;replaces libsamplerate
376 ("twolame" ,twolame)
377 ("vamp" ,vamp)
378 ("libvorbis" ,libvorbis)
379 ("lv2" ,lv2)
3182a1d2
RW
380 ("lilv" ,lilv) ;for lv2
381 ("suil" ,suil) ;for lv2
382 ("portaudio" ,portaudio)
383 ("portmidi" ,portmidi)))
cd381c31
KK
384 (native-inputs
385 `(("autoconf" ,autoconf)
386 ("automake" ,automake)
387 ("gettext" ,gettext-minimal) ;for msgfmt
388 ("libtool" ,libtool)
389 ("pkg-config" ,pkg-config)
390 ("python" ,python-2)
391 ("which" ,which)))
392 (arguments
118a8ecc 393 `(#:configure-flags
cd381c31 394 (let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
3182a1d2
RW
395 (libmad (assoc-ref %build-inputs "libmad"))
396 (portmidi (assoc-ref %build-inputs "portmidi")))
cd381c31
KK
397 (list
398 ;; Loading FFmpeg dynamically is problematic.
399 "--disable-dynamic-loading"
118a8ecc
EF
400 ;; SSE instructions are available on Intel systems only.
401 ,@(if (any (cute string-prefix? <> (or (%current-target-system)
402 (%current-system)))
403 '("x64_64" "i686"))
404 '()
405 '("--enable-sse=no"))
3182a1d2
RW
406 ;; portmidi, libid3tag and libmad provide no .pc files, so
407 ;; pkg-config fails to find them. Force their inclusion.
cd381c31
KK
408 (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
409 (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
410 (string-append "LIBMAD_CFLAGS=-I" libmad "/include")
3182a1d2
RW
411 (string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")
412 (string-append "PORTMIDI_CFLAGS=-I" portmidi "/include")
413 (string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi")
414 "EXPAT_USE_SYSTEM=yes"
415 "FFMPEG_USE_SYSTEM=yes"
416 "LAME_USE_SYSTEM=yes"
417 "LIBFLAC_USE_SYSTEM=yes"
418 "LIBID3TAG_USE_SYSTEM=yes"
419 "LIBMAD_USE_SYSTEM=yes"
420 "USE_LOCAL_LIBNYQUIST=" ;not packaged yet
421 ;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched
422 "LIBSNDFILE_USE_SYSTEM=yes"
423 "LIBSOUNDTOUCH_USE_SYSTEM=yes"
424 "LIBSOXR_USE_SYSTEM=yes"
425 "LIBTWOLAME_USE_SYSTEM=yes"
426 "LIBVAMP_USE_SYSTEM=yes"
427 "LIBVORBIS_USE_SYSTEM=yes"
428 "LV2_USE_SYSTEM=yes"
429 "PORTAUDIO_USE_SYSTEM=yes"))
cd381c31
KK
430 #:phases
431 (modify-phases %standard-phases
3182a1d2 432 (add-after 'unpack 'fix-sbsms-check
cd381c31 433 (lambda _
3182a1d2
RW
434 ;; This check is wrong: there is no 2.2.0 release; not even the
435 ;; bundled sources match this release string.
436 (substitute* '("m4/audacity_checklib_libsbsms.m4"
437 "configure")
438 (("sbsms >= 2.2.0") "sbsms >= 2.0.0"))
439 #t))
440 (add-after 'unpack 'use-upstream-headers
441 (lambda* (#:key inputs #:allow-other-keys)
442 (substitute* '("src/NoteTrack.cpp"
443 "src/AudioIO.cpp"
444 "src/AudioIO.h")
445 (("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")
446 (("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
447 (substitute* "src/prefs/MidiIOPrefs.cpp"
448 (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
449 #t)))
cd381c31
KK
450 ;; The test suite is not "well exercised" according to the developers,
451 ;; and fails with various errors. See
452 ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
453 #:tests? #f))
2d5fa80e 454 (home-page "https://www.audacityteam.org/")
cd381c31
KK
455 (synopsis "Software for recording and editing sounds")
456 (description
457 "Audacity is a multi-track audio editor designed for recording, playing
458and editing digital audio. It features digital effects and spectrum analysis
459tools.")
460 (license license:gpl2+)))
461
c3276dbe
TW
462(define-public autotalent
463 (package
464 (name "autotalent")
465 (version "0.2")
466 (source (origin
467 (method url-fetch)
468 (uri (string-append "http://tombaran.info/autotalent-"
469 version ".tar.gz"))
470 (sha256
471 (base32
472 "1n04qm66f14195ly6gsy3ra7v2j7zad5n19d8dwfmh0qs6h9hphh"))))
473 (build-system gnu-build-system)
474 (arguments
475 `(#:tests? #f ; no check target
476 #:phases
477 (modify-phases %standard-phases
478 ;; no configure script
479 (delete 'configure)
480 (add-before 'install 'prepare-target-directory
481 (lambda* (#:key outputs #:allow-other-keys)
482 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
483 #t))
484 (add-after 'unpack 'override-target-directory
485 (lambda* (#:key outputs #:allow-other-keys)
486 (substitute* "Makefile"
487 (("/usr/lib64/ladspa")
488 (string-append (assoc-ref outputs "out") "/lib/ladspa")))
489 #t)))))
490 (inputs
491 `(("ladspa" ,ladspa)))
492 (home-page "http://tombaran.info/autotalent.html")
493 (synopsis "Pitch-correction LADSPA audio plugin")
494 (description
495 "Autotalent is a LADSPA plugin for real-time pitch-correction. Among its
496controls are allowable notes, strength of correction, LFO for vibrato and
497formant warp.")
498 ;; All code except the FFT routine is licensed under GPLv2+.
499 ;; The FFT routine is under BSD-3.
242b29ba 500 (license license:gpl2+)))
c3276dbe 501
497e9a82
RW
502(define-public azr3
503 (package
504 (name "azr3")
505 (version "1.2.3")
506 (source (origin
507 (method url-fetch)
508 (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-"
509 version
510 ".tar.bz2"))
511 (sha256
512 (base32
204adc30
RW
513 "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc"))
514 (patches (search-patches "azr3.patch"))))
497e9a82
RW
515 (build-system gnu-build-system)
516 (arguments
517 `(#:tests? #f ; no check target
518 #:make-flags
519 (list "LV2PEG=ttl2c"
204adc30
RW
520 "CXXFLAGS=-std=gnu++11"
521 "CFLAGS=-std=gnu++11"
497e9a82 522 (string-append "prefix=" %output)
ef1f9acf
RW
523 (string-append "pkgdatadir=" %output "/share/azr3-jack"))
524 #:phases
525 (modify-phases %standard-phases
526 (add-before 'install 'fix-timestamp
527 (lambda _
528 (let ((early-1980 315619200)) ; 1980-01-02 UTC
529 (utime "azr3.1" early-1980 early-1980))
530 #t)))))
497e9a82
RW
531 (inputs
532 `(("gtkmm" ,gtkmm-2)
533 ("lvtk" ,lvtk)
534 ("jack" ,jack-1)
f753846b 535 ("lash" ,lash)))
497e9a82
RW
536 (native-inputs
537 `(("pkg-config" ,pkg-config)))
538 (home-page "http://ll-plugins.nongnu.org/azr3/")
539 (synopsis "Tonewheel organ synthesizer")
540 (description
541 "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ
542with drawbars, distortion and rotating speakers. The organ has three
543sections, two polyphonic sections with nine drawbars each and one monophonic
544bass section with five drawbars. A standalone JACK application and LV2
545plugins are provided.")
546 (license license:gpl2)))
547
f62a8417
RW
548(define-public calf
549 (package
550 (name "calf")
9b15ef93 551 (version "0.90.2")
f62a8417
RW
552 (source (origin
553 (method url-fetch)
8f946a18 554 (uri (string-append "https://calf-studio-gear.org/files/calf-"
73cea74d 555 version ".tar.gz"))
f62a8417
RW
556 (sha256
557 (base32
9b15ef93 558 "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh"))))
f62a8417
RW
559 (build-system gnu-build-system)
560 (inputs
561 `(("fluidsynth" ,fluidsynth)
562 ("expat" ,expat)
563 ("glib" ,glib)
564 ("gtk" ,gtk+-2)
565 ("cairo" ,cairo)
566 ("lash" ,lash)
567 ("jack" ,jack-1)
568 ("lv2" ,lv2)
569 ("ladspa" ,ladspa)
570 ("fftw" ,fftw)))
571 (native-inputs
572 `(("pkg-config" ,pkg-config)))
573 (native-search-paths
574 (list (search-path-specification
575 (variable "LV2_PATH")
576 (files '("lib/lv2")))))
577 (home-page "http://calf.sourceforge.net/")
578 (synopsis "Audio plug-in pack for LV2 and JACK environments")
579 (description
580 "Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.
581The suite contains lots of effects (delay, modulation, signal processing,
582filters, equalizers, dynamics, distortion and mastering effects),
583instruments (SF2 player, organ simulator and a monophonic synthesizer) and
584tools (analyzer, mono/stereo tools, crossovers).")
585 ;; calfjackhost is released under GPLv2+
586 ;; The plugins are released under LGPLv2.1+
587 (license (list license:lgpl2.1+ license:gpl2+))))
588
7a44e875
TW
589(define-public caps-plugins-lv2
590 (package
591 (name "caps-plugins-lv2")
592 (version "0.9.24") ; version that has been ported.
593 (source
594 (origin
595 ;; The Github project hasn't tagged a release.
596 (method git-fetch)
597 (uri (git-reference
598 ;; Actually https://github.com/moddevices/caps-lv2.git, but it's
599 ;; missing fixes for newer glibc, so using the origin of a pull
600 ;; request regarding this issue:
601 (url "https://github.com/jujudusud/caps-lv2.git")
602 (commit "9c9478b7fbd8f9714f552ebe2a6866398b0babfb")))
603 (file-name (git-file-name name version))
604 (sha256
605 (base32
606 "1idfnazin3cca41zw1a8vwgnxjnkrap7bxxjamjqvgpmvydgcam1"))))
607 (build-system gnu-build-system)
608 (arguments
609 `(#:tests? #f ; no check target
610 #:phases
611 (modify-phases %standard-phases
612 ;; no configure script
613 (delete 'configure)
614 (add-after 'unpack 'override-target-directory
615 (lambda* (#:key outputs #:allow-other-keys)
616 (substitute* (find-files "plugins" "Makefile")
617 (("/usr/local")(assoc-ref outputs "out")))
618 #t)))))
619 (inputs
620 `(("lv2" ,lv2)))
621 ;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
622 (home-page "https://github.com/moddevices/caps-lv2")
623 (synopsis "LV2 port of the CAPS audio plugin colection")
624 (description
625 "LV2 port of CAPS, a collection of audio plugins comprising basic virtual
626guitar amplification and a small range of classic effects, signal processors and
627generators of mostly elementary and occasionally exotic nature.")
628 (license license:gpl3+)))
629
8f941dd2
RW
630(define-public infamous-plugins
631 (package
632 (name "infamous-plugins")
d11edbdf 633 (version "0.2.04")
8f941dd2 634 (source (origin
0b8db035
RW
635 (method git-fetch)
636 (uri (git-reference
637 (url "https://github.com/ssj71/infamousPlugins.git")
638 (commit (string-append "v" version))))
639 (file-name (git-file-name name version))
8f941dd2
RW
640 (sha256
641 (base32
0b8db035 642 "0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh"))))
8f941dd2 643 (build-system cmake-build-system)
d6618941 644 (arguments
d11edbdf 645 `(#:tests? #f ; there are no tests
d6618941
EF
646 #:phases
647 (modify-phases %standard-phases
648 (add-after 'unpack 'remove-compiler-flags
649 (lambda _
3e0e9e16 650 (substitute* (find-files "." "CMakeLists.txt")
d11edbdf 651 (("-msse2 -mfpmath=sse") ""))
d6618941 652 #t)))))
8f941dd2
RW
653 (inputs
654 `(("cairo" ,cairo)
655 ("fftwf" ,fftwf)
656 ("lv2" ,lv2)
657 ("ntk" ,ntk)
658 ("zita-resampler" ,zita-resampler)))
659 (native-inputs
660 `(("pkg-config" ,pkg-config)))
a9071e5c 661 (home-page "https://ssj71.github.io/infamousPlugins")
8f941dd2
RW
662 (synopsis "LV2 plugins for live use")
663 (description
664 "The infamous plugins are a collection of LV2 audio plugins for live
665performances. The plugins include a cellular automaton synthesizer, an
666envelope follower, distortion effects, tape effects and more.")
667 (license license:gpl2+)))
668
18f3d92b
FPS
669(define-public swh-plugins-lv2
670 (package
671 (name "swh-plugins-lv2")
672 (version "1.0.16")
673 (source (origin
2ae23954
RW
674 (method git-fetch)
675 (uri (git-reference
676 (url "https://github.com/swh/lv2.git")
677 (commit (string-append "v" version))))
678 (file-name (git-file-name name version))
18f3d92b
FPS
679 (sha256
680 (base32
2ae23954 681 "0y7nnww864mm4k6ayy2lhcws3wlbhb2gkyjbrwk921fvc18qk9mz"))))
18f3d92b
FPS
682 (build-system gnu-build-system)
683 (arguments
684 `(#:tests? #f ; no check target
685 #:make-flags (list "CC=gcc"
686 (string-append "PREFIX="
687 (assoc-ref %outputs "out")))
688 #:phases
689 (modify-phases %standard-phases
690 ;; no configure script
691 (delete 'configure)
692 (add-after 'unpack 'patch-makefile-and-enter-directory
693 ;; The default install target doesn't install, but the
694 ;; "install-system" target does.
695 (lambda _
696 (substitute* "Makefile"
697 (("install:") "install: install-system"))
698 #t)))))
699 (inputs
700 `(("lv2" ,lv2)
701 ("fftwf" ,fftwf)))
702 (native-inputs
703 `(("libxslt" ,libxslt)
704 ("pkg-config" ,pkg-config)))
705 (home-page "http://plugin.org.uk")
706 (synopsis "SWH plugins in LV2 format")
707 (description
708 "Swh-plugins-lv2 is a collection of audio plugins in LV2 format. Plugin
709classes include: dynamics (compressor, limiter), time (delay, chorus,
710flanger), ringmodulator, distortion, filters, pitchshift, oscillators,
711emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
712 (license license:gpl3+)))
713
fda85ca6
RW
714(define-public csound
715 (package
716 (name "csound")
d6ce8eca 717 (version "6.13.0")
fda85ca6 718 (source (origin
917dc896
RW
719 (method git-fetch)
720 (uri (git-reference
721 (url "https://github.com/csound/csound.git")
722 (commit version)))
723 (file-name (git-file-name name version))
fda85ca6
RW
724 (sha256
725 (base32
d6ce8eca 726 "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh"))))
fda85ca6
RW
727 (build-system cmake-build-system)
728 (inputs
729 `(("alsa-lib" ,alsa-lib)
730 ("boost" ,boost)
731 ("pulseaudio" ,pulseaudio)
732 ("libsndfile" ,libsndfile)
733 ("liblo" ,liblo)
734 ("ladspa" ,ladspa)
735 ("jack" ,jack-1)
b94a6ca0 736 ("gettext" ,gettext-minimal)))
fda85ca6
RW
737 (native-inputs
738 `(("bison" ,bison)
739 ("flex" ,flex)
740 ("zlib" ,zlib)))
40f856fa 741 (home-page "https://csound.com/")
fda85ca6
RW
742 (synopsis "Sound and music computing system")
743 (description
744 "Csound is a user-programmable and user-extensible sound processing
745language and software synthesizer.")
746 (license license:lgpl2.1+)))
747
631ac903
RW
748(define-public clalsadrv
749 (package
750 (name "clalsadrv")
751 (version "2.0.0")
752 (source (origin
753 (method url-fetch)
754 (uri (string-append
755 "http://kokkinizita.linuxaudio.org"
756 "/linuxaudio/downloads/clalsadrv-"
757 version ".tar.bz2"))
758 (sha256
759 (base32
9de2e43c 760 "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
631ac903
RW
761 (build-system gnu-build-system)
762 (arguments
763 `(#:tests? #f ; no "check" target
764 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
765 #:phases
dc1d3cde
KK
766 (modify-phases %standard-phases
767 (add-after 'unpack 'patch-makefile-and-enter-directory
768 (lambda _
769 (substitute* "libs/Makefile"
770 (("/sbin/ldconfig") "true")
771 (("^LIBDIR =.*") "LIBDIR = lib\n"))
772 (chdir "libs")
773 #t))
774 (add-after 'install 'install-symlink
775 (lambda _
776 (symlink "libclalsadrv.so"
777 (string-append (assoc-ref %outputs "out")
ee527187
MW
778 "/lib/libclalsadrv.so.2"))
779 #t))
631ac903 780 ;; no configure script
4f27a333 781 (delete 'configure))))
631ac903
RW
782 (inputs
783 `(("alsa-lib" ,alsa-lib)
784 ("fftw" ,fftw)))
4817bb92 785 (home-page "https://kokkinizita.linuxaudio.org")
631ac903
RW
786 (synopsis "C++ wrapper around the ALSA API")
787 (description
788 "clalsadrv is a C++ wrapper around the ALSA API simplifying access to
789ALSA PCM devices.")
790 (license license:gpl2+)))
791
8ba62f92
RW
792(define-public amb-plugins
793 (package
794 (name "amb-plugins")
795 (version "0.8.1")
796 (source (origin
797 (method url-fetch)
798 (uri (string-append
799 "http://kokkinizita.linuxaudio.org"
800 "/linuxaudio/downloads/AMB-plugins-"
801 version ".tar.bz2"))
802 (sha256
803 (base32
804 "0x4blm4visjqj0ndqr0cg776v3b7lvplpc8cgi9n51llhavn0jpl"))))
805 (build-system gnu-build-system)
806 (arguments
807 `(#:tests? #f ; no "check" target
808 #:phases
809 (modify-phases %standard-phases
810 ;; no configure script
811 (delete 'configure)
812 (add-before 'install 'prepare-target-directory
813 (lambda* (#:key outputs #:allow-other-keys)
814 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
815 #t))
816 (add-after 'unpack 'override-target-directory-and-tool-paths
817 (lambda* (#:key outputs #:allow-other-keys)
818 (substitute* "Makefile"
819 (("/usr/lib/ladspa")
820 (string-append (assoc-ref outputs "out") "/lib/ladspa"))
821 (("/usr/bin/install") (which "install"))
822 (("/bin/rm") "#"))
823 #t)))))
4817bb92 824 (home-page "https://kokkinizita.linuxaudio.org")
8ba62f92
RW
825 (synopsis "LADSPA ambisonics plugins")
826 (description
827 "The AMB plugins are a set of LADSPA ambisonics plugins, mainly to be
828used within Ardour. Features include: mono and stereo to B-format panning,
829horizontal rotator, square, hexagon and cube decoders.")
830 (license license:gpl2+)))
831
fb2e072c
RW
832(define-public mcp-plugins
833 (package
834 (name "mcp-plugins")
835 (version "0.4.0")
836 (source (origin
837 (method url-fetch)
838 (uri (string-append
839 "http://kokkinizita.linuxaudio.org"
840 "/linuxaudio/downloads/MCP-plugins-"
841 version ".tar.bz2"))
842 (sha256
843 (base32
844 "06a9r1l85jmg7l1cvc3788mk8ra0xagjfy1rmhw3b80y4n0vlnvc"))))
845 (build-system gnu-build-system)
846 (arguments
847 `(#:tests? #f ; no "check" target
848 #:phases
849 (modify-phases %standard-phases
850 ;; no configure script
851 (delete 'configure)
852 (add-before 'install 'prepare-target-directory
853 (lambda* (#:key outputs #:allow-other-keys)
854 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
855 #t))
856 (add-after 'unpack 'override-target-directory
857 (lambda* (#:key outputs #:allow-other-keys)
858 (substitute* "Makefile"
859 (("/usr") (assoc-ref outputs "out")))
860 #t)))))
4817bb92 861 (home-page "https://kokkinizita.linuxaudio.org")
fb2e072c
RW
862 (synopsis "Chorus, phaser, and vintage high-pass and low-pass filters")
863 (description
864 "This package provides various LADSPA plugins. @code{cs_chorus} and
865@code{cs_phaser} provide chorus and phaser effects, respectively;
866@code{mvclpf24} provides four implementations of the low-pass filter used in
867vintage Moog synthesizers; @code{mvchpf24} is based on the voltage-controlled
868high-pass filter by Robert Moog. The filters attempt to accurately emulate
869the non-linear circuit elements of their original analog counterparts.")
870 (license license:gpl2+)))
871
dffb6c3b
RW
872(define-public rev-plugins
873 (package
874 (name "rev-plugins")
875 (version "0.7.1")
876 (source (origin
877 (method url-fetch)
878 (uri (string-append
879 "http://kokkinizita.linuxaudio.org"
880 "/linuxaudio/downloads/REV-plugins-"
881 version ".tar.bz2"))
882 (sha256
883 (base32
884 "1ikpinxm00pkfi259bnkzhsy3miagrjgdihaaf5x4v7zac29j3g7"))))
885 (build-system gnu-build-system)
886 (arguments
887 `(#:tests? #f ; no "check" target
888 #:phases
889 (modify-phases %standard-phases
890 ;; no configure script
891 (delete 'configure)
892 (add-before 'install 'prepare-target-directory
893 (lambda* (#:key outputs #:allow-other-keys)
894 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
895 #t))
896 (add-after 'unpack 'override-target-directory
897 (lambda* (#:key outputs #:allow-other-keys)
898 (substitute* "Makefile"
899 (("/usr") (assoc-ref outputs "out")))
900 #t)))))
4817bb92 901 (home-page "https://kokkinizita.linuxaudio.org")
dffb6c3b
RW
902 (synopsis "LADSPA reverb plugin")
903 (description
904 "This package provides a stereo reverb LADSPA plugin based on the
905well-known greverb.")
906 (license license:gpl2+)))
907
75f45d16
RW
908(define-public fil-plugins
909 (package
910 (name "fil-plugins")
911 (version "0.3.0")
912 (source (origin
913 (method url-fetch)
914 (uri (string-append
915 "http://kokkinizita.linuxaudio.org"
916 "/linuxaudio/downloads/FIL-plugins-"
917 version ".tar.bz2"))
918 (sha256
919 (base32
920 "1scfv9j7jrp50r565haa4rvxn1vk2ss86xssl5qgcr8r45qz42qw"))))
921 (build-system gnu-build-system)
922 (arguments
923 `(#:tests? #f ; no "check" target
924 #:phases
925 (modify-phases %standard-phases
926 ;; no configure script
927 (delete 'configure)
928 (add-before 'install 'prepare-target-directory
929 (lambda* (#:key outputs #:allow-other-keys)
930 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
931 #t))
932 (add-after 'unpack 'override-target-directory
933 (lambda* (#:key outputs #:allow-other-keys)
934 (substitute* "Makefile"
935 (("/usr") (assoc-ref outputs "out")))
936 #t)))))
4817bb92 937 (home-page "https://kokkinizita.linuxaudio.org")
75f45d16
RW
938 (synopsis "LADSPA four-band parametric equalizer plugin")
939 (description
940 "This package provides a LADSPA plugin for a four-band parametric
941equalizer. Each section has an active/bypass switch, frequency, bandwidth and
942gain controls. There is also a global bypass switch and gain control.
943
944The 2nd order resonant filters are implemented using a Mitra-Regalia style
945lattice filter, which is stable even while parameters are being changed.
946
36a4366d 947All switches and controls are internally smoothed, so they can be used @code{live}
75f45d16
RW
948without any clicks or zipper noises. This makes this plugin suitable for use
949in systems that allow automation of plugin control ports, such as Ardour, or
950for stage use.")
951 (license license:gpl2+)))
952
c04b4e7a
RW
953(define-public ste-plugins
954 (package
955 (name "ste-plugins")
956 (version "0.0.2")
957 (source (origin
958 (method url-fetch)
959 (uri (string-append
960 "http://kokkinizita.linuxaudio.org"
961 "/linuxaudio/downloads/STE-plugins-"
962 version ".tar.bz2"))
963 (sha256
964 (base32
965 "0s3c9w5xihs87cnd1lh9xgj3maabjdyh6bl766qp5lhkg3ax8zy6"))))
966 (build-system gnu-build-system)
967 (arguments
968 `(#:tests? #f ; no "check" target
969 #:phases
970 (modify-phases %standard-phases
971 ;; no configure script
972 (delete 'configure)
973 (add-before 'install 'prepare-target-directory
974 (lambda* (#:key outputs #:allow-other-keys)
975 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
976 #t))
977 (add-after 'unpack 'override-target-directory
978 (lambda* (#:key outputs #:allow-other-keys)
979 (substitute* "Makefile"
980 (("/usr") (assoc-ref outputs "out")))
981 #t)))))
4817bb92 982 (home-page "https://kokkinizita.linuxaudio.org")
c04b4e7a
RW
983 (synopsis "LADSPA stereo width plugin")
984 (description
985 "This package provides a LADSPA plugin to manipulate the stereo width of
986audio signals.")
987 (license license:gpl2+)))
988
eb4fca7e
RW
989(define-public vco-plugins
990 (package
991 (name "vco-plugins")
992 (version "0.3.0")
993 (source (origin
994 (method url-fetch)
995 (uri (string-append
996 "http://kokkinizita.linuxaudio.org"
997 "/linuxaudio/downloads/VCO-plugins-"
998 version ".tar.bz2"))
999 (sha256
1000 (base32
1001 "1xzqdg3b07r7zww05y9bb737l9dxvfkv28m3fyak1aazaci3rsgl"))))
1002 (build-system gnu-build-system)
1003 (arguments
1004 `(#:tests? #f ; no "check" target
1005 #:phases
1006 (modify-phases %standard-phases
1007 ;; no configure script
1008 (delete 'configure)
1009 (add-before 'install 'prepare-target-directory
1010 (lambda* (#:key outputs #:allow-other-keys)
1011 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
1012 #t))
1013 (add-after 'unpack 'override-target-directory
1014 (lambda* (#:key outputs #:allow-other-keys)
1015 (substitute* "Makefile"
1016 (("/usr") (assoc-ref outputs "out"))
1017 (("/bin/cp") (which "cp")))
1018 #t)))))
4817bb92 1019 (home-page "https://kokkinizita.linuxaudio.org")
eb4fca7e
RW
1020 (synopsis "LADSPA plugin for synthesizer oscillators")
1021 (description
1022 "The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:
1023
1024@enumerate
1025@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum
1026@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum
1027@item Rec-VCO, a square / rectange oscillator
1028@end enumerate\n
1029
1030All oscillators are low-pass filtered to provide waveforms similar to the
1031output of analog synthesizers such as the Moog Voyager.")
1032 (license license:gpl2+)))
1033
5e3161d3
RW
1034(define-public wah-plugins
1035 (package
1036 (name "wah-plugins")
1037 (version "0.1.0")
1038 (source (origin
1039 (method url-fetch)
1040 (uri (string-append
1041 "http://kokkinizita.linuxaudio.org"
1042 "/linuxaudio/downloads/WAH-plugins-"
1043 version ".tar.bz2"))
1044 (sha256
1045 (base32
1046 "1wkbjarxdhjixkh7d5abralj11dj2xxg644fz3ycd7qyfgfvjfgd"))))
1047 (build-system gnu-build-system)
1048 (arguments
1049 `(#:tests? #f ; no "check" target
1050 #:phases
1051 (modify-phases %standard-phases
1052 ;; no configure script
1053 (delete 'configure)
1054 (add-before 'install 'prepare-target-directory
1055 (lambda* (#:key outputs #:allow-other-keys)
1056 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
1057 #t))
1058 (add-after 'unpack 'override-target-directory
1059 (lambda* (#:key outputs #:allow-other-keys)
1060 (substitute* "Makefile"
1061 (("/usr") (assoc-ref outputs "out")))
1062 #t)))))
4817bb92 1063 (home-page "https://kokkinizita.linuxaudio.org")
5e3161d3
RW
1064 (synopsis "LADSPA Autowah effect plugin")
1065 (description
1066 "This package provides a LADSPA plugin for a Wah effect with envelope
1067follower.")
1068 (license license:gpl2+)))
1069
ed17465d
RW
1070(define-public g2reverb
1071 (package
1072 (name "g2reverb")
1073 (version "0.7.1")
1074 (source (origin
1075 (method url-fetch)
1076 (uri (string-append
1077 "http://kokkinizita.linuxaudio.org"
1078 "/linuxaudio/downloads/g2reverb-"
1079 version ".tar.bz2"))
1080 (sha256
1081 (base32
1082 "18wb8vj1kky5glr76s34awbi8qzplsmf3wjbd7a12hfv4j0bkwrj"))))
1083 (build-system gnu-build-system)
1084 (arguments
1085 `(#:tests? #f ; no "check" target
1086 #:phases
1087 (modify-phases %standard-phases
1088 ;; no configure script
1089 (delete 'configure)
1090 (add-before 'install 'prepare-target-directory
1091 (lambda* (#:key outputs #:allow-other-keys)
1092 (mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
1093 #t))
1094 (add-after 'unpack 'override-target-directory
1095 (lambda* (#:key outputs #:allow-other-keys)
1096 (substitute* "Makefile"
1097 (("/usr") (assoc-ref outputs "out")))
1098 #t)))))
4817bb92 1099 (home-page "https://kokkinizita.linuxaudio.org")
ed17465d
RW
1100 (synopsis "LADSPA stereo reverb plugin")
1101 (description
1102 "This package provides a LADSPA plugin for a stereo reverb effect.")
1103 (license license:gpl2+)))
1104
e4f43b56
RW
1105(define-public fluidsynth
1106 (package
1107 (name "fluidsynth")
8949b640 1108 (version "2.0.5")
e4f43b56 1109 (source (origin
dd46c16b
RW
1110 (method git-fetch)
1111 (uri (git-reference
1112 (url "https://github.com/FluidSynth/fluidsynth.git")
1113 (commit (string-append "v" version))))
1114 (file-name (string-append name "-" version "-checkout"))
e4f43b56
RW
1115 (sha256
1116 (base32
8949b640 1117 "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y"))))
dd46c16b 1118 (build-system cmake-build-system)
e4f43b56 1119 (arguments
713b519e 1120 '(#:tests? #f ; no check target
dd46c16b 1121 #:phases
dc1d3cde 1122 (modify-phases %standard-phases
dd46c16b
RW
1123 (add-after 'unpack 'fix-libdir
1124 (lambda _
713b519e 1125 ;; Install libraries to /lib, not /lib64.
dd46c16b
RW
1126 (substitute* "CMakeLists.txt"
1127 (("LIB_SUFFIX \\$\\{_init_lib_suffix\\}")
1128 "LIB_SUFFIX \"\""))
1129 #t)))))
e4f43b56
RW
1130 (inputs
1131 `(("libsndfile" ,libsndfile)
1132 ("alsa-lib" ,alsa-lib)
1133 ("jack" ,jack-1)
1134 ("ladspa" ,ladspa)
1135 ("lash" ,lash)
1136 ("readline" ,readline)
1137 ("glib" ,glib)))
1138 (native-inputs
1139 `(("pkg-config" ,pkg-config)))
1140 (home-page "http://www.fluidsynth.org/")
1141 (synopsis "SoundFont synthesizer")
1142 (description
1143 "FluidSynth is a real-time software synthesizer based on the SoundFont 2
1144specifications. FluidSynth reads and handles MIDI events from the MIDI input
e881752c 1145device. It is the software analogue of a MIDI synthesizer. FluidSynth can
e4f43b56 1146also play midifiles using a Soundfont.")
dd46c16b 1147 (license license:lgpl2.1+)))
e4f43b56 1148
9b6dc31b
MB
1149;; gzdoom@3.3.0 and lmms@1.1.3 requires this version. Remove once no longer
1150;; needed.
1151(define-public fluidsynth-1
1152 (package
1153 (inherit fluidsynth)
1154 (version "1.1.11")
1155 (source (origin
1156 (inherit (package-source fluidsynth))
1157 (uri (git-reference
1158 (url "https://github.com/FluidSynth/fluidsynth")
1159 (commit (string-append "v" version))))
1160 (file-name (git-file-name "fluidsynth" version))
1161 (sha256
1162 (base32
1163 "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))))
1164
70fc29d9
TUBK
1165(define-public faad2
1166 (package
1167 (name "faad2")
1168 (version "2.7")
1169 (source (origin
1170 (method url-fetch)
de67e922
LF
1171 (uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-"
1172 version "/faad2-" version ".zip"))
70fc29d9
TUBK
1173 (sha256
1174 (base32
1175 "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
1176 (build-system gnu-build-system)
1177 (native-inputs
1178 `(("autoconf" ,autoconf)
1179 ("automake" ,automake)
1180 ("libtool" ,libtool)
1181 ("unzip" ,unzip)))
1182 (arguments
1183 '(#:phases
dc1d3cde 1184 (modify-phases %standard-phases
189be331 1185 (replace 'bootstrap
dc1d3cde
KK
1186 (lambda _
1187 (substitute* "bootstrap" (("\r\n") "\n"))
114ef0a4 1188 (invoke "sh" "bootstrap"))))))
70fc29d9
TUBK
1189 (home-page "http://www.audiocoding.com/faad2.html")
1190 (synopsis "MPEG-4 and MPEG-2 AAC decoder")
1191 (description
1192 "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
1193PS, and DAB+.")
1194 (license license:gpl2)))
1195
777291f0
RW
1196(define-public faust
1197 (package
1198 (name "faust")
a3604742 1199 (version "0.9.90")
777291f0 1200 (source (origin
a3604742
RW
1201 (method git-fetch)
1202 (uri (git-reference
1203 (url "https://github.com/grame-cncm/faust.git")
1204 (commit (string-append "v"
1205 (string-map (lambda (c)
1206 (if (char=? c #\.) #\- c))
1207 version)))))
1208 (file-name (string-append "faust-" version "-checkout"))
777291f0
RW
1209 (sha256
1210 (base32
a3604742 1211 "0qc6iwjd3i80jdyjc186c6ywipmjzl8wlsp4050pbr56q4rlkd4z"))))
777291f0
RW
1212 (build-system gnu-build-system)
1213 (arguments
1214 `(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
1215 #:tests? #f
1216 #:phases
1217 (modify-phases %standard-phases
0543c326 1218 ;; no "configure" script
a3604742
RW
1219 (delete 'configure)
1220 ;; Files appear under $out/share/faust that are read-only. The
1221 ;; install phase tries to overwrite them and fails, so we change
1222 ;; the permissions first.
1223 (add-before 'install 'fix-permissions
1224 (lambda _
1225 (for-each (lambda (file)
1226 (chmod file #o644))
1227 (find-files "architecture/max-msp" ".*"))
1228 #t)))))
777291f0
RW
1229 (native-inputs
1230 `(("unzip" ,unzip)))
1231 (home-page "http://faust.grame.fr/")
1232 (synopsis "Signal processing language")
1233 (description
1234 "Faust is a programming language for realtime audio signal processing.")
1235 (license license:gpl2+)))
1236
8ae60404
RW
1237(define-public faust-2
1238 (package
1239 (inherit faust)
89c78948 1240 (version "2.5.23")
8ae60404 1241 (source (origin
89c78948
RW
1242 (method url-fetch)
1243 (uri (string-append "https://github.com/grame-cncm/faust/"
1244 "releases/download/" version
1245 "/faust-" version ".tar.gz"))
8ae60404
RW
1246 (sha256
1247 (base32
89c78948 1248 "1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq"))))
8ae60404
RW
1249 (build-system gnu-build-system)
1250 (arguments
1251 (substitute-keyword-arguments (package-arguments faust)
1252 ((#:make-flags flags)
1253 `(list (string-append "prefix=" (assoc-ref %outputs "out"))
75bbc3c2 1254 "world"))))
8ae60404 1255 (native-inputs
fc9dbf41 1256 `(("llvm" ,llvm-3.8)
8ae60404 1257 ("which" ,which)
9fc513ad 1258 ("xxd" ,xxd)
8ae60404
RW
1259 ("ctags" ,emacs-minimal) ; for ctags
1260 ("pkg-config" ,pkg-config)))
1261 (inputs
1262 `(("libsndfile" ,libsndfile)
1263 ("libmicrohttpd" ,libmicrohttpd)
1264 ("ncurses" ,ncurses)
1265 ("openssl" ,openssl)
1266 ("zlib" ,zlib)))))
1267
7c92efff
RW
1268(define-public freepats
1269 (package
1270 (name "freepats")
1271 (version "20060219")
1272 (source (origin
1273 (method url-fetch)
1274 (uri (string-append "http://freepats.zenvoid.org/freepats-"
1275 version ".tar.bz2"))
1276 (sha256
1277 (base32
1278 "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82"))))
1279 (build-system trivial-build-system)
1280 (arguments
1281 `(#:modules ((guix build utils))
1282 #:builder (begin
1283 (use-modules (guix build utils))
1284 (let ((out (string-append %output "/share/freepats")))
1285 (setenv "PATH" (string-append
1286 (assoc-ref %build-inputs "bzip2") "/bin:"
1287 (assoc-ref %build-inputs "tar") "/bin"))
e3cfef22 1288 (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
7c92efff
RW
1289 (chdir "freepats")
1290 ;; Use absolute pattern references
1291 (substitute* "freepats.cfg"
1292 (("Tone_000") (string-append out "/Tone_000"))
1293 (("Drum_000") (string-append out "/Drum_000")))
1294 (mkdir-p out)
e3cfef22
MW
1295 (copy-recursively "." out)
1296 #t))))
7c92efff
RW
1297 (native-inputs
1298 `(("tar" ,tar)
1299 ("bzip2" ,bzip2)))
1300 (home-page "http://freepats.zenvoid.org")
1301 (synopsis "GUS compatible patches for MIDI players")
1302 (description
1303 "FreePats is a project to create a free and open set of GUS compatible
1304patches that can be used with softsynths such as Timidity and WildMidi.")
1305 ;; GPLv2+ with exception for compositions using these patches.
1306 (license license:gpl2+)))
1307
fcbeb00b
RW
1308(define-public guitarix
1309 (package
1310 (name "guitarix")
12327d74 1311 (version "0.38.1")
fcbeb00b
RW
1312 (source (origin
1313 (method url-fetch)
1314 (uri (string-append
de67e922 1315 "mirror://sourceforge/guitarix/guitarix/guitarix2-"
d706d943 1316 version ".tar.xz"))
fcbeb00b
RW
1317 (sha256
1318 (base32
12327d74 1319 "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"))))
fcbeb00b
RW
1320 (build-system waf-build-system)
1321 (arguments
1322 `(#:tests? #f ; no "check" target
1323 #:python ,python-2
1324 #:configure-flags
1325 (list
fcbeb00b 1326 ;; Add the output lib directory to the RUNPATH.
3c3e6972 1327 (string-append "--ldflags=-Wl,-rpath=" %output "/lib")
4e51d735
RW
1328 "--cxxflags=-std=c++11")
1329 #:phases
1330 (modify-phases %standard-phases
1331 (add-after 'unpack 'fix-boost-includes
1332 (lambda _
1333 (substitute* "src/headers/gx_internal_plugins.h"
1334 (("namespace gx_jack" m)
1335 (string-append "#include <boost/noncopyable.hpp>\n" m)))
1336 (substitute* '("src/headers/gx_system.h"
1337 "src/headers/gx_parameter.h"
1338 "src/headers/gx_json.h")
1339 (("namespace gx_system" m)
1340 (string-append "#include <boost/noncopyable.hpp>\n" m)))
1341 #t)))))
fcbeb00b
RW
1342 (inputs
1343 `(("libsndfile" ,libsndfile)
1344 ("boost" ,boost)
d54145c3 1345 ("curl" ,curl)
fcbeb00b
RW
1346 ("avahi" ,avahi)
1347 ("eigen" ,eigen)
1348 ("lv2" ,lv2)
1349 ("lilv" ,lilv)
1350 ("ladspa" ,ladspa)
1351 ("jack" ,jack-1)
1352 ("gtkmm" ,gtkmm-2)
1353 ("gtk+" ,gtk+-2)
1354 ("fftwf" ,fftwf)
1355 ("lrdf" ,lrdf)
1356 ("zita-resampler" ,zita-resampler)
1357 ("zita-convolver" ,zita-convolver)))
1358 (native-inputs
1359 `(("gperf" ,gperf)
49767428 1360 ("faust" ,faust)
fcbeb00b 1361 ("intltool" ,intltool)
b94a6ca0 1362 ("gettext" ,gettext-minimal)
fcbeb00b
RW
1363 ("pkg-config" ,pkg-config)))
1364 (native-search-paths
1365 (list (search-path-specification
1366 (variable "LV2_PATH")
1367 (files '("lib/lv2")))))
1368 (home-page "http://guitarix.org/")
1369 (synopsis "Virtual guitar amplifier")
1370 (description "Guitarix is a virtual guitar amplifier running JACK.
1371Guitarix takes the signal from your guitar as a mono-signal from your sound
1372card. The input is processed by a main amp and a rack-section. Both can be
1373routed separately and deliver a processed stereo-signal via JACK. You may
1374fill the rack with effects from more than 25 built-in modules including stuff
1375from a simple noise gate to modulation effects like flanger, phaser or
1376auto-wah.")
1377 (license license:gpl2+)))
1378
5f5b5768
RW
1379(define-public guitarix-lv2
1380 (package (inherit guitarix)
1381 (name "guitarix-lv2")
1382 (arguments
1383 (substitute-keyword-arguments (package-arguments guitarix)
1384 ((#:configure-flags flags)
029de52f 1385 `(cons "--no-standalone" ,flags))))))
5f5b5768 1386
11d4800a
RW
1387(define-public rakarrack
1388 (package
1389 (name "rakarrack")
1390 (version "0.6.1")
1391 (source (origin
1392 (method url-fetch)
1393 (uri (string-append "mirror://sourceforge/rakarrack/rakarrack/"
1394 "rakarrack-" version "/rakarrack-"
1395 version ".tar.bz2"))
1396 (sha256
1397 (base32
1398 "1rpf63pdn54c4yg13k7cb1w1c7zsvl97c4qxcpz41c8l91xd55kn"))
1399 (modules '((guix build utils)))
1400 (snippet
1401 '(begin
1402 (substitute* '("src/process.C"
1403 "src/global.h")
1404 (("#include <Fl/") "#include <FL/"))
1405 #t))))
1406 (build-system gnu-build-system)
1407 (inputs
1408 `(("alsa-utils" ,alsa-utils)
1409 ("fltk" ,fltk)
1410 ("libx11" ,libx11)
1411 ("libxext" ,libxext)
1412 ("libxfixes" ,libxfixes)
1413 ("libxft" ,libxft)
1414 ("libxrender" ,libxrender)
1415 ("libxpm" ,libxpm)
1416 ("fontconfig" ,fontconfig)
1417 ("freetype" ,freetype)
1418 ("jack" ,jack-1)
1419 ("alsa-lib" ,alsa-lib)
1420 ("libsndfile" ,libsndfile)
1421 ("libsamplerate" ,libsamplerate)
1422 ("zlib" ,zlib)))
1423 (home-page "http://rakarrack.sourceforge.net/")
1424 (synopsis "Audio effects processor")
1425 (description
1426 "Rakarrack is a richly featured multi-effects processor emulating a
1427guitar effects pedalboard. Effects include compressor, expander, noise gate,
1428equalizers, exciter, flangers, chorus, various delay and reverb effects,
1429distortion modules and many more. Most of the effects engine is built from
1430modules found in the excellent software synthesizer ZynAddSubFX. Presets and
1431user interface are optimized for guitar, but Rakarrack processes signals in
1432stereo while it does not apply internal band-limiting filtering, and thus is
1433well suited to all musical instruments and vocals.")
1434 ;; The code is explicitly licensed under the GPL version 2 only.
1435 (license license:gpl2)))
1436
32cf42c1
RW
1437(define-public ir
1438 (package
1439 (name "ir")
1440 (version "1.3.2")
1441 (source (origin
1442 (method url-fetch)
c50f2af9
TGR
1443 ;; The original home-page is gone. Download the tarball from an
1444 ;; archive mirror instead.
1445 (uri (list (string-append
1446 "https://web.archive.org/web/20150803095032/"
1447 "http://factorial.hu/system/files/ir.lv2-"
1448 version ".tar.gz")
1449 (string-append
1450 "https://mirrors.kernel.org/gentoo/distfiles/ir.lv2-"
1451 version ".tar.gz")))
32cf42c1
RW
1452 (sha256
1453 (base32
1454 "1jh2z01l9m4ar7yz0n911df07dygc7n4cl59p7qdjbh0nvkm747g"))))
1455 (build-system gnu-build-system)
1456 (arguments
2df984f2 1457 `(#:tests? #f ; no tests
32cf42c1 1458 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2df984f2
TGR
1459 #:phases (modify-phases %standard-phases
1460 (delete 'configure)))) ; no configure script
32cf42c1
RW
1461 (inputs
1462 `(("libsndfile" ,libsndfile)
1463 ("libsamplerate" ,libsamplerate)
1464 ("lv2" ,lv2)
1465 ("glib" ,glib)
1466 ("gtk+" ,gtk+-2)
1467 ("zita-convolver" ,zita-convolver)))
1468 (native-inputs
1469 `(("pkg-config" ,pkg-config)))
1470 (native-search-paths
1471 (list (search-path-specification
1472 (variable "LV2_PATH")
1473 (files '("lib/lv2")))))
c50f2af9
TGR
1474 ;; Link to an archived copy of the home-page since the original is gone.
1475 (home-page (string-append "https://web.archive.org/web/20150803095032/"
1476 "http://factorial.hu/plugins/lv2/ir"))
32cf42c1
RW
1477 (synopsis "LV2 convolution reverb")
1478 (description
1479 "IR is a low-latency, real-time, high performance signal convolver
1480especially for creating reverb effects. It supports impulse responses with 1,
14812 or 4 channels, in any soundfile format supported by libsndfile.")
1482 (license license:gpl2+)))
1483
fb68469f
RW
1484(define-public jack-1
1485 (package
1486 (name "jack")
31b7af76 1487 (version "0.125.0")
fb68469f
RW
1488 (source (origin
1489 (method url-fetch)
1490 (uri (string-append
1491 "http://jackaudio.org/downloads/jack-audio-connection-kit-"
1492 version
1493 ".tar.gz"))
1494 (sha256
1495 (base32
31b7af76 1496 "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm"))))
fb68469f 1497 (build-system gnu-build-system)
8e2c0ce4
MB
1498 (arguments
1499 `(#:phases (modify-phases %standard-phases
1500 (add-after 'unpack 'patch-configure
1501 (lambda _
1502 (substitute* "configure"
1503 ;; Install to <out/lib> regardless of platform.
1504 (("libnn=lib64") "libnn=lib"))
1505 #t)))))
fb68469f 1506 (inputs
2f9ae82f 1507 `(("alsa-lib" ,alsa-lib)
5d95e30b
RW
1508 ("readline" ,readline)))
1509 ;; uuid.h is included in the JACK type headers
ca01b3ad 1510 ;; db.h is included in the libjack metadata headers
5d95e30b 1511 (propagated-inputs
ca01b3ad
RW
1512 `(("libuuid" ,util-linux)
1513 ("bdb" ,bdb)))
2f9ae82f
RW
1514 (native-inputs
1515 `(("pkg-config" ,pkg-config)))
fb68469f
RW
1516 (home-page "http://jackaudio.org/")
1517 (synopsis "JACK audio connection kit")
1518 (description
1519 "JACK is a low-latency audio server. It can connect a number of
1520different applications to an audio device, as well as allowing them to share
1521audio between themselves. JACK is different from other audio server efforts
1522in that it has been designed from the ground up to be suitable for
1523professional audio work. This means that it focuses on two key areas:
1524synchronous execution of all clients, and low latency operation.")
1525 ;; Most files are licensed under the GPL. However, the libjack/ tree is
1526 ;; licensed under the LGPL in order to allow for proprietary usage.
e89fa047 1527 (license (list license:gpl2+ license:lgpl2.1+))))
c54a8981 1528
bcbc02fd
RW
1529;; Packages depending on JACK should always prefer jack-1. Both jack-1 and
1530;; jack-2 implement the same API. JACK2 is provided primarily as a client
1531;; program for users who might benefit from the D-BUS features.
c54a8981
RW
1532(define-public jack-2
1533 (package (inherit jack-1)
314275c7 1534 (name "jack2")
8c03d1fa 1535 (version "1.9.12")
c54a8981
RW
1536 (source (origin
1537 (method url-fetch)
a4527622
RW
1538 (uri (string-append "https://github.com/jackaudio/jack2/releases/"
1539 "download/v" version "/jack2-"
1540 version ".tar.gz"))
f586c877 1541 (file-name (string-append name "-" version ".tar.gz"))
c54a8981
RW
1542 (sha256
1543 (base32
8c03d1fa 1544 "0crf4y9a5j9miw8r5ji4l3w5w0y2frrf7xyfsfdgacnw6vwy5vyy"))))
c54a8981
RW
1545 (build-system waf-build-system)
1546 (arguments
bc8bf605
RW
1547 `(#:python ,python-2
1548 #:tests? #f ; no check target
c54a8981 1549 #:configure-flags '("--dbus"
b416c647
SB
1550 "--alsa")
1551 #:phases
1552 (modify-phases %standard-phases
1553 (add-before
1554 'configure 'set-linkflags
1555 (lambda _
1556 ;; Add $libdir to the RUNPATH of all the binaries.
1557 (substitute* "wscript"
1558 ((".*CFLAGS.*-Wall.*" m)
1559 (string-append m
1560 " conf.env.append_unique('LINKFLAGS',"
ee527187
MW
1561 "'-Wl,-rpath=" %output "/lib')\n")))
1562 #t))
bc8bf605
RW
1563 (add-after 'install 'wrap-python-scripts
1564 (lambda* (#:key inputs outputs #:allow-other-keys)
1565 ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
1566 (let* ((out (assoc-ref outputs "out"))
1567 (path (getenv "PYTHONPATH")))
1568 (wrap-program (string-append out "/bin/jack_control")
1569 `("PYTHONPATH" ":" prefix (,path))))
1570 #t)))))
c54a8981
RW
1571 (inputs
1572 `(("alsa-lib" ,alsa-lib)
1573 ("dbus" ,dbus)
1574 ("expat" ,expat)
1575 ("libsamplerate" ,libsamplerate)
1576 ("opus" ,opus)
bc8bf605 1577 ("python2-dbus" ,python2-dbus)
c54a8981
RW
1578 ("readline" ,readline)))
1579 (native-inputs
1580 `(("pkg-config" ,pkg-config)))
1581 ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
1582 (license (list license:gpl2+ license:lgpl2.1+))))
f47cba0e 1583
2f4646b6
RW
1584(define-public jalv
1585 (package
1586 (name "jalv")
f1d81568 1587 (version "1.6.0")
2f4646b6
RW
1588 (source (origin
1589 (method url-fetch)
0d0252e4 1590 (uri (string-append "https://download.drobilla.net/jalv-"
2f4646b6
RW
1591 version ".tar.bz2"))
1592 (sha256
1593 (base32
f1d81568 1594 "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili"))))
2f4646b6 1595 (build-system waf-build-system)
d8c317df
SB
1596 (arguments
1597 `(#:tests? #f ; no check target
691d39a2 1598 #:python ,python-2
d8c317df
SB
1599 #:phases
1600 (modify-phases %standard-phases
1601 (add-before
1602 'configure 'set-flags
1603 (lambda _
1604 ;; Compile with C++11, required by gtkmm.
1605 (setenv "CXXFLAGS" "-std=c++11")
1606 #t)))))
2f4646b6
RW
1607 (inputs
1608 `(("lv2" ,lv2)
1609 ("lilv" ,lilv)
1610 ("suil" ,suil)
f1d81568
RW
1611 ("gtk" ,gtk+)
1612 ("gtkmm" ,gtkmm)
2f4646b6
RW
1613 ("jack" ,jack-1)))
1614 (native-inputs
1615 `(("pkg-config" ,pkg-config)))
0d0252e4 1616 (home-page "https://drobilla.net/software/jalv/")
2f4646b6
RW
1617 (synopsis "Simple LV2 host for JACK")
1618 (description
1619 "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
1620plugins and exposes their ports as JACK ports, essentially making any LV2
1621plugin function as a JACK application.")
1622 (license license:isc)))
1623
2cc7ce31
RW
1624(define-public ladspa
1625 (package
1626 (name "ladspa")
1627 (version "1.13")
0c1910ed
AV
1628 (source
1629 (origin
1630 (method url-fetch)
1631 ;; Since the official link is dead,
1632 ;; we download the tarball from Debian or Internet Archive.
1633 (uri (list (string-append "http://http.debian.net"
1634 "/debian/pool/main/l/ladspa-sdk/ladspa-sdk_"
1635 version ".orig.tar.gz")
1636 (string-append "https://web.archive.org/web/20140717172251/"
1637 "http://www.ladspa.org/download/ladspa_sdk_"
1638 version ".tgz")))
1639 (sha256
1640 (base32
1641 "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm"))))
2cc7ce31
RW
1642 (build-system gnu-build-system)
1643 (arguments
1644 `(#:tests? #f ; the "test" target is a listening test only
1645 #:phases
ee527187
MW
1646 (modify-phases %standard-phases
1647 (replace 'configure
1648 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
1649 (chdir "src")
1650 (let ((out (assoc-ref outputs "out")))
1651 (substitute* "makefile"
1652 (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
1653 (("/usr/include/") (string-append out "/include/"))
1654 (("/usr/bin/") (string-append out "/bin/"))
1655 (("-mkdirhier") "mkdir -p")
1656 (("^CC.*") "CC = gcc\n")
1657 (("^CPP.*") "CPP = g++\n")))
1658 #t))
1659 (delete 'build))))
0c1910ed
AV
1660 ;; Since the home page is gone, we provide a link to the archived version.
1661 (home-page
1662 "https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
2cc7ce31
RW
1663 (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)")
1664 (description
1665 "LADSPA is a standard that allows software audio processors and effects
1666to be plugged into a wide range of audio synthesis and recording packages.")
1667 (license license:lgpl2.1+)))
1668
da49086a
RW
1669(define-public lash
1670 (package
1671 (name "lash")
1672 (version "0.6.0-rc2")
1673 (source (origin
1674 (method url-fetch)
1675 ;; The tilde is not permitted in the builder name, but is used
1676 ;; in the tarball.
1677 (uri (string-append
1678 "mirror://savannah/lash/lash-"
1679 (string-join (string-split version #\-) "~")
1680 ".tar.bz2"))
1681 (file-name (string-append name "-" version ".tar.bz2"))
1682 (sha256
1683 (base32
1684 "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
1685 (build-system gnu-build-system)
44df7807
EF
1686 (arguments
1687 '(#:phases
1688 (modify-phases %standard-phases
1689 ;; lashd embeds an ancient version of sigsegv so we just skip it
1690 (add-after 'unpack 'skip-lashd
1691 (lambda _
1692 (substitute* '("Makefile.am" "Makefile.in")
1693 (("lashd ") ""))
b07bfd06
EF
1694 #t)))
1695 #:configure-flags '("--disable-static")))
da49086a
RW
1696 (inputs
1697 `(("bdb" ,bdb)
1698 ("gtk" ,gtk+-2)
1699 ("jack" ,jack-1)
da49086a
RW
1700 ("readline" ,readline)
1701 ("python" ,python-2)))
1702 ;; According to pkg-config, packages depending on lash also need to have
1703 ;; at least the following packages declared as inputs.
1704 (propagated-inputs
1705 `(("alsa-lib" ,alsa-lib)
1706 ("dbus" ,dbus)
1707 ("libxml2" ,libxml2)))
1708 (native-inputs
1709 `(("pkg-config" ,pkg-config)))
340978d7 1710 (home-page "https://www.nongnu.org/lash/")
da49086a
RW
1711 (synopsis "Audio application session manager")
1712 (description
1713 "LASH is a session management system for audio applications. It allows
1714you to save and restore audio sessions consisting of multiple interconneced
1715applications, restoring program state (i.e. loaded patches) and the
1716connections between them.")
1717 (license license:gpl2+)))
1718
8c0b5a75
TUBK
1719(define-public libbs2b
1720 (package
1721 (name "libbs2b")
1722 (version "3.1.0")
1723 (source (origin
1724 (method url-fetch)
de67e922
LF
1725 (uri (string-append "mirror://sourceforge/bs2b/libbs2b/" version
1726 "/libbs2b-" version ".tar.lzma"))
8c0b5a75
TUBK
1727 (sha256
1728 (base32
1729 "1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
1730 (build-system gnu-build-system)
1731 (native-inputs `(("pkg-config" ,pkg-config)))
1732 (inputs `(("libsndfile" ,libsndfile)))
3b3b60d0 1733 (home-page "https://sourceforge.net/projects/bs2b/")
8c0b5a75
TUBK
1734 (synopsis "Bauer stereophonic-to-binaural DSP")
1735 (description
1736 "The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
1737designed to improve headphone listening of stereo audio records. Recommended
1738for headphone prolonged listening to disable superstereo fatigue without
1739essential distortions.")
1740 (license license:expat)))
1741
f47cba0e
RW
1742(define-public liblo
1743 (package
1744 (name "liblo")
6a7ef08a 1745 (version "0.30")
f47cba0e
RW
1746 (source (origin
1747 (method url-fetch)
de67e922
LF
1748 (uri (string-append "mirror://sourceforge/liblo/liblo/" version
1749 "/liblo-" version ".tar.gz"))
f47cba0e
RW
1750 (sha256
1751 (base32
6a7ef08a 1752 "06wdjzxjdshr6hyl4c94yvg3jixiylap8yjs8brdfpm297gck9rh"))))
f47cba0e
RW
1753 (build-system gnu-build-system)
1754 (arguments
1755 `(;; liblo test FAILED
1756 ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
1757 #:tests? #f))
1758 (home-page "http://liblo.sourceforge.net")
1759 (synopsis "Implementation of the Open Sound Control protocol")
1760 (description
1761 "liblo is a lightweight library that provides an easy to use
03b71957 1762implementation of the Open Sound Control (@dfn{OSC}) protocol.")
f47cba0e 1763 (license license:lgpl2.1+)))
e2420191 1764
fbcad884
OP
1765(define-public python-pyaudio
1766 (package
1767 (name "python-pyaudio")
1768 (version "0.2.11")
1769 (source
1770 (origin
1771 (method url-fetch)
7d4dae6a 1772 (uri (pypi-uri "PyAudio" version))
fbcad884
OP
1773 (sha256
1774 (base32
1775 "0x7vdsigm7xgvyg3shd3lj113m8zqj2pxmrgdyj66kmnw0qdxgwk"))))
1776 (build-system python-build-system)
1777 (inputs
1778 `(("portaudio" ,portaudio)))
1779 (home-page "https://people.csail.mit.edu/hubert/pyaudio/")
1780 (synopsis "Bindings for PortAudio v19")
1781 (description "This package provides bindings for PortAudio v19, the
1782cross-platform audio input/output stream library.")
1783 (license license:expat)))
1784
1785(define-public python2-pyaudio
1786 (package-with-python2 python-pyaudio))
1787
a91d72e2
RW
1788(define-public python-pyliblo
1789 (package
1790 (name "python-pyliblo")
1791 (version "0.10.0")
1792 (source (origin
1793 (method url-fetch)
1794 (uri (string-append "http://das.nasophon.de/download/pyliblo-"
1795 version ".tar.gz"))
1796 (sha256
1797 (base32
1798 "13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
1799 (build-system python-build-system)
1800 (arguments `(#:tests? #f)) ;no tests
f2516de2
HG
1801 (native-inputs
1802 `(("python-cython" ,python-cython)))
a91d72e2 1803 (inputs
f2516de2 1804 `(("liblo" ,liblo)))
a91d72e2
RW
1805 (home-page "http://das.nasophon.de/pyliblo/")
1806 (synopsis "Python bindings for liblo")
1807 (description
1808 "Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC)
1809library. It supports almost the complete functionality of liblo, allowing you
1810to send and receive OSC messages using a nice and simple Python API. Also
1811included are the command line utilities @code{send_osc} and @code{dump_osc}.")
1812 (license license:lgpl2.1+)))
1813
1814(define-public python2-pyliblo
1815 (package-with-python2 python-pyliblo))
1816
332aad1b
RW
1817(define-public lilv
1818 (package
1819 (name "lilv")
f69b6d1f 1820 (version "0.24.4")
332aad1b
RW
1821 (source (origin
1822 (method url-fetch)
0d0252e4 1823 (uri (string-append "https://download.drobilla.net/lilv-"
d4d3df82 1824 version ".tar.bz2"))
332aad1b
RW
1825 (sha256
1826 (base32
f69b6d1f 1827 "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3"))))
332aad1b 1828 (build-system waf-build-system)
d80ee442 1829 (arguments
d0b025ea 1830 `(#:tests? #f ; no check target
d80ee442
TUBK
1831 #:phases
1832 (modify-phases %standard-phases
1833 (add-before
1834 'configure 'set-ldflags
1835 (lambda* (#:key outputs #:allow-other-keys)
1836 (setenv "LDFLAGS"
1837 (string-append "-Wl,-rpath="
d582d925
MW
1838 (assoc-ref outputs "out") "/lib"))
1839 #t)))))
d0b025ea 1840 ;; Required by lilv-0.pc.
ff7df27d 1841 (propagated-inputs
471884ed
MB
1842 `(("lv2" ,lv2)
1843 ("serd" ,serd)
332aad1b
RW
1844 ("sord" ,sord)
1845 ("sratom" ,sratom)))
1846 (native-inputs
1847 `(("pkg-config" ,pkg-config)))
0d0252e4 1848 (home-page "https://drobilla.net/software/lilv/")
332aad1b
RW
1849 (synopsis "Library to simplify use of LV2 plugins in applications")
1850 (description
1851 "Lilv is a C library to make the use of LV2 plugins as simple as possible
1852for applications. Lilv is the successor to SLV2, rewritten to be
1853significantly faster and have minimal dependencies.")
1854 (license license:isc)))
1855
e2420191
RW
1856(define-public lv2
1857 (package
1858 (name "lv2")
a2467954 1859 (version "1.16.0")
e2420191
RW
1860 (source (origin
1861 (method url-fetch)
1862 (uri (string-append "http://lv2plug.in/spec/lv2-"
eb21d248 1863 version ".tar.bz2"))
e2420191
RW
1864 (sha256
1865 (base32
a2467954 1866 "1ppippbpdpv13ibs06b0bixnazwfhiw0d0ja6hx42jnkgdyp5hyy"))))
e2420191
RW
1867 (build-system waf-build-system)
1868 (arguments
1869 `(#:tests? #f ; no check target
2e189eb8 1870 #:configure-flags '("--no-plugins")))
e2420191
RW
1871 (inputs
1872 ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
1873 `(("libsndfile" ,libsndfile)))
1874 (native-inputs
1875 `(("pkg-config" ,pkg-config)))
1876 (home-page "http://lv2plug.in/")
1877 (synopsis "LV2 audio plugin specification")
1878 (description
1879 "LV2 is an open specification for audio plugins and host applications.
1880At its core, LV2 is a simple stable interface, accompanied by extensions which
1881add functionality to support the needs of increasingly powerful audio
1882software.")
1883 (license license:isc)))
5279eb6f 1884
98247127
RW
1885(define-public lv2-mda-piano
1886 (package
1887 (name "lv2-mda-piano")
1888 (version "0.0.2")
1889 (source (origin
1890 (method git-fetch)
1891 (uri (git-reference
f6f499b3 1892 (url "http://git.elephly.net/software/lv2-mdametapiano.git")
98247127 1893 (commit version)))
35a01e67 1894 (file-name (git-file-name name version))
98247127
RW
1895 (sha256
1896 (base32
1897 "07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
1898 (build-system gnu-build-system)
1899 (arguments
1900 `(#:make-flags (list
1901 "TYPE=mdaPiano"
1902 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1903 #:tests? #f ; no check target
dc1d3cde 1904 #:phases (modify-phases %standard-phases (delete 'configure))))
98247127
RW
1905 (inputs
1906 `(("lv2" ,lv2)
1907 ("lvtk" ,lvtk)))
1908 (native-inputs
1909 `(("pkg-config" ,pkg-config)))
1910 (native-search-paths
1911 (list (search-path-specification
1912 (variable "LV2_PATH")
1913 (files '("lib/lv2")))))
1914 (home-page "http://elephly.net/lv2/mdapiano.html")
1915 (synopsis "LV2 port of the mda Piano plugin")
1916 (description "An LV2 port of the mda Piano VSTi.")
1917 (license license:gpl3+)))
1918
8fb79e3d
RW
1919(define-public lv2-mda-epiano
1920 (package (inherit lv2-mda-piano)
1921 (name "lv2-mda-epiano")
1922 (arguments
1923 `(#:make-flags (list
1924 "TYPE=mdaEPiano"
1925 (string-append "PREFIX=" (assoc-ref %outputs "out")))
1926 #:tests? #f ; no check target
dc1d3cde 1927 #:phases (modify-phases %standard-phases (delete 'configure))))
8fb79e3d
RW
1928 (home-page "http://elephly.net/lv2/mdaepiano.html")
1929 (synopsis "LV2 port of the mda EPiano plugin")
1930 (description "An LV2 port of the mda EPiano VSTi.")))
1931
c1718190
RW
1932(define-public lvtk
1933 (package
1934 (name "lvtk")
1935 (version "1.2.0")
1936 (source (origin
b255365c
RW
1937 (method git-fetch)
1938 (uri (git-reference
1939 (url "https://github.com/lvtk/lvtk.git")
1940 (commit version)))
1941 (file-name (git-file-name name version))
c1718190
RW
1942 (sha256
1943 (base32
b255365c 1944 "1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
c1718190
RW
1945 (build-system waf-build-system)
1946 (arguments
1947 `(#:tests? #f ; no check target
1948 #:python ,python-2
1949 #:configure-flags
1950 (list (string-append "--boost-includes="
1951 (assoc-ref %build-inputs "boost")
c91d3fb7
EB
1952 "/include"))
1953 #:phases (modify-phases %standard-phases
1954 (add-before
1955 'configure 'set-flags
1956 (lambda* (#:key inputs #:allow-other-keys)
1957 ;; See e.g. https://github.com/lvtk/lvtk/issues/21
1958 (setenv "LDFLAGS"
1959 (string-append
1960 "-L" (assoc-ref inputs "boost") "/lib "
85f4863f
RW
1961 "-lboost_system"))
1962 ;; Needed for gtkmm
1963 (substitute* '("src/wscript_build"
1964 "examples/wscript_build")
1965 (("cxxflags.*= \\[" line)
1966 (string-append line "\"-std=c++11\", ")))
1967 #t)))))
c1718190
RW
1968 (inputs
1969 `(("boost" ,boost)
85f4863f 1970 ("gtkmm" ,gtkmm-2)
c1718190
RW
1971 ("lv2" ,lv2)))
1972 (native-inputs
1973 `(("pkg-config" ,pkg-config)))
1974 (home-page "https://github.com/lvtk/lvtk")
1975 (synopsis "C++ libraries for LV2 plugins")
1976 (description
1977 "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
1978extensions into easy to use C++ classes. It is the successor of
1979lv2-c++-tools.")
1980 (license license:gpl3+)))
1981
f2fac359
TUBK
1982(define-public openal
1983 (package
1984 (name "openal")
8eadc552 1985 (version "1.19.1")
f2fac359
TUBK
1986 (source (origin
1987 (method url-fetch)
1988 (uri (string-append
6b009dbf 1989 "http://openal-soft.org/openal-releases/openal-soft-"
f2fac359
TUBK
1990 version ".tar.bz2"))
1991 (sha256
1992 (base32
8eadc552 1993 "1sdjhkz2gd6lbnwphi1b6aw3br4wv2lik5vnqh6mxfc8a7zqfbsw"))))
f2fac359
TUBK
1994 (build-system cmake-build-system)
1995 (arguments
7ee5db15
RW
1996 `(#:tests? #f ; no check target
1997 #:phases
1998 (modify-phases %standard-phases
1999 (add-after
2000 'unpack 'use-full-library-paths
2001 (lambda* (#:key inputs #:allow-other-keys)
2002 (substitute* "Alc/backends/pulseaudio.c"
2003 (("#define PALIB \"libpulse\\.so\\.0\"")
2004 (string-append "#define PALIB \""
2005 (assoc-ref inputs "pulseaudio")
2006 "/lib/libpulse.so.0"
2007 "\"")))
2008 (substitute* "Alc/backends/alsa.c"
2009 (("LoadLib\\(\"libasound\\.so\\.2\"\\)")
2010 (string-append "LoadLib(\""
2011 (assoc-ref inputs "alsa-lib")
2012 "/lib/libasound.so.2"
2013 "\")")))
2014 #t)))))
f2fac359
TUBK
2015 (inputs
2016 `(("alsa-lib" ,alsa-lib)
2017 ("pulseaudio" ,pulseaudio)))
2018 (synopsis "3D audio API")
2019 (description
2020 "OpenAL provides capabilities for playing audio in a virtual 3D
2021environment. Distance attenuation, doppler shift, and directional sound
2022emitters are among the features handled by the API. More advanced effects,
2023including air absorption, occlusion, and environmental reverb, are available
2024through the EFX extension. It also facilitates streaming audio, multi-channel
2025buffers, and audio capture.")
6b009dbf 2026 (home-page "http://openal-soft.org/")
f2fac359
TUBK
2027 (license license:lgpl2.0+)))
2028
c2b411c2 2029(define-public freealut
2030 (package
2031 (name "freealut")
2032 (version "1.1.0")
2033 (source (origin
2034 (method url-fetch)
2035 ;; Upstream url is unclear, many systems use Fedora, there is also
2036 ;; https://github.com/vancegroup/freealut though the status of it
2037 ;; (official? unofficial?) is not clear.
2038 (uri (string-append
2039 "https://pkgs.fedoraproject.org/repo/pkgs/" name "/" name "-"
2040 version ".tar.gz" "/e089b28a0267faabdb6c079ee173664a/" name
2041 "-" version ".tar.gz"))
2042 (sha256
2043 (base32
2044 "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0"))))
2045 (build-system cmake-build-system)
2046 (arguments
2047 `(#:tests? #f)) ; no check target
2048 (inputs
2049 `(("openal" ,openal)))
2050 (synopsis "Free implementation of OpenAL's ALUT standard")
2051 (description "freealut is the OpenAL Utility Toolkit.")
2052 (home-page "http://kcat.strangesoft.net/openal.html")
2053 (license license:lgpl2.0)))
2054
4443bb8d
RW
2055(define-public patchage
2056 (package
2057 (name "patchage")
2058 (version "1.0.0")
2059 (source (origin
2060 (method url-fetch)
0d0252e4 2061 (uri (string-append "https://download.drobilla.net/patchage-"
4443bb8d
RW
2062 version
2063 ".tar.bz2"))
2064 (sha256
2065 (base32
2066 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
2067 (build-system waf-build-system)
0fd9671b
RW
2068 (arguments
2069 `(#:tests? #f ; no check target
2070 #:python ,python-2))
4443bb8d
RW
2071 (inputs
2072 `(("alsa-lib" ,alsa-lib)
2073 ("boost" ,boost)
2074 ("jack" ,jack-1)
4443bb8d 2075 ("ganv" ,ganv)
4443bb8d
RW
2076 ("glibmm" ,glibmm)
2077 ("gtkmm" ,gtkmm-2)
4443bb8d
RW
2078 ("dbus-glib" ,dbus-glib)))
2079 (native-inputs
2080 `(("pkg-config" ,pkg-config)))
0d0252e4 2081 (home-page "https://drobilla.net/software/patchage/")
4443bb8d
RW
2082 (synopsis "Modular patch bay for audio and MIDI systems")
2083 (description
2084 "Patchage is a modular patch bay for audio and MIDI systems based on JACK
2085and ALSA.")
2086 (license license:gpl3+)))
2087
a4b71b32
MB
2088(define-public pcaudiolib
2089 (package
2090 (name "pcaudiolib")
2091 (version "1.1")
2092 (home-page "https://github.com/espeak-ng/pcaudiolib")
2093 (source (origin
2094 (method git-fetch)
2095 (uri (git-reference (url home-page) (commit version)))
2096 (file-name (git-file-name name version))
2097 (sha256
2098 (base32
2099 "0c55hlqqh0m7bcb3nlgv1s4a22s5bgczr1cakjh3767rjb10khi0"))))
2100 (build-system gnu-build-system)
2101 (arguments
2102 `(#:configure-flags '("--disable-static")))
2103 (native-inputs
2104 `(("autoconf" ,autoconf)
2105 ("automake" ,automake)
2106 ("libtool" ,libtool)
2107 ("pkg-config" ,pkg-config)
2108 ("which" ,which)))
2109 (inputs
2110 `(("alsa-lib" ,alsa-lib)
2111 ("pulseaudio" ,pulseaudio)))
2112 (synopsis "Portable C audio library")
2113 (description
2114 "The Portable C Audio Library (pcaudiolib) provides a C@tie{}API to
2115different audio devices such as ALSA or PulseAudio.")
2116 (license (list license:gpl3+
2117 ;; The bundled TPCircularBuffer uses a custom license.
2118 (license:non-copyleft
2119 "file://src/TPCircularBuffer/README.markdown")))))
2120
0d78e377
MM
2121(define-public qjackctl
2122 (package
2123 (name "qjackctl")
e7597aad 2124 (version "0.5.9")
0d78e377
MM
2125 (source (origin
2126 (method url-fetch)
1538bc33
RW
2127 (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
2128 version "/qjackctl-" version ".tar.gz"))
0d78e377
MM
2129 (sha256
2130 (base32
e7597aad 2131 "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"))))
0d78e377
MM
2132 (build-system gnu-build-system)
2133 (arguments
4dcf221c 2134 '(#:tests? #f)) ; no check target
0d78e377 2135 (inputs
5ffa7cb1 2136 `(("jack" ,jack-1)
c0c5feda 2137 ("alsa-lib" ,alsa-lib)
a3c57693
EF
2138 ("qtbase" ,qtbase)
2139 ("qtx11extras" ,qtx11extras)))
0d78e377
MM
2140 (native-inputs
2141 `(("pkg-config" ,pkg-config)
2142 ("qttools" ,qttools)))
2143 (home-page "https://qjackctl.sourceforge.io/")
2144 (synopsis "Jack server control application")
2145 (description "Control a Jack server. Allows you to plug various sources
2146into various outputs and to start, stop and configure jackd")
2147 (license license:gpl2+)))
2148
40713793
RW
2149(define-public qjackrcd
2150 (package
2151 (name "qjackrcd")
78357403 2152 (version "1.2.2")
40713793 2153 (source (origin
78357403
RW
2154 (method git-fetch)
2155 (uri (git-reference
2156 (url "https://github.com/orouits/qjackrcd.git")
2157 (commit (string-append "v" version))))
70aa07d2 2158 (file-name (git-file-name name version))
40713793
RW
2159 (sha256
2160 (base32
78357403 2161 "1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al"))))
40713793
RW
2162 (build-system gnu-build-system)
2163 (arguments
2164 `(#:phases
2165 (modify-phases %standard-phases
2166 (replace 'configure
2167 (lambda* (#:key outputs #:allow-other-keys)
14a852bd
TGR
2168 (invoke "qmake"
2169 (string-append "PREFIX="
2170 (assoc-ref outputs "out"))))))))
40713793
RW
2171 (native-inputs
2172 `(("qtbase" ,qtbase))) ; for qmake
2173 (inputs
2174 `(("jack" ,jack-1)
2175 ("libsndfile" ,libsndfile)
2176 ("qtbase" ,qtbase)))
2177 (home-page "https://sourceforge.net/projects/qjackrcd/")
2178 (synopsis "Stereo audio recorder for JACK")
2179 (description "QJackRcd is a simple graphical stereo recorder for JACK
2180supporting silence processing for automatic pause, file splitting, and
2181background file post-processing.")
2182 (license license:gpl2+)))
0d78e377 2183
247384d0
MC
2184(define-public supercollider
2185 (package
2186 (name "supercollider")
13966cbd 2187 (version "3.10.2")
247384d0
MC
2188 (source (origin
2189 (method url-fetch)
2190 (uri (string-append
2191 "https://github.com/supercollider/supercollider"
2192 "/releases/download/Version-" version
2193 "/SuperCollider-" version "-Source-linux.tar.bz2"))
2194 (sha256
2195 (base32
13966cbd 2196 "0ynz1ydcpsd5h57h1n4a7avm6p1cif5a8rkmz4qpr46pr8z9p6iq"))))
247384d0
MC
2197 (build-system cmake-build-system)
2198 (arguments
2199 `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
77cc8778 2200 "-DSC_QT=off"
247384d0
MC
2201 "-DSC_EL=off") ;scel is packaged individually as
2202 ;emacs-scel.
2203 #:modules ((guix build utils)
2204 (guix build cmake-build-system)
2205 (ice-9 ftw))
2206 #:phases
2207 (modify-phases %standard-phases
d871e29a
RW
2208 (add-after 'unpack 'fix-build-with-boost-1.68
2209 (lambda _
2210 (substitute* "server/supernova/utilities/time_tag.hpp"
2211 (("(time_duration offset = .+ microseconds\\().*" _ m)
2212 (string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
2213 #t))
247384d0
MC
2214 (add-after 'unpack 'rm-bundled-libs
2215 (lambda _
2216 ;; The build system doesn't allow us to unbundle the following
2217 ;; libraries. hidapi is also heavily patched and upstream not
2218 ;; actively maintained.
2219 (let ((keep-dirs '("nova-simd" "nova-tt" "hidapi" "TLSF-2.4.6"
2220 "oscpack_1_1_0" "." "..")))
2221 (with-directory-excursion "./external_libraries"
2222 (for-each
2223 delete-file-recursively
2224 (scandir "."
2225 (lambda (x)
2226 (and (eq? (stat:type (stat x)) 'directory)
2227 (not (member (basename x) keep-dirs))))))))
2228 #t))
2229 ;; Some tests are broken (see:
2230 ;; https://github.com/supercollider/supercollider/issues/3555 and
2231 ;; https://github.com/supercollider/supercollider/issues/1736
2232 (add-after 'rm-bundled-libs 'disable-broken-tests
2233 (lambda _
b05399df 2234 (substitute* "testsuite/server/supernova/CMakeLists.txt"
247384d0
MC
2235 (("server_test.cpp")
2236 "")
2237 (("perf_counter_test.cpp")
2238 ""))
b05399df
DM
2239 (delete-file "testsuite/server/supernova/server_test.cpp")
2240 (delete-file "testsuite/server/supernova/perf_counter_test.cpp")
247384d0
MC
2241 (substitute* "testsuite/CMakeLists.txt"
2242 (("add_subdirectory\\(sclang\\)")
2243 ""))
2244 (delete-file "testsuite/sclang/CMakeLists.txt")
247384d0
MC
2245 #t)))))
2246 (native-inputs
77cc8778 2247 `(("pkg-config" ,pkg-config)))
247384d0
MC
2248 (inputs
2249 `(("jack" ,jack-1)
2250 ("libsndfile" ,libsndfile)
2251 ("fftw" ,fftw)
2252 ("libxt" ,libxt)
2253 ("readline" ,readline) ;readline support for sclang's CLI
2254 ("alsa" ,alsa-lib) ;for sclang's MIDI interface
2255 ("eudev" ,eudev) ;for user interactions with devices
2256 ("avahi" ,avahi) ;zeroconf service discovery support
2257 ("icu4c" ,icu4c)
4cb9b726 2258 ("boost" ,boost)
247384d0 2259 ("boost-sync" ,boost-sync)
77cc8778 2260 ("yaml-cpp" ,yaml-cpp)))
247384d0
MC
2261 (home-page "https://github.com/supercollider/supercollider")
2262 (synopsis "Synthesis engine and programming language")
2263 (description "SuperCollider is a synthesis engine (@code{scsynth} or
2264@code{supernova}) and programming language (@code{sclang}). It can be used
2265for experimenting with sound synthesis and algorithmic composition.
2266
2267SuperCollider requires jackd to be installed in your user profile and your
2268user must be allowed to access the realtime features of the kernel. Search
2269for \"realtime\" in the index of the Guix manual to learn how to achieve this
59e80445 2270using Guix System.")
247384d0
MC
2271 (license license:gpl2+)))
2272
b22755be
RW
2273(define-public raul
2274 (package
2275 (name "raul")
2276 (version "0.8.0")
2277 (source (origin
2278 (method url-fetch)
0d0252e4 2279 (uri (string-append "https://download.drobilla.net/raul-"
b22755be
RW
2280 version ".tar.bz2"))
2281 (sha256
2282 (base32
2283 "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
2284 (build-system waf-build-system)
2285 (arguments
2286 `(#:python ,python-2
2287 #:tests? #f)) ; no check target
2288 (inputs
2289 `(("glib" ,glib)
2290 ("boost" ,boost)))
2291 (native-inputs
2292 `(("pkg-config" ,pkg-config)))
0d0252e4 2293 (home-page "https://drobilla.net/software/raul/")
b22755be
RW
2294 (synopsis "Real-time audio utility library")
2295 (description
2296 "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
2297aimed at audio/musical applications.")
2298 (license license:gpl2+)))
2299
f91d0d08 2300(define-public raul-devel
a8bf6b9b 2301 (let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624")
f91d0d08
RW
2302 (revision "1"))
2303 (package (inherit raul)
2304 (name "raul")
a8bf6b9b 2305 (version (string-append "0.8.9-" revision "."
f91d0d08
RW
2306 (string-take commit 9)))
2307 (source (origin
2308 (method git-fetch)
2309 (uri (git-reference
0d0252e4 2310 (url "https://git.drobilla.net/raul.git")
f91d0d08
RW
2311 (commit commit)))
2312 (file-name (string-append name "-" version "-checkout"))
2313 (sha256
2314 (base32
a8bf6b9b 2315 "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
f91d0d08 2316
57238ff2
RW
2317(define-public rubberband
2318 (package
2319 (name "rubberband")
4bee557d 2320 (version "1.8.2")
57238ff2
RW
2321 (source (origin
2322 (method url-fetch)
2323 (uri
2324 (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
2325 version
2326 ".tar.bz2"))
fdf359f8 2327 (file-name (string-append name "-" version ".tar.bz2"))
57238ff2
RW
2328 (sha256
2329 (base32
4bee557d 2330 "0462fmjnfqpv2qi0s6ny42drqarkr0xy9lw8frjmfgzyzl5n9294"))))
57238ff2 2331 (build-system gnu-build-system)
4bee557d
TGR
2332 (arguments
2333 `(#:tests? #f ; no check target
2334 #:phases
2335 (modify-phases %standard-phases
2336 (add-after 'unpack 'skip-jni-installation
2337 ;; ‘make install’ unconditionally installs librubberband-jni.so,
2338 ;; which is never built by ‘make all’. Skip it.
2339 (lambda _
2340 (substitute* "Makefile.in"
2341 ((".*cp -f \\$\\(JNI_TARGET\\).*") ""))
2342 #t)))))
57238ff2
RW
2343 (inputs
2344 `(("ladspa" ,ladspa)
2345 ("libsamplerate" ,libsamplerate)
2346 ("vamp" ,vamp)))
2347 (native-inputs
2348 `(("pkg-config" ,pkg-config)))
20377e4a 2349 (home-page "https://breakfastquay.com/rubberband/")
57238ff2
RW
2350 (synopsis "Audio time-stretching and pitch-shifting library")
2351 (description
2352 "Rubber Band is a library and utility program that permits changing the
2353tempo and pitch of an audio recording independently of one another.")
2354 (license license:gpl2+)))
2355
cc45cff8
RW
2356(define-public rtmidi
2357 (package
2358 (name "rtmidi")
2359 (version "2.1.0")
2360 (source (origin
eca77293
RW
2361 (method git-fetch)
2362 (uri (git-reference
2363 (url "https://github.com/powertab/rtmidi.git")
2364 (commit version)))
2365 (file-name (git-file-name name version))
cc45cff8
RW
2366 (sha256
2367 (base32
eca77293 2368 "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
cc45cff8
RW
2369 (build-system gnu-build-system)
2370 (arguments
2371 `(#:tests? #f ;no "check" target
7db147ec
RW
2372 #:phases
2373 (modify-phases %standard-phases
2374 (add-before 'build 'fix-makefile
2375 (lambda _
2376 (substitute* "Makefile"
2377 (("/bin/ln") "ln")
2378 (("RtMidi.h RtError.h") "RtMidi.h"))
2379 #t))
2380 (add-before 'install 'make-target-dirs
2381 (lambda _
2382 (let ((out (assoc-ref %outputs "out")))
2383 (mkdir-p (string-append out "/bin"))
2384 (mkdir (string-append out "/lib"))
2385 (mkdir (string-append out "/include")))
2386 #t)))))
cc45cff8
RW
2387 (inputs
2388 `(("jack" ,jack-1)
2389 ("alsa-lib" ,alsa-lib)))
2390 (native-inputs
2391 `(("autoconf" ,autoconf)
2392 ("automake" ,automake)
2393 ("libtool" ,libtool)
2394 ("pkg-config" ,pkg-config)))
2395 (home-page "https://github.com/powertab/rtmidi")
2396 (synopsis "Cross-platform MIDI library for C++")
2397 (description
2398 "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
2399classes) that provide a common cross-platform API for realtime MIDI
2400input/output.")
2401 (license license:expat)))
2402
5279eb6f
RW
2403(define-public sratom
2404 (package
2405 (name "sratom")
80b32d96 2406 (version "0.6.2")
5279eb6f
RW
2407 (source (origin
2408 (method url-fetch)
0d0252e4 2409 (uri (string-append "https://download.drobilla.net/sratom-"
7181981f 2410 version ".tar.bz2"))
5279eb6f
RW
2411 (sha256
2412 (base32
80b32d96 2413 "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a"))))
5279eb6f
RW
2414 (build-system waf-build-system)
2415 (arguments `(#:tests? #f)) ; no check target
2416 (inputs
2417 `(("lv2" ,lv2)
2418 ("serd" ,serd)
2419 ("sord" ,sord)))
2420 (native-inputs
2421 `(("pkg-config" ,pkg-config)))
0d0252e4 2422 (home-page "https://drobilla.net/software/sratom/")
5279eb6f
RW
2423 (synopsis "Library for serialising LV2 atoms to/from RDF")
2424 (description
2425 "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
2426the Turtle syntax.")
2427 (license license:isc)))
f3ab6ad3
RW
2428
2429(define-public suil
2430 (package
2431 (name "suil")
8fadac95 2432 (version "0.10.4")
f3ab6ad3 2433 (source (origin
8fadac95
TGR
2434 (method url-fetch)
2435 (uri (string-append "https://download.drobilla.net/suil-"
2436 version ".tar.bz2"))
2437 (sha256
2438 (base32
2439 "0ay7hl6nr6ip1nn9k2m8ri3b52b6sx9mhixmcy4fy3kr2a88ksd1"))))
f3ab6ad3 2440 (build-system waf-build-system)
9f64f7e6 2441 (arguments
8fadac95 2442 `(#:tests? #f ; no check target
9f64f7e6
RW
2443 #:configure-flags
2444 '("CXXFLAGS=-std=gnu++11")))
f3ab6ad3
RW
2445 (inputs
2446 `(("lv2" ,lv2)
a00403c6
RW
2447 ("gtk+" ,gtk+-2)
2448 ("gtk+" ,gtk+)
9f64f7e6 2449 ("qt" ,qtbase)))
f3ab6ad3
RW
2450 (native-inputs
2451 `(("pkg-config" ,pkg-config)))
0d0252e4 2452 (home-page "https://drobilla.net/software/suil/")
f3ab6ad3
RW
2453 (synopsis "Library for loading and wrapping LV2 plugin UIs")
2454 (description
2455 "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
2456
2457Suil makes it possible to load a UI of a toolkit in a host using another
2458toolkit. The API is designed such that hosts do not need to explicitly
2459support specific toolkits – if Suil supports a particular toolkit, then UIs in
2460that toolkit will work in all hosts that use Suil automatically.
2461
a00403c6 2462Suil currently supports every combination of Gtk, Qt, and X11.")
f3ab6ad3 2463 (license license:isc)))
db46f2fc 2464
9ffee457
RW
2465(define-public timidity++
2466 (package
2467 (name "timidity++")
2468 (version "2.14.0")
2469 (source (origin
2470 (method url-fetch)
de67e922
LF
2471 (uri (string-append "mirror://sourceforge/timidity/TiMidity++"
2472 "/TiMidity++-" version
2473 "/TiMidity++-" version ".tar.bz2"))
9ffee457
RW
2474 (sha256
2475 (base32
2476 "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
2477 (build-system gnu-build-system)
2478 (arguments
2479 '(#:configure-flags
2480 (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex"
2481 "--enable-ncurses"
2482 "--enable-server"
2483 "--enable-alsaseq"
2484 (string-append "--with-default-path="
2485 (assoc-ref %outputs "out") "/etc/timidity"))
2486 #:phases
dc1d3cde
KK
2487 (modify-phases %standard-phases
2488 (add-after 'install 'install-config
2489 (lambda _
2490 (let ((out (string-append (assoc-ref %outputs "out")
2491 "/etc/timidity")))
2492 (mkdir-p out)
2493 (call-with-output-file
2494 (string-append out "/timidity.cfg")
2495 (lambda (port)
2496 (format port (string-append "source "
2497 (assoc-ref %build-inputs "freepats")
2498 "/share/freepats/freepats.cfg")))))
2499 #t)))))
9ffee457
RW
2500 (inputs
2501 `(("alsa-lib" ,alsa-lib)
2502 ("ao" ,ao)
2503 ("flac" ,flac)
2504 ("jack" ,jack-1)
2505 ("libogg" ,libogg)
2506 ("speex" ,speex)
2507 ("ncurses" ,ncurses)
2508 ("freepats" ,freepats)))
2509 (native-inputs
2510 `(("pkg-config" ,pkg-config)))
2511 (home-page "http://timidity.sourceforge.net/")
2512 (synopsis "Software synthesizer for playing MIDI files")
2513 (description
2514 "TiMidity++ is a software synthesizer. It can play MIDI files by
2515converting them into PCM waveform data; give it a MIDI data along with digital
2516instrument data files, then it synthesizes them in real-time, and plays. It
2517can not only play sounds, but also can save the generated waveforms into hard
2518disks as various audio file formats.")
2519 (license license:gpl2+)))
2520
db46f2fc
RW
2521(define-public vamp
2522 (package
2523 (name "vamp")
b1fb59d3 2524 (version "2.6")
db46f2fc
RW
2525 (source (origin
2526 (method url-fetch)
2527 (uri (string-append
2528 "https://code.soundsoftware.ac.uk"
494e9b91 2529 "/attachments/download/1520/vamp-plugin-sdk-"
b1fb59d3 2530 version ".tar.gz"))
9002e17c
TUBK
2531 (sha256
2532 (base32
494e9b91 2533 "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh"))))
db46f2fc 2534 (build-system gnu-build-system)
9002e17c
TUBK
2535 (arguments
2536 `(#:tests? #f ; no check target
2537 #:phases
dc1d3cde
KK
2538 (modify-phases %standard-phases
2539 (add-after 'install 'remove-libvamp-hostsdk.la
2540 (lambda* (#:key outputs #:allow-other-keys)
2541 ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
2542 (for-each delete-file
2543 (let ((out (assoc-ref outputs "out")))
2544 (list (string-append out "/lib/libvamp-sdk.la")
2545 (string-append out "/lib/libvamp-hostsdk.la"))))
4f27a333 2546 #t)))))
db46f2fc
RW
2547 (inputs
2548 `(("libsndfile" ,libsndfile)))
2549 (native-inputs
2550 `(("pkg-config" ,pkg-config)))
2551 (home-page "http://vamp-plugins.org")
2552 (synopsis "Modular and extensible audio processing system")
2553 (description
2554 "Vamp is an audio processing plugin system for plugins that extract
2555descriptive information from audio data — typically referred to as audio
2556analysis plugins or audio feature extraction plugins.")
2557 (license
2558 (license:x11-style
2559 "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
9f1cdd9d
TUBK
2560
2561(define-public libsbsms
2562 (package
2563 (name "libsbsms")
2564 (version "2.0.2")
2565 (source
2566 (origin
2567 (method url-fetch)
2568 (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version
2569 "/libsbsms-" version ".tar.gz"))
2570 (sha256
2571 (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf"))))
2572 (build-system gnu-build-system)
2573 (native-inputs `(("automake" ,automake)))
2574 (arguments
476b2877
MW
2575 `(#:configure-flags
2576 ;; Disable the use of SSE unless on x86_64.
2577 ,(if (not (string-prefix? "x86_64" (or (%current-target-system)
2578 (%current-system))))
2579 ''("--disable-sse")
2580 ''())
2581 #:phases
09c414d8
MW
2582 (modify-phases %standard-phases
2583 (add-after
2584 'unpack 'fix-ar-lib-path
2585 (lambda* (#:key inputs #:allow-other-keys)
2586 ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'.
2587 (delete-file "ar-lib")
2588 (symlink
2589 (string-append (assoc-ref inputs "automake") "/share/automake-"
2590 ,(package-version automake) "/ar-lib")
ee527187
MW
2591 "ar-lib")
2592 #t)))))
9f1cdd9d
TUBK
2593 (home-page "http://sbsms.sourceforge.net/")
2594 (synopsis "Library for time stretching and pitch scaling of audio")
2595 (description
2596 "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time
2597stretching and pitch scaling of audio. This package contains the library.")
2598 ;; There is no explicit declaration of a license, but a COPYING file
2599 ;; containing gpl2.
2600 (license license:gpl2)))
754a98ae 2601
01b90919
SB
2602(define-public wavpack
2603 (package
2604 (name "wavpack")
5171ea38 2605 (version "5.1.0")
01b90919
SB
2606 (source (origin
2607 (method url-fetch)
2608 (uri (string-append "http://www.wavpack.com/"
2609 name "-" version ".tar.bz2"))
53453d7a
MB
2610 (patches (search-patches "wavpack-CVE-2018-6767.patch"
2611 "wavpack-CVE-2018-7253.patch"
65f704f3 2612 "wavpack-CVE-2018-7254.patch"))
01b90919
SB
2613 (sha256
2614 (base32
5171ea38 2615 "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r"))))
01b90919
SB
2616 (build-system gnu-build-system)
2617 (home-page "http://www.wavpack.com/")
2618 (synopsis "Hybrid lossless audio codec")
2619 (description
2620 "WavPack is an audio compression format with lossless, lossy and hybrid
2621compression modes. This package contains command-line programs and library to
2622encode and decode wavpack files.")
2623 (license license:bsd-3)))
2624
a176dd7e
SB
2625(define-public libmodplug
2626 (package
2627 (name "libmodplug")
06446a7d 2628 (version "0.8.9.0")
a176dd7e
SB
2629 (source (origin
2630 (method url-fetch)
2631 (uri (string-append
0f971a04 2632 "mirror://sourceforge/modplug-xmms/"
a176dd7e
SB
2633 name "/" version "/" name "-" version ".tar.gz"))
2634 (sha256
2635 (base32
06446a7d 2636 "1pnri98a603xk47smnxr551svbmgbzcw018mq1k6srbrq6kaaz25"))))
a176dd7e
SB
2637 (build-system gnu-build-system)
2638 (home-page "http://modplug-xmms.sourceforge.net/")
2639 (synopsis "Mod file playing library")
2640 (description
2641 "Libmodplug renders mod music files as raw audio data, for playing or
2642conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are
2643supported. Optional features include high-quality resampling, bass expansion,
2644surround and reverb.")
2645 (license license:public-domain)))
2646
b97b5cda
SB
2647(define-public libxmp
2648 (package
2649 (name "libxmp")
2784fca0 2650 (version "4.4.1")
b97b5cda
SB
2651 (source (origin
2652 (method url-fetch)
de67e922 2653 (uri (string-append "mirror://sourceforge/xmp/libxmp/" version "/"
b97b5cda
SB
2654 name "-" version ".tar.gz"))
2655 (sha256
2656 (base32
2784fca0 2657 "1kycz4jsyvmf7ny9227b497wc7y5ligydi6fvvldmkf8hk63ad9m"))))
b97b5cda
SB
2658 (build-system gnu-build-system)
2659 (home-page "http://xmp.sourceforge.net/")
2660 (synopsis "Module player library")
2661 (description
2662 "Libxmp is a library that renders module files to PCM data. It supports
2663over 90 mainstream and obscure module formats including Protracker (MOD),
2664Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
2665 (license license:lgpl2.1+)))
2666
3ec4bba4
SB
2667(define-public xmp
2668 (package
2669 (name "xmp")
1a79d476 2670 (version "4.1.0")
3ec4bba4
SB
2671 (source (origin
2672 (method url-fetch)
de67e922 2673 (uri (string-append "mirror://sourceforge/xmp/xmp/" version "/"
3ec4bba4
SB
2674 name "-" version ".tar.gz"))
2675 (sha256
2676 (base32
1a79d476 2677 "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x"))))
3ec4bba4
SB
2678 (build-system gnu-build-system)
2679 (native-inputs
2680 `(("pkg-config" ,pkg-config)))
2681 (inputs
2682 `(("libxmp" ,libxmp)
2683 ("pulseaudio" ,pulseaudio)))
2684 (home-page "http://xmp.sourceforge.net/")
2685 (synopsis "Extended module player")
2686 (description
2687 "Xmp is a portable module player that plays over 90 mainstream and
2688obscure module formats, including Protracker MOD, Fasttracker II XM, Scream
2689Tracker 3 S3M and Impulse Tracker IT files.")
2690 (license license:gpl2+)))
2691
754a98ae
TUBK
2692(define-public soundtouch
2693 (package
2694 (name "soundtouch")
55036ddc 2695 (version "2.1.1")
754a98ae
TUBK
2696 (source
2697 (origin
55036ddc
TGR
2698 (method git-fetch)
2699 (uri (git-reference
2700 (url "https://gitlab.com/soundtouch/soundtouch.git")
2701 (commit version)))
2702 (file-name (git-file-name name version))
754a98ae 2703 (sha256
55036ddc 2704 (base32 "0p6jzgfgqw061702dmd2b6r4arz48ac3mmx2qkvvzf8s5jjzykdh"))))
754a98ae
TUBK
2705 (build-system gnu-build-system)
2706 (native-inputs
2707 `(("autoconf" ,autoconf)
2708 ("automake" ,automake)
2709 ("libtool" ,libtool)
2710 ("file" ,file)))
754a98ae
TUBK
2711 (home-page "http://www.surina.net/soundtouch/")
2712 (synopsis
2713 "Audio processing library for changing tempo, pitch and playback rate")
2714 (description
2715 "SoundTouch is an audio processing library for changing the tempo, pitch
2716and playback rates of audio streams or audio files. It is intended for
2717application developers writing sound processing tools that require tempo/pitch
2718control functionality, or just for playing around with the sound effects.")
2719 (license license:lgpl2.1+)))
4bddd14c 2720
d739f481
AK
2721(define-public sox
2722 (package
2723 (name "sox")
2724 (version "14.4.2")
2725 (source (origin
2726 (method url-fetch)
de67e922
LF
2727 (uri (string-append "mirror://sourceforge/sox/sox/" version "/"
2728 name "-" version ".tar.bz2"))
d739f481
AK
2729 (sha256
2730 (base32
2731 "170lx90r1nlnb2j6lg00524iwvqy72p48vii4xc5prrh8dnrb9l1"))))
2732 (build-system gnu-build-system)
2733 (arguments
2734 '(#:configure-flags
2735 ;; The upstream asks to identify the distribution to diagnose SoX
2736 ;; bug reports.
2737 '("--with-distro=Guix System Distribution")))
2738 (native-inputs
2739 `(("pkg-config" ,pkg-config)))
2740 (inputs
2741 `(("alsa-lib" ,alsa-lib)
2742 ("ao" ,ao)
2743 ("flac" ,flac)
2744 ("lame" ,lame)
2745 ("libid3tag" ,libid3tag)
2746 ("libltdl" ,libltdl)
2747 ("libmad" ,libmad)
2748 ("libpng" ,libpng)
2749 ("libvorbis" ,libvorbis)
2750 ("pulseaudio" ,pulseaudio)))
2751 (home-page "http://sox.sourceforge.net")
2752 (synopsis "Sound processing utility")
2753 (description
2754 "SoX (Sound eXchange) is a command line utility that can convert
2755various formats of computer audio files to other formats. It can also
2756apply various effects to these sound files, and, as an added bonus, SoX
2757can play and record audio files.")
2758 ;; sox.c is distributed under GPL, while the files that make up
2759 ;; libsox are licensed under LGPL.
2760 (license (list license:gpl2+ license:lgpl2.1+))))
2761
4bddd14c
TUBK
2762(define-public soxr
2763 (package
2764 (name "soxr")
9e9a211f 2765 (version "0.1.3")
4bddd14c
TUBK
2766 (source
2767 (origin
2768 (method url-fetch)
2769 (uri
2770 (string-append "mirror://sourceforge/soxr/soxr-" version
2771 "-Source.tar.xz"))
2772 (sha256
9e9a211f 2773 (base32 "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di"))))
4bddd14c
TUBK
2774 (build-system cmake-build-system)
2775 (arguments '(#:tests? #f)) ;no 'check' target
3b3b60d0 2776 (home-page "https://sourceforge.net/p/soxr/wiki/Home/")
4bddd14c
TUBK
2777 (synopsis "One-dimensional sample-rate conversion library")
2778 (description
2779 "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate
2780conversion. It may be used, for example, to resample PCM-encoded audio.")
2781 (license license:lgpl2.1+)))
49f36708
TUBK
2782
2783(define-public twolame
2784 (package
2785 (name "twolame")
2786 (version "0.3.13")
2787 (source
2788 (origin
2789 (method url-fetch)
de67e922
LF
2790 (uri (string-append "mirror://sourceforge/twolame/twolame/" version
2791 "/twolame-" version ".tar.gz"))
49f36708 2792 (sha256
46914280
LF
2793 (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq"))
2794 (modules '((guix build utils)))
2795 ;; The tests break with Perl 5.24:
2796 ;; https://github.com/njh/twolame/issues/21
2797 ;; TODO: Remove this snippet when upgrading twolame.
2798 (snippet
2799 '(begin
2800 (substitute* "tests/test.pl" (("\\(@_\\)") "($_[0])"))
2801 #t))))
49f36708
TUBK
2802 (build-system gnu-build-system)
2803 (inputs
2804 `(("libsndfile" ,libsndfile)))
2805 (native-inputs
2806 `(("perl" ,perl)
2807 ("which" ,which))) ;used in tests/test.pl
2808 (home-page "http://www.twolame.org/")
2809 (synopsis "MPEG Audio Layer 2 (MP2) encoder")
2810 (description
2811 "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
2812tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and
2813portions of LAME.")
2814 (license license:lgpl2.1+)))
bd4464f2
TUBK
2815
2816(define-public portaudio
2817 (package
2818 (name "portaudio")
80420acb 2819 (version "190600.20161030")
bd4464f2
TUBK
2820 (source
2821 (origin
2822 (method url-fetch)
2823 (uri (string-append
2824 "http://www.portaudio.com/archives/pa_stable_v"
2825 (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
2826 ".tgz"))
2827 (sha256
80420acb 2828 (base32 "04qmin6nj144b8qb9kkd9a52xfvm0qdgm8bg8jbl7s3frmyiv8pm"))
fc1adab1 2829 (patches (search-patches "portaudio-audacity-compat.patch"))))
bd4464f2
TUBK
2830 (build-system gnu-build-system)
2831 (inputs
2832 ;; TODO: Add ASIHPI.
2833 `(("alsa-lib" ,alsa-lib)
bcbc02fd 2834 ("jack" ,jack-1)))
cdb4048d
RW
2835 ;; Autoreconf is necessary because the audacity-compat patch modifies .in
2836 ;; files.
bd4464f2 2837 (native-inputs
b47be021
TUBK
2838 `(("autoconf" ,autoconf)
2839 ("automake" ,automake)
2840 ("libtool" ,libtool)
2841 ("pkg-config" ,pkg-config)))
86fded86
RW
2842 (arguments
2843 '(#:tests? #f ;no 'check' target
2844 #:configure-flags '("--with-pic")
2845 #:phases
2846 (modify-phases %standard-phases
2847 ;; This is needed for linking the static libraries
2848 (add-after 'unpack 'build-only-position-independent-code
2849 (lambda _
2850 (substitute* "configure.in"
2851 (("AC_PROG_LIBTOOL" m)
2852 (string-append m "\nAM_PROG_AR\nLT_INIT([pic-only])")))
2853 (delete-file "configure")
2854 #t))
2855 ;; Some headers are not installed by default, but are needed by
2856 ;; packages like Kaldi.
2857 (add-after 'install 'install-missing-headers
2858 (lambda* (#:key outputs #:allow-other-keys)
2859 (install-file "src/common/pa_ringbuffer.h"
2860 (string-append (assoc-ref outputs "out") "/include"))
2861 #t)))))
bd4464f2
TUBK
2862 (home-page "http://www.portaudio.com/")
2863 (synopsis "Audio I/O library")
2864 (description
2865 "PortAudio is a portable C/C++ audio I/O library providing a simple API
2866to record and/or play sound using a callback function or a blocking read/write
2867interface.")
2868 (license license:expat)))
74bbf894 2869
fe73aef4
RW
2870(define-public qsynth
2871 (package
2872 (name "qsynth")
5e4cb92e 2873 (version "0.5.7")
fe73aef4
RW
2874 (source
2875 (origin
2876 (method url-fetch)
de67e922
LF
2877 (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
2878 "/qsynth-" version ".tar.gz"))
fe73aef4 2879 (sha256
5e4cb92e 2880 (base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"))))
fe73aef4
RW
2881 (build-system gnu-build-system)
2882 (arguments
5e4cb92e 2883 `(#:tests? #f)) ; no "check" phase
598f6394 2884 (native-inputs
4ed4bb11
RW
2885 `(("qttools" ,qttools)
2886 ("pkg-config" ,pkg-config)))
fe73aef4 2887 (inputs
598f6394
DC
2888 `(("fluidsynth" ,fluidsynth)
2889 ("qtbase" ,qtbase)
2890 ("qtx11extras" ,qtx11extras)))
12c8c997 2891 (home-page "https://qsynth.sourceforge.io")
fe73aef4
RW
2892 (synopsis "Graphical user interface for FluidSynth")
2893 (description
2894 "Qsynth is a GUI front-end application for the FluidSynth SoundFont
2895synthesizer written in C++.")
2896 (license license:gpl2+)))
2897
55b596c3
TUBK
2898(define-public rsound
2899 (package
2900 (name "rsound")
2901 (version "1.1")
2902 (source
2903 (origin
458baefb
RW
2904 (method git-fetch)
2905 (uri (git-reference
2906 (url "https://github.com/Themaister/RSound.git")
2907 (commit (string-append "v" version))))
2908 (file-name (git-file-name name version))
55b596c3 2909 (sha256
458baefb 2910 (base32 "0gspmr3klwnq98h17p5hc6ifygya4p80g4g8r7a1qavm3mv19waf"))))
55b596c3
TUBK
2911 (build-system gnu-build-system)
2912 (inputs
2913 `(("alsa-lib" ,alsa-lib)
276f49df 2914 ("jack" ,jack-1)
55b596c3
TUBK
2915 ("ao" ,ao)
2916 ("libsamplerate" ,libsamplerate)
2917 ("openal" ,openal)
2918 ("portaudio" ,portaudio)
2919 ("pulseaudio" ,pulseaudio)))
2920 (arguments
2921 '(#:phases
dc1d3cde
KK
2922 (modify-phases %standard-phases
2923 (replace 'configure
2924 (lambda* (#:key outputs #:allow-other-keys)
2925 (setenv "CC" "gcc")
c3d14484
TGR
2926 (invoke "./configure"
2927 (string-append "--prefix=" (assoc-ref outputs "out"))))))
55b596c3
TUBK
2928 ;; No 'check' target.
2929 #:tests? #f))
2930 (home-page "http://themaister.net/rsound.html")
2931 (synopsis "Networked audio system")
2932 (description
2933 "RSound allows you to send audio from an application and transfer it
2934directly to a different computer on your LAN network. It is an audio daemon
2935with a much different focus than most other audio daemons.")
2936 (license license:gpl3+)))
2937
caf9055c
RW
2938(define-public xjackfreak
2939 (package
2940 (name "xjackfreak")
2941 (version "1.0")
2942 (source (origin
8e5995e3
RW
2943 (method git-fetch)
2944 (uri (git-reference
2945 (url "https://github.com/johnhldavis/xjackfreak.git")
2946 (commit (string-append "v" version))))
2947 (file-name (git-file-name name version))
caf9055c
RW
2948 (sha256
2949 (base32
8e5995e3 2950 "18c546qidbrj0f5wfiq5llii2192xpln0ab3r4vpr7i3wybxqjfz"))))
caf9055c
RW
2951 (build-system gnu-build-system)
2952 (arguments
2953 `(#:make-flags
2954 (list (string-append "docdir=" (assoc-ref %outputs "out")
2955 "/share/doc/xjackfreak"))))
2956 (inputs
2957 `(("jack" ,jack-1)
2958 ("libx11" ,libx11)
2959 ("libxt" ,libxt)
2960 ("libxext" ,libxext)))
2961 (native-inputs
2962 `(("pkg-config" ,pkg-config)))
2963 (home-page "https://github.com/johnhldavis/xjackfreak")
2964 (synopsis "JACK audio frequency analyzer and display")
2965 (description
2966 "XJackFreak is an audio analysis and equalizing tool for the Jack Audio
2967Connection Kit. It can display the FFT of any input, modify it and output the
2968result.")
2969 (license license:gpl3+)))
2970
d73f7909
RW
2971(define-public zita-convolver
2972 (package
2973 (name "zita-convolver")
2974 (version "3.1.0")
2975 (source (origin
2976 (method url-fetch)
2977 (uri (string-append
2978 "http://kokkinizita.linuxaudio.org"
2979 "/linuxaudio/downloads/zita-convolver-"
2980 version ".tar.bz2"))
29e255ca
SB
2981 (snippet
2982 ;; Don't optimize for a specific processor architecture.
6cbee49d
MW
2983 '(begin
2984 (substitute* "libs/Makefile"
2985 (("^CXXFLAGS \\+= -march=native") ""))
2986 #t))
29e255ca 2987 (modules '((guix build utils)))
d73f7909
RW
2988 (sha256
2989 (base32
2990 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
2991 (build-system gnu-build-system)
2992 (arguments
2993 `(#:tests? #f ; no "check" target
2994 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
2995 #:phases
dc1d3cde
KK
2996 (modify-phases %standard-phases
2997 (add-after 'unpack 'patch-makefile-and-enter-directory
2998 (lambda _
2999 (substitute* "libs/Makefile"
3000 (("ldconfig") "true")
3001 (("^LIBDIR =.*") "LIBDIR = lib\n"))
ee527187
MW
3002 (chdir "libs")
3003 #t))
4f27a333
MB
3004 (add-after 'install 'install-symlink
3005 (lambda _
3006 (symlink "libzita-convolver.so"
3007 (string-append (assoc-ref %outputs "out")
ee527187
MW
3008 "/lib/libzita-convolver.so.3"))
3009 #t))
d73f7909 3010 ;; no configure script
4f27a333 3011 (delete 'configure))))
d73f7909 3012 (inputs `(("fftwf" ,fftwf)))
4817bb92 3013 (home-page "https://kokkinizita.linuxaudio.org")
d73f7909
RW
3014 (synopsis "Fast, partitioned convolution engine library")
3015 (description
3016 "Zita convolver is a C++ library providing a real-time convolution
3017engine.")
3018 (license license:gpl3+)))
3019
b7ed6784
RW
3020(define-public zita-resampler
3021 (package
3022 (name "zita-resampler")
3023 (version "1.3.0")
3024 (source (origin
3025 (method url-fetch)
3026 (uri (string-append
3027 "http://kokkinizita.linuxaudio.org"
3028 "/linuxaudio/downloads/zita-resampler-"
3029 version ".tar.bz2"))
6dff4955
SB
3030 (snippet
3031 ;; Don't optimize for a specific processor architecture.
6cbee49d
MW
3032 '(begin
3033 (substitute* '("apps/Makefile" "libs/Makefile")
3034 (("^CXXFLAGS \\+= -march=native") ""))
3035 #t))
6dff4955 3036 (modules '((guix build utils)))
b7ed6784
RW
3037 (sha256
3038 (base32
3039 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
3040 (build-system gnu-build-system)
3041 (arguments
3042 `(#:tests? #f ; no "check" target
3043 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
3044 #:phases
3045 (modify-phases %standard-phases
3046 (add-after
3047 'unpack 'patch-makefile-and-enter-directory
3048 (lambda _
3049 (substitute* "libs/Makefile"
3050 (("ldconfig") "true")
3051 (("^LIBDIR =.*") "LIBDIR = lib\n"))
3052 (chdir "libs")
3053 #t))
3054 (add-after
3055 'install 'install-symlink
3056 (lambda _
3057 (symlink "libzita-resampler.so"
3058 (string-append (assoc-ref %outputs "out")
ee527187
MW
3059 "/lib/libzita-resampler.so.1"))
3060 #t))
b7ed6784
RW
3061 ;; no configure script
3062 (delete 'configure))))
4817bb92 3063 (home-page "https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
b7ed6784
RW
3064 (synopsis "C++ library for resampling audio signals")
3065 (description
3066 "Libzita-resampler is a C++ library for resampling audio signals. It is
3067designed to be used within a real-time processing context, to be fast, and to
3068provide high-quality sample rate conversion.")
3069 (license license:gpl3+)))
3070
74bbf894
RW
3071(define-public zita-alsa-pcmi
3072 (package
3073 (name "zita-alsa-pcmi")
3074 (version "0.2.0")
3075 (source (origin
3076 (method url-fetch)
3077 (uri (string-append
3078 "http://kokkinizita.linuxaudio.org"
3079 "/linuxaudio/downloads/zita-alsa-pcmi-"
3080 version ".tar.bz2"))
3081 (sha256
3082 (base32
9569dfc8 3083 "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
74bbf894
RW
3084 (build-system gnu-build-system)
3085 (arguments
3086 `(#:tests? #f ; no "check" target
3087 #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
3088 #:phases
dc1d3cde
KK
3089 (modify-phases %standard-phases
3090 (add-after 'unpack 'patch-makefile-and-enter-directory
3091 (lambda _
3092 (substitute* "libs/Makefile"
3093 (("ldconfig") "true")
3094 (("^LIBDIR =.*") "LIBDIR = lib\n"))
3095 (chdir "libs")
3096 #t))
3097 (add-after 'install 'install-symlink
3098 (lambda _
3099 (symlink "libzita-alsa-pcmi.so"
3100 (string-append (assoc-ref %outputs "out")
ee527187
MW
3101 "/lib/libzita-alsa-pcmi.so.0"))
3102 #t))
dc1d3cde
KK
3103 ;; no configure script
3104 (delete 'configure))))
74bbf894
RW
3105 (inputs
3106 `(("alsa-lib" ,alsa-lib)
3107 ("fftw" ,fftw)))
4817bb92 3108 (home-page "https://kokkinizita.linuxaudio.org")
74bbf894
RW
3109 (synopsis "C++ wrapper around the ALSA API")
3110 (description
3111 "Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy
3112access to ALSA PCM devices, taking care of the many functions required to
3113open, initialise and use a hw: device in mmap mode, and providing floating
3114point audio data.")
3115 (license license:gpl3+)))
6da16993
LF
3116
3117(define-public cuetools
3118 (package
3119 (name "cuetools")
3120 (version "1.4.1")
3121 (source (origin
4289a306
RW
3122 (method git-fetch)
3123 (uri (git-reference
3124 (url "https://github.com/svend/cuetools.git")
3125 (commit version)))
3126 (file-name (git-file-name name version))
6da16993
LF
3127 (sha256
3128 (base32
4289a306 3129 "02ksv1ahf1v4cr2xbclsfv5x17m9ivzbssb5r8xjm97yh8a7spa3"))))
6da16993 3130 (build-system gnu-build-system)
4289a306 3131 ;; The source checkout is not bootstrapped.
6da16993
LF
3132 (native-inputs
3133 `(("autoconf" ,autoconf)
3134 ("automake" ,automake)
3135 ("flex" ,flex)
3136 ("bison" ,bison)))
3137 (synopsis "Cue and toc file parsers and utilities")
3138 (description "Cuetools is a set of programs that are useful for manipulating
3139and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC
3140files are a way to represent the layout of a data or audio CD in a
3141machine-readable ASCII format.")
3142 (home-page "https://github.com/svend/cuetools")
3143 (license license:gpl2+)))
6819a8dd
LF
3144
3145(define-public shntool
3146 (package
3147 (name "shntool")
3148 (version "3.0.10")
3149 (source (origin
3150 (method url-fetch)
3151 (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
3152 "shntool-" version ".tar.gz"))
3153 (sha256
3154 (base32
3155 "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
3156 (build-system gnu-build-system)
3157 (synopsis "WAVE audio data processing tool")
3158 (description "shntool is a multi-purpose WAVE data processing and reporting
3159utility. File formats are abstracted from its core, so it can process any file
3160that contains WAVE data, compressed or not---provided there exists a format
d5b357ec
LF
3161module to handle that particular file type. It can also generate CUE files, and
3162use them split WAVE data into multiple files.")
6819a8dd 3163 (home-page "http://etree.org/shnutils/shntool/")
6ac2af78
LF
3164 ;; 'install-sh' bears the x11 license
3165 (license (list license:gpl2+ license:x11))))
680b54c5
DT
3166
3167(define-public dcadec
3168 (package
3169 (name "dcadec")
3170 (version "0.2.0")
3171 (source (origin
b249ff5d
RW
3172 (method git-fetch)
3173 (uri (git-reference
3174 (url "https://github.com/foo86/dcadec.git")
3175 (commit (string-append "v" version))))
3176 (file-name (git-file-name name version))
680b54c5
DT
3177 (sha256
3178 (base32
b249ff5d 3179 "07nd0ajizrp1w02bsyfcv18431r8m8rq8gjfmz9wmckpg7cxj2hs"))))
680b54c5
DT
3180 (build-system gnu-build-system)
3181 (arguments
3182 ;; Test files are missing: https://github.com/foo86/dcadec/issues/53
3183 '(#:tests? #f
3184 #:make-flags
3185 (list "CC=gcc"
3186 ;; Build shared library.
3187 "CONFIG_SHARED=1"
3188 (string-append "PREFIX=" (assoc-ref %outputs "out"))
3189 ;; Set proper runpath.
3190 (string-append "LDFLAGS=-Wl,-rpath="
3191 (assoc-ref %outputs "out")
3192 "/lib"))
3193 #:phases
3194 (modify-phases %standard-phases
3195 ;; No configure script, just a hand-written Makefile.
3196 (delete 'configure))))
3197 (synopsis "DTS Coherent Acoustics decoder")
3198 (description "Dcadec is a DTS Coherent Acoustics surround sound decoder
3199with support for HD extensions.")
3200 (home-page "https://github.com/foo86/dcadec")
3201 (license license:lgpl2.1+)))
e87c7ec2
AG
3202
3203(define-public bs1770gain
3204 (package
3205 (name "bs1770gain")
cf0913f6 3206 (version "0.5.2")
e87c7ec2
AG
3207 (source
3208 (origin
3209 (method url-fetch)
3210 (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
3211 version "/bs1770gain-" version ".tar.gz"))
3212 (sha256
3213 (base32
17098a49
LF
3214 "1p6yz5q7czyf9ard65sp4kawdlkg40cfscr3b24znymmhs3p7rbk"))
3215 (modules '((guix build utils)))
3216 (snippet
3217 '(begin
3218 ;; XXX
3219 (substitute* "bs1770gain/bs1770gain.c"
3220 (("\"N.*\"") "\"\""))
3221 (substitute* "configure"
3222 (("URL=.*$")
3223 "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html\n"))))))
e87c7ec2
AG
3224 (build-system gnu-build-system)
3225 (inputs `(("ffmpeg" ,ffmpeg)
3226 ("sox" ,sox)))
17098a49 3227 (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
e87c7ec2
AG
3228 (synopsis "Tool to adjust loudness of media files")
3229 (description
3230 "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
3231flavors EBU R128, ATSC A/85, and ReplayGain 2.0. It helps normalizing the
3232loudness of audio and video files to the same level.")
3233 (license license:gpl2+)))
eb64bde1
EE
3234
3235(define-public filteraudio
3236 (let ((revision "1")
3237 (commit "2fc669581e2a0ff87fba8de85861b49133306094"))
3238 (package
3239 (name "filteraudio")
3240 (version (string-append "0.0.0-" revision "."
3241 (string-take commit 7)))
3242 (source
3243 (origin
3244 (method git-fetch)
3245 (uri (git-reference
3246 (url "https://github.com/irungentoo/filter_audio.git")
3247 (commit commit)))
3248 (file-name (string-append name "-" version "-checkout"))
3249 (sha256
3250 (base32
3251 "0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"))))
3252 (build-system gnu-build-system)
3253 (arguments
3254 '(#:make-flags (list (string-append "PREFIX=" %output)
3255 "CC=gcc")
3256 #:tests? #f ; No tests
3257 #:phases
3258 (modify-phases %standard-phases
3259 ;; No configure script
3260 (delete 'configure))))
3261 (synopsis "Lightweight audio filtering library")
3262 (description "An easy to use audio filtering library made from webrtc
3263code, used in @code{libtoxcore}.")
3264 (home-page "https://github.com/irungentoo/filter_audio")
3265 (license license:bsd-3))))
9a4c032c
LG
3266
3267(define-public gsm
3268 (package
3269 (name "gsm")
aabe29af 3270 (version "1.0.18")
9a4c032c
LG
3271 (source
3272 (origin
3273 (method url-fetch)
3274 (uri
3275 (string-append "http://www.quut.com/" name "/" name
3276 "-" version ".tar.gz"))
3277 (sha256
3278 (base32
aabe29af 3279 "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"))))
9a4c032c
LG
3280 (build-system gnu-build-system)
3281 (arguments
3282 `(#:test-target "tst"
3283 #:phases
3284 (modify-phases %standard-phases
3285 (add-before 'install 'pre-install
3286 (lambda _
3287 (let ((out (assoc-ref %outputs "out")))
3288 (substitute* "Makefile"
3289 (("INSTALL_ROOT\t=")
3290 (string-append "INSTALL_ROOT\t=\t" out)))
3291 (mkdir-p (string-append out "/inc"))
3292 (mkdir-p (string-append out "/man"))
3293 (mkdir-p (string-append out "/man/man1"))
3294 (mkdir-p (string-append out "/man/man3"))
3295 (mkdir-p (string-append out "/bin"))
ee527187
MW
3296 (mkdir-p (string-append out "/lib")))
3297 #t))
9a4c032c
LG
3298 (add-after 'install 'post-install
3299 (lambda _
3300 (let ((out (assoc-ref %outputs "out")))
3301 (rename-file (string-append out "/inc")
3302 (string-append out "/include"))
3303 (mkdir-p (string-append out "/include/gsm"))
3304 (copy-recursively "inc"
ee527187
MW
3305 (string-append out "/include/gsm")))
3306 #t))
aabe29af 3307 (delete 'configure)))) ; no configure script
9a4c032c
LG
3308 (synopsis "GSM 06.10 lossy speech compression library")
3309 (description "This C library provides an encoder and a decoder for the GSM
331006.10 RPE-LTP lossy speech compression algorithm.")
3311 (home-page "http://quut.com/gsm/")
3312 (license (license:non-copyleft "file://COPYRIGHT"))))
84d9abe4
DM
3313
3314(define-public python-pyalsaaudio
3315 (package
3316 (name "python-pyalsaaudio")
3317 (version "0.8.4")
3318 (source (origin
3319 (method url-fetch)
3320 (uri (pypi-uri "pyalsaaudio" version))
3321 (sha256
3322 (base32
3323 "1180ypn9596rq4b7y7dyv627j1q0fqilmkkrckclnzsdakdgis44"))))
3324 (build-system python-build-system)
3325 (arguments
3326 `(#:tests? #f)) ; tests require access to ALSA devices.
3327 (inputs
3328 `(("alsa-lib" ,alsa-lib)))
3329 (home-page "http://larsimmisch.github.io/pyalsaaudio/")
3330 (synopsis "ALSA wrappers for Python")
3331 (description
3332 "This package contains wrappers for accessing the ALSA API from Python.
3333It is currently fairly complete for PCM devices, and has some support for
3334mixers.")
3335 (license license:psfl)))
3336
3337(define-public python2-pyalsaaudio
3338 (package-with-python2 python-pyalsaaudio))
d0c8e524 3339
dba33ca3
RW
3340(define-public bluez-alsa
3341 (package
3342 (name "bluez-alsa")
3343 (version "1.2.0")
3344 (source (origin
3345 ;; The tarballs are mere snapshots and don't contain a
3346 ;; bootstrapped build system.
3347 (method git-fetch)
3348 (uri (git-reference
3349 (url "https://github.com/Arkq/bluez-alsa.git")
3350 (commit (string-append "v" version))))
1fa37d1b 3351 (file-name (string-append name "-" version "-checkout"))
dba33ca3
RW
3352 (sha256
3353 (base32
3354 "1qinf41wl2ihx54zmmhanycihwjkn7dn1cicq6pp4rqbiv79b95x"))))
3355 (build-system gnu-build-system)
dba33ca3
RW
3356 (native-inputs
3357 `(("autoconf" ,autoconf)
3358 ("automake" ,automake)
3359 ("libtool" ,libtool)
3360 ("pkg-config" ,pkg-config)))
3361 (inputs
3362 `(("alsa-lib" ,alsa-lib)
3363 ("bluez" ,bluez)
3364 ("glib" ,glib)
3365 ("libbsd" ,libbsd)
3366 ("ncurses" ,ncurses)
3367 ("ortp" ,ortp)
3368 ("sbc" ,sbc)))
3369 (home-page "https://github.com/Arkq/bluez-alsa")
3370 (synopsis "Bluetooth ALSA backend")
3371 (description "This project is a rebirth of a direct integration between
3372Bluez and ALSA. Since Bluez >= 5, the build-in integration has been removed
3373in favor of 3rd party audio applications. From now on, Bluez acts as a
3374middleware between an audio application, which implements Bluetooth audio
3375profile, and a Bluetooth audio device. BlueALSA registers all known Bluetooth
3376audio profiles in Bluez, so in theory every Bluetooth device (with audio
3377capabilities) can be connected. In order to access the audio stream, one has
3378to connect to the ALSA PCM device called @code{bluealsa}. The device is based
3379on the ALSA software PCM plugin.")
3380 (license license:expat)))
3381
d0c8e524
SB
3382(define-public snd
3383 (package
3384 (name "snd")
dc408368 3385 (version "19.5")
d0c8e524
SB
3386 (source (origin
3387 (method url-fetch)
3388 (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
3389 "snd-" version ".tar.gz"))
3390 (sha256
3391 (base32
dc408368 3392 "0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y"))))
d0c8e524
SB
3393 (build-system glib-or-gtk-build-system)
3394 (arguments
4ae9274a 3395 `(#:tests? #f ; no tests
d0c8e524
SB
3396 #:out-of-source? #f ; for the 'install-doc' phase
3397 #:configure-flags
3398 (let* ((out (assoc-ref %outputs "out"))
3399 (docdir (string-append out "/share/doc/snd")))
3400 (list "--with-alsa" "--with-jack" "--with-gmp"
3401 (string-append "--with-doc-dir=" docdir)))
3402 #:phases
3403 (modify-phases %standard-phases
3404 (add-after 'install 'install-doc
3405 (lambda* (#:key outputs #:allow-other-keys)
3406 (let* ((out (assoc-ref outputs "out"))
4ae9274a
TGR
3407 (doc (string-append out "/share/doc/"
3408 ,name "-" ,version)))
d0c8e524
SB
3409 (for-each
3410 (lambda (f)
4ae9274a 3411 (install-file f doc))
d0c8e524 3412 (find-files "." "\\.html$|COPYING"))
4ae9274a 3413 (copy-recursively "pix" (string-append doc "/pix"))
d0c8e524
SB
3414 #t))))))
3415 (native-inputs
3416 `(("pkg-config" ,pkg-config)))
3417 (inputs
3418 `(("alsa-lib" ,alsa-lib)
3419 ("fftw" ,fftw)
3420 ("flac" ,flac)
3421 ("gmp" ,gmp)
3422 ("gsl" ,gsl)
3423 ("gtk+" ,gtk+)
3424 ("jack" ,jack-1)
3425 ("libsamplerate" ,libsamplerate)
3426 ("mpc" ,mpc)
3427 ("mpfr" ,mpfr)
3428 ("mpg123" ,mpg123)
3429 ("speex" ,speex)
3430 ("timidity++" ,timidity++)
3431 ("vorbis-tools" ,vorbis-tools)
3432 ("wavpack" ,wavpack)))
3433 (synopsis "Sound editor")
3434 (home-page "https://ccrma.stanford.edu/software/snd/")
3435 (description
3436 "Snd is a sound editor modelled loosely after Emacs. It can be
3437customized and extended using either the s7 Scheme implementation (included in
3438the Snd sources), Ruby, or Forth.")
3439 (license (license:non-copyleft "file://COPYING"))))
adedbe95 3440
cf31d5e1
RW
3441(define-public noise-repellent
3442 (package
3443 (name "noise-repellent")
3444 (version "0.1.4")
3445 (source (origin
3446 (method git-fetch)
3447 (uri (git-reference
3448 (url "https://github.com/lucianodato/noise-repellent.git")
3449 (commit version)))
3450 (file-name (string-append name "-" version "-checkout"))
3451 (sha256
3452 (base32
3453 "0rd3dlmk3vivjmcr6x2x860y0j1d49c2j95j6ny50v184mwvn11j"))))
3454 (build-system gnu-build-system)
3455 (arguments
3456 `(#:make-flags
3457 (list "CC=gcc"
3458 (string-append "PREFIX=" (assoc-ref %outputs "out")))
3459 #:tests? #f ; there are none
3460 #:phases
3461 (modify-phases %standard-phases
3462 (delete 'configure))))
3463 (inputs
3464 `(("lv2" ,lv2)
3465 ("fftwf" ,fftwf)))
3466 (native-inputs
3467 `(("pkg-config" ,pkg-config)))
3468 (home-page "https://github.com/lucianodato/noise-repellent")
3469 (synopsis "LV2 plugin for broadband noise reduction")
3470 (description "Noise Repellent is an LV2 plugin to reduce noise. It has
3471the following features:
3472
3473@enumerate
3474@item Spectral gating and spectral subtraction suppression rule
3475@item Adaptive and manual noise thresholds estimation
3476@item Adjustable noise floor
3477@item Adjustable offset of thresholds to perform over-subtraction
3478@item Time smoothing and a masking estimation to reduce artifacts
3479@item Basic onset detector to avoid transients suppression
3480@item Whitening of the noise floor to mask artifacts and to recover higher
3481 frequencies
3482@item Option to listen to the residual signal
3483@item Soft bypass
3484@item Noise profile saved with the session
3485@end enumerate
3486")
3487 (license license:lgpl3+)))
3488
adedbe95
OP
3489(define-public cli-visualizer
3490 (package
3491 (name "cli-visualizer")
3492 (version "1.6")
3493 (source
3494 (origin
c2a2d364
RW
3495 (method git-fetch)
3496 (uri (git-reference
3497 (url "https://github.com/dpayne/cli-visualizer.git")
3498 (commit version)))
3499 (file-name (git-file-name name version))
adedbe95
OP
3500 (sha256
3501 (base32
c2a2d364 3502 "0mirp8bk398di5xyq95iprmdyvplfghxqmrfj7jdnpy554vx7ppc"))))
adedbe95
OP
3503 (build-system gnu-build-system)
3504 (native-inputs
3505 `(("which" ,which)))
3506 (inputs
3507 `(("fftw" ,fftw)
3508 ("googletest" ,googletest)
3509 ("ncurses" ,ncurses)
3510 ("pulseaudio" ,pulseaudio)))
3511 (arguments
3512 '(#:test-target "test"
3513 #:make-flags
3514 (list (string-append "PREFIX=" %output "/bin/") "ENABLE_PULSE=1")
3515 #:phases
3516 (modify-phases %standard-phases
3517 (add-after 'unpack 'remove-sudo
3518 (lambda _
3519 (substitute* "install.sh" (("sudo") ""))
3520 #t))
3521 (add-before 'check 'set-check-environment
3522 (lambda _
3523 (setenv "CXX" "g++")
3524 (setenv "CC" "gcc")
3525 #t))
3526 (add-before 'install 'make-prefix
3527 (lambda _
3528 (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
3529 #t))
3530 (add-after 'install 'data
3531 (lambda _
3532 (for-each (lambda (file)
3533 (install-file file
3534 (string-append (assoc-ref %outputs "out")
3535 "/share/doc")))
3536 (find-files "examples"))
3537 #t)))))
3538 (home-page "https://github.com/dpayne/cli-visualizer/")
3539 (synopsis "Command-line audio visualizer")
3540 (description "@code{cli-visualizer} displays fast-Fourier
3541transforms (FFTs) of the sound being played, as well as other graphical
3542representations.")
3543 (license license:expat)))
c2c0d661
OP
3544
3545(define-public cava
3546 (package
3547 (name "cava")
042fa638 3548 (version "0.6.1")
c2c0d661 3549 (source (origin
a7fde1a8
RW
3550 (method git-fetch)
3551 (uri (git-reference
3552 (url "https://github.com/karlstav/cava.git")
3553 (commit version)))
3554 (file-name (git-file-name name version))
c2c0d661
OP
3555 (sha256
3556 (base32
a7fde1a8 3557 "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
c2c0d661
OP
3558 (build-system gnu-build-system)
3559 (native-inputs
3560 `(("autoconf" ,autoconf)
3561 ("automake" ,automake)
3562 ("libtool" ,libtool)))
3563 (inputs
3564 `(("fftw" ,fftw)
3565 ("ncurses" ,ncurses)
3566 ("pulseaudio" ,pulseaudio)))
3567 (arguments
3568 `(#:configure-flags
3569 (list (string-append "PREFIX=" %output)
9e3e80ba 3570 (string-append "FONT_DIR=" %output "/share/consolefonts"))
c2c0d661
OP
3571 #:make-flags
3572 (let ((lib (string-append %output "/lib")))
3573 (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib)))
3574 #:phases
3575 (modify-phases %standard-phases
189be331 3576 (replace 'bootstrap
c2c0d661
OP
3577 (lambda* (#:key outputs #:allow-other-keys)
3578 (setenv "HOME" (getcwd))
3579 (invoke "sh" "autogen.sh")))
3580 (add-before 'build 'make-cava-ldflags
3581 (lambda* (#:key outputs #:allow-other-keys)
ee527187
MW
3582 (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
3583 #t))
c2c0d661
OP
3584 (add-after 'install 'data
3585 (lambda* (#:key outputs #:allow-other-keys)
3586 (for-each (lambda (file)
3587 (install-file file
3588 (string-append (assoc-ref outputs "out")
3589 "/share/doc/examples")))
ee527187
MW
3590 (find-files "example_files"))
3591 #t)))))
c2c0d661
OP
3592 (home-page "https://karlstav.github.io/cava/")
3593 (synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
3594 (description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
3595using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.")
3596 (license license:expat)))
9073c875 3597
3598(define-public fluid-3
3599 (let ((commit "871c8ce2002e8b3c198f532fdb4fbcce7914f951"))
3600 (package
3601 (name "fluid-3")
3602 (version "2.1")
3603 (source
3604 (origin
3605 (method url-fetch)
3606 ;; Only one file is required, but the release bundles the whole
3607 ;; software which is 50MiB as tar and 200MiB unpacked. The website
3608 ;; directly links the soundfont release to the github file download.
3609 (uri (string-append "https://github.com/musescore/MuseScore/raw/"
3610 commit "/share/sound/FluidR3Mono_GM.sf3"))
3611 (file-name (string-append name "-" version ".sf3"))
3612 (sha256
3613 (base32
3614 "1hjfg5i15bw9279007xs92zsggjgn4s4k9pc00s851l3kvc6dkfg"))))
3615 (build-system trivial-build-system)
3616 (arguments
3617 `(#:modules ((guix build utils))
3618 #:builder
3619 (begin
3620 (use-modules (guix build utils))
3621 (let ((file (assoc-ref %build-inputs "source"))
3622 (out (string-append %output "/share/soundfonts")))
3623 (mkdir-p out)
e3cfef22
MW
3624 (copy-file file (string-append out "/FluidR3Mono_GM.sf3"))
3625 #t))))
9073c875 3626 (home-page "https://github.com/musescore/MuseScore/tree/master/share/sound")
3627 (synopsis "Pro-quality GM soundfont")
3628 (description "Fluid-3 is Frank Wen's pro-quality GM soundfont.")
3629 (license license:expat))))
5c40a69f
LF
3630
3631(define-public libfdk
3632 (let ((commit "2326faaf8f2cdf2c3a9108ccdaf1d7551aec543e")
3633 (revision "0"))
3634 (package
3635 (name "libfdk")
3636 ;; The latest upstream revision, with many bug fixes.
3637 (version (git-version "0.1.6" revision commit))
3638 (source
3639 (origin
3640 (method git-fetch)
3641 (uri (git-reference
3642 (url "https://github.com/mstorsjo/fdk-aac")
3643 (commit commit)))
3644 (file-name (git-file-name name version))
3645 (sha256
3646 (base32
3647 "0yy6ndd9d61bwl283vl1r5kva2a4acc0f4r9g0sza156f2abr9ws"))))
3648 (build-system gnu-build-system)
3649 (native-inputs
3650 `(("autoconf" ,autoconf)
3651 ("automake" ,automake)
3652 ("libtool" ,libtool)))
3653 (home-page "https://github.com/mstorsjo/fdk-aac")
3654 (synopsis "Fraunhofer FDK AAC library")
3655 (description "FDK is a library for encoding and decoding Advanced Audio
3656Coding (AAC) format audio, developed by Fraunhofer IIS, and included as part of
3657Android. It supports several Audio Object Types including MPEG-2 and MPEG-4 AAC
3658LC, HE-AAC (AAC LC + SBR), HE-AACv2 (LC + SBR + PS) as well AAC-LD (low delay)
3659and AAC-ELD (enhanced low delay) for real-time communication. The encoding
3660library supports sample rates up to 96 kHz and up to eight channels (7.1
3661surround).")
3662 (license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
3663 "https://www.gnu.org/licenses/license-list.html#fdk")))))
ef8517f2
EB
3664
3665(define-public libopenshot-audio
3666 (package
3667 (name "libopenshot-audio")
799298eb 3668 (version "0.1.8")
ef8517f2
EB
3669 (source (origin
3670 (method git-fetch)
3671 (uri (git-reference
3672 (url "https://github.com/OpenShot/libopenshot-audio")
3673 (commit (string-append "v" version))))
3674 (file-name (git-file-name name version))
3675 (sha256
3676 (base32
799298eb 3677 "1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl"))))
ef8517f2
EB
3678 (build-system cmake-build-system)
3679 (inputs
3680 `(("alsa-lib" ,alsa-lib)
3681 ;; The following are for JUCE GUI components:
3682 ("libx11" ,libx11)
3683 ("freetype" ,freetype)
3684 ("libxrandr" ,libxrandr)
3685 ("libxinerama" ,libxinerama)
3686 ("libxcursor" ,libxcursor)))
3687 (arguments
3688 `(#:tests? #f ;there are no tests
3689 #:configure-flags
3690 (list (string-append "-DCMAKE_CXX_FLAGS=-I"
3691 (assoc-ref %build-inputs "freetype")
3692 "/include/freetype2"))))
3693 (home-page "https://openshot.org")
3694 (synopsis "Audio editing and playback for OpenShot")
3695 (description "OpenShot Audio Library (libopenshot-audio) allows
3696high-quality editing and playback of audio, and is based on the JUCE
3697library.")
3698 (license license:lgpl3+)))
ea3510f8
RH
3699
3700(define-public faudio
3701 (package
3702 (name "faudio")
49fd98bf 3703 (version "19.08")
ea3510f8
RH
3704 (source
3705 (origin
3706 (method git-fetch)
3707 (uri (git-reference
3708 (url "https://github.com/FNA-XNA/FAudio.git")
3709 (commit version)))
3710 (file-name (string-append name "-" version "-checkout"))
3711 (sha256
49fd98bf 3712 (base32 "1v13kfhyr46241vb6a4dcb4gw5f149525sprwa9cj4rv6wlcqgm5"))))
ea3510f8
RH
3713 (arguments
3714 '(#:tests? #f ; No tests.
3715 #:configure-flags '("-DFFMPEG=ON")))
3716 (build-system cmake-build-system)
3717 (native-inputs `(("pkg-config" ,pkg-config)))
3718 (inputs `(("ffmpeg" ,ffmpeg)
3719 ("sdl2" ,sdl2)))
3720 (home-page "https://github.com/FNA-XNA/FAudio")
3721 (synopsis "XAudio reimplementation")
3722 (description "FAudio is an XAudio reimplementation that focuses solely on
3723developing fully accurate DirectX Audio runtime libraries.")
3724 (license license:zlib)))
e13714b6
AI
3725
3726(define-public gnaural
3727 (package
3728 (name "gnaural")
3729 (version "20110606")
3730 (source
3731 (origin
3732 (method url-fetch)
3733 (uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
3734 version ".tar.xz"))
3735 (sha256
3736 (base32
3737 "1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
3738 (build-system gnu-build-system)
3739 (inputs
3740 `(("alsa-lib" ,alsa-lib)
3741 ("gtk+" ,gtk+-2)
3742 ("libsndfile" ,libsndfile)
3743 ("portaudio" ,portaudio)))
3744 (native-inputs
3745 `(("pkg-config" ,pkg-config)))
3746 (home-page "http://gnaural.sourceforge.net/")
3747 (synopsis "Binaural beat synthesizer")
3748 (description "Gnaural is a programmable auditory binaural beat synthesizer
3749intended to be used for brainwave entrainment. Gnaural supports creation of
3750binaural beat tracks of different frequencies and exporting of tracks into
3751different audio formats. Gnaural can also be linked over the internet with
3752other Gnaural instances, allowing synchronous sessions between many users.")
3753 (license license:gpl2+)))
2f4698d7
MW
3754
3755(define-public darkice
3756 (package
3757 (name "darkice")
3758 (version "1.3")
3759 (source (origin
3760 (method url-fetch)
3761 (uri (string-append "mirror://sourceforge/darkice/darkice/"
3762 version "/darkice-" version ".tar.gz"))
3763 (sha256
3764 (base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c"))
3765 (patches
3766 (search-patches "darkice-workaround-fpermissive-error.patch"))))
3767 (build-system gnu-build-system)
3768 (native-inputs `(("pkg-config" ,pkg-config)))
3769 (inputs `(("lame" ,lame)
3770 ("libvorbis" ,libvorbis)
3771 ("opus" ,opus)
3772 ("twolame" ,twolame)
3773 ("alsa-lib" ,alsa-lib)
3774 ("pulseaudio" ,pulseaudio)
3775 ("jack" ,jack-1)
3776 ("libsamplerate" ,libsamplerate)))
3777 (arguments
3778 `(#:configure-flags
3779 (list (string-append "--with-lame-prefix="
3780 (assoc-ref %build-inputs "lame")))))
3781 (home-page "http://www.darkice.org/")
3782 (synopsis "Live audio streamer")
3783 (description "DarkIce is a live audio streamer. It takes audio input from
3784a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio
3785stream to one or more IceCast and/or ShoutCast servers.")
3786 (license license:gpl3+)))