summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm339
1 files changed, 247 insertions, 92 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 3736abb353..49f784f529 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -141,6 +141,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vim) ;for 'xxd'
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
@@ -384,14 +385,14 @@ many input formats and provides a customisable Vi-style user interface.")
(define-public denemo
(package
(name "denemo")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/denemo/"
"denemo-" version ".tar.gz"))
(sha256
- (base32 "1blkcl3slbsq9jlhwcf2m9v9g38a0sjfhh9advgi2qr1gxri08by"))))
+ (base32 "145kq0zfgdadykl3i6na221i4s5wzdrcqq48amzyfarnrqk2rmpd"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1755,7 +1756,7 @@ is subjective.")
(define-public tuxguitar
(package
(name "tuxguitar")
- (version "1.5.3")
+ (version "1.5.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1763,7 +1764,7 @@ is subjective.")
version "/tuxguitar-" version "-src.tar.gz"))
(sha256
(base32
- "1qy5kjcsl3c86kdlyvsf6dsfmfl1mv8zg0ln6g3qg3i8f35vlpp6"))))
+ "0fjhf56lhlhm84v08917xp4yw8y6d0qajm4qiy1gfp8dm74whwwg"))))
(build-system ant-build-system)
(arguments
`(#:build-target "build"
@@ -1880,7 +1881,7 @@ export.")
(define-public pd
(package
(name "pd")
- (version "0.50-2")
+ (version "0.51-0")
(source (origin
(method url-fetch)
(uri
@@ -1888,23 +1889,25 @@ export.")
version ".src.tar.gz"))
(sha256
(base32
- "0dz6r6jy0zfs1xy1xspnrxxks8kddi9c7pxz4vpg2ygwv83ghpg5"))))
+ "0qzv4hjf4h7xx00ihnbl43pxa0fia9qkc8nwgzhqrs12jiljz6ps"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
- #:configure-flags
- (list
- "--enable-jack"
- (string-append "--with-wish=" (string-append
- (assoc-ref %build-inputs "tk")
- "/bin/wish8.6")))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'fix-with-path
- (lambda _
- (substitute* "tcl/pd-gui.tcl"
- (("exec wish ") (string-append "exec " (which "wish8.6") " ")))
- #t)))))
+ (let ((wish (string-append "wish" (version-major+minor
+ (package-version tk)))))
+ `(#:tests? #f ; no "check" target
+ #:configure-flags
+ (list
+ "--enable-jack"
+ (string-append "--with-wish=" (string-append
+ (assoc-ref %build-inputs "tk")
+ "/bin/" ,wish)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-with-path
+ (lambda _
+ (substitute* "tcl/pd-gui.tcl"
+ (("exec wish ") (string-append "exec " (which ,wish) " ")))
+ #t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -1915,7 +1918,7 @@ export.")
`(("tk" ,tk)
("alsa-lib" ,alsa-lib)
("jack" ,jack-1)))
- (home-page "http://puredata.info")
+ (home-page "https://puredata.info")
(synopsis "Visual programming language for artistic performances")
(description
"Pure Data (aka Pd) is a visual programming language. Pd enables
@@ -2237,61 +2240,66 @@ capabilities, custom envelopes, effects, etc.")
(license license:gpl2)))
(define-public yoshimi
- (package
- (name "yoshimi")
- (version "1.7.0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/yoshimi/"
- (version-major+minor version)
- "/yoshimi-" version ".tar.bz2"))
- (sha256
- (base32
- "1pkqrrr51vlxh96vy0c0rf5ijjvymys4brsw9rv1bdp1bb8izw6c"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; there are no tests
- #:configure-flags
- (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR="
- (assoc-ref %outputs "out") "/share"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'enter-dir
- (lambda _ (chdir "src") #t))
- ;; Move SSE compiler optimization flags from generic target to
- ;; athlon64 and core2 targets, because otherwise the build would fail
- ;; on non-Intel machines.
- (add-after 'unpack 'remove-sse-flags-from-generic-target
- (lambda _
- (substitute* "src/CMakeLists.txt"
- (("-msse -msse2 -mfpmath=sse") "")
- (("-march=(athlon64|core2)" flag)
- (string-append flag " -msse -msse2 -mfpmath=sse")))
- #t)))))
- (inputs
- `(("boost" ,boost)
- ("fftwf" ,fftwf)
- ("alsa-lib" ,alsa-lib)
- ("jack" ,jack-1)
- ("fontconfig" ,fontconfig)
- ("minixml" ,minixml)
- ("mesa" ,mesa)
- ("fltk" ,fltk)
- ("lv2" ,lv2)
- ("readline" ,readline)
- ("ncurses" ,ncurses)
- ("cairo" ,cairo)
- ("zlib" ,zlib)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "http://yoshimi.sourceforge.net/")
- (synopsis "Multi-paradigm software synthesizer")
- (description
- "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software
+ ;; Release 1.7.1 doesn't build with our version of LV2. Applying only
+ ;; 86996cbb235f0fe138ae814a6758c2c8ba1c2a38 is not enough.
+ (let ((commit "bfcadc6537dbcb301cd93346f21d36bcbffa36c7")
+ (revision "0"))
+ (package
+ (name "yoshimi")
+ (version (git-version "1.7.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.code.sf.net/p/yoshimi/code")
+ (commit commit)))
+ (sha256
+ (base32 "0vhdxj7ky4iyq11r5wj9jwavjih4xvcn2djbrlmwpkdhrzpy6myl"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:configure-flags
+ (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR="
+ (assoc-ref %outputs "out") "/share"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'enter-dir
+ (lambda _ (chdir "src") #t))
+ ;; Move SSE compiler optimization flags from generic target to
+ ;; athlon64 and core2 targets, because otherwise the build would fail
+ ;; on non-Intel machines.
+ (add-after 'unpack 'remove-sse-flags-from-generic-target
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("-msse -msse2 -mfpmath=sse") "")
+ (("-march=(athlon64|core2)" flag)
+ (string-append flag " -msse -msse2 -mfpmath=sse")))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("fftwf" ,fftwf)
+ ("alsa-lib" ,alsa-lib)
+ ("jack" ,jack-1)
+ ("fontconfig" ,fontconfig)
+ ("minixml" ,minixml)
+ ("mesa" ,mesa)
+ ("fltk" ,fltk)
+ ("lv2" ,lv2)
+ ("readline" ,readline)
+ ("ncurses" ,ncurses)
+ ("cairo" ,cairo)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://yoshimi.sourceforge.net/")
+ (synopsis "Multi-paradigm software synthesizer")
+ (description
+ "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software
synthesizer. It offers three synthesizer engines, multitimbral and polyphonic
synths, microtonal capabilities, custom envelopes, effects, etc. Yoshimi
improves on support for JACK features, such as JACK MIDI.")
- (license license:gpl2)))
+ (license license:gpl2))))
(define-public libgig
(package
@@ -2499,14 +2507,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.12")
+ (version "0.9.14")
(source (origin
(method url-fetch)
- (uri (string-append "http://downloads.sourceforge.net/qtractor/"
+ (uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "06493sf4hr178jkvric3rmc2phh1ph2jlyh8kl9z248amq3zfnhy"))))
+ "1gh268gdpj7nw19xfh7k2l3aban4yrs1lmx33qswrnngs2izj1fk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@@ -2718,8 +2726,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
- #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
- (string-append "PREFIX=" %output))
+ #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(inputs
@@ -2962,7 +2969,7 @@ websites such as Libre.fm.")
(home-page "https://github.com/yask123/Instant-Music-Downloader")
(synopsis "Command-line program to download a song from YouTube")
(description "InstantMusic downloads a song from YouTube in MP3 format.
-Songs can be searched by artist, name or even by a part of the song text.")
+ Songs can be searched by artist, name or even by a part of the song text.")
(license license:expat))))
(define-public beets
@@ -3011,9 +3018,9 @@ Songs can be searched by artist, name or even by a part of the song text.")
(home-page "https://beets.io")
(synopsis "Music organizer")
(description "The purpose of beets is to get your music collection right
-once and for all. It catalogs your collection, automatically improving its
-metadata as it goes using the MusicBrainz database. Then it provides a variety
-of tools for manipulating and accessing your music.")
+ once and for all. It catalogs your collection, automatically improving its
+ metadata as it goes using the MusicBrainz database. Then it provides a variety
+ of tools for manipulating and accessing your music.")
(license license:expat)))
(define-public beets-bandcamp
@@ -3039,8 +3046,8 @@ of tools for manipulating and accessing your music.")
(synopsis "Bandcamp plugin for beets")
(description
"This plugin for beets automatically obtains tag data from @uref{Bandcamp,
-https://bandcamp.com/}. It's also capable of getting song lyrics and album art
-using the beets FetchArt plugin.")
+ https://bandcamp.com/}. It's also capable of getting song lyrics and album art
+ using the beets FetchArt plugin.")
(license license:gpl2)))
(define-public milkytracker
@@ -3081,9 +3088,9 @@ using the beets FetchArt plugin.")
`(("pkg-config" ,pkg-config)))
(synopsis "Music tracker for working with .MOD/.XM module files")
(description "MilkyTracker is a music application for creating .MOD and .XM
-module files. It attempts to recreate the module replay and user experience of
-the popular DOS program Fasttracker II, with special playback modes available
-for improved Amiga ProTracker 2/3 compatibility.")
+ module files. It attempts to recreate the module replay and user experience of
+ the popular DOS program Fasttracker II, with special playback modes available
+ for improved Amiga ProTracker 2/3 compatibility.")
(home-page "https://milkytracker.titandemo.org/")
;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or later.
(license (list license:bsd-3 license:gpl3+))))
@@ -3107,8 +3114,8 @@ for improved Amiga ProTracker 2/3 compatibility.")
`(begin
(substitute* "schism/version.c"
(("Schism Tracker built %s %s.*$")
- (string-append "Schism Tracker version " ,version "\");")))
- #t))))
+ (string-append "Schism Tracker version " ,version "\") ;")))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -3686,7 +3693,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.")
("lv2" ,lv2)
("lilv" ,lilv)
("raul" ,raul-devel)
- ("ganv" ,ganv-devel)
+ ("ganv" ,ganv)
("suil" ,suil)
("serd" ,serd)
("sord" ,sord)
@@ -4127,14 +4134,14 @@ specification and header.")
(define-public rosegarden
(package
(name "rosegarden")
- (version "19.12")
+ (version "20.06")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/rosegarden/rosegarden/"
version "/rosegarden-" version ".tar.bz2"))
(sha256
- (base32 "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1"))))
+ (base32 "1i9x9rkqwwdrk77xl5ra8i48cjirbc7fbisnj0nnclccwaq0wk6r"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
@@ -4864,6 +4871,48 @@ effects. It contains a bitcrusher, delay, distortion, equalizer, compressor,
and reverb.")
(license license:gpl2+)))
+(define-public lsp-plugins
+ (package
+ (name "lsp-plugins")
+ (version "1.1.22")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sadko4u/lsp-plugins.git")
+ (commit (string-append "lsp-plugins-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s0i0kf5nqxxywckg03fds1w7696ly60rnlljzqvp7qfgzps1r6c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list
+ (string-append "CC=" ,(cc-for-target))
+ "BUILD_MODULES=\"lv2 ladspa jack\"" "VST_UI=0"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "ETC_PATH=" (assoc-ref %outputs "out") "/etc"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)) ; no configure
+ #:test-target "test"))
+ (inputs
+ `(("cairo", cairo)
+ ("hicolor-icon-theme", hicolor-icon-theme)
+ ("jack", jack-1)
+ ("ladspa", ladspa)
+ ("libsndfile", libsndfile)
+ ("lv2", lv2)
+ ("mesa", mesa)))
+ (native-inputs
+ `(("pkg-config", pkg-config)))
+ (synopsis "Audio plugin collection")
+ (description "LSP (Linux Studio Plugins) is a collection of audio
+plugins available as LADSPA/LV2 plugins and as standalone JACK
+applications.")
+ (home-page "https://lsp-plug.in/")
+ (license license:lgpl3)))
+
(define-public sherlock-lv2
(package
(name "sherlock-lv2")
@@ -4893,6 +4942,49 @@ and debugging of event signal flows inside plugin graphs.")
(home-page "https://open-music-kontrollers.ch/lv2/sherlock/")
(license license:artistic2.0)))
+(define-public spectacle-analyzer
+ (package
+ (name "spectacle-analyzer")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jpcima/spectacle.git")
+ (commit (string-append "v" version))
+ ;; Bundles a specific commit of the DISTRHO plugin framework.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xiqa6z8g68lcvnwhws4j7c4py35r9d20cirrili7ycyp3a6149a"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("xxd" ,xxd)))
+ (inputs
+ `(("cairo", cairo)
+ ("fftw", fftw)
+ ("fftwf", fftwf)
+ ("jack", jack-1)
+ ("lv2", lv2)
+ ("mesa", mesa)))
+ (synopsis "Realtime graphical spectrum analyzer")
+ (description "Spectacle is a real-time spectral analyzer using the
+short-time Fourier transform, available as LV2 audio plugin and JACK client.")
+ (home-page "https://github.com/jpcima/spectacle")
+ ;; The project is licensed under the ISC license, and files in
+ ;; sources/plugin carry the Expat license.
+ (license (list license:isc license:expat))))
+
(define-public x42-plugins
(package
(name "x42-plugins")
@@ -5538,3 +5630,66 @@ It is provided as an LV2 plugin and as a standalone Jack application.")
It is provided as an LV2 plugin and as a standalone Jack application.")
(home-page "https://github.com/pdesaulniers/wolf-spectrum")
(license license:gpl3)))
+
+(define-public shiru-lv2
+ (let ((commit "08853f99140012234649e67e5647906fda74f6cc")
+ (revision "1"))
+ (package
+ (name "shiru-lv2")
+ (version (git-version "0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxmao-org/shiru-plugins.git")
+ (commit commit)
+ ;; Bundles a specific commit of the DISTRHO plugin framework.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00rf6im3rhg98h60sgl1r2s37za5vr5h14pybwi07h8zbc8mi6fm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ;no configure target
+ (replace 'install ;no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (lv2 (string-append out "/lib/lv2")))
+ ;; Install LV2.
+ (for-each
+ (lambda (file)
+ (copy-recursively file
+ (string-append lv2 "/" (basename file))))
+ (find-files "bin" "\\.lv2$" #:directories? #t))
+ ;; Install executables.
+ (for-each
+ (lambda (file)
+ (install-file file bin))
+ (find-files "bin"
+ (lambda (name stat)
+ (and
+ (equal? (dirname name) "bin")
+ (not (string-suffix? ".so" name))
+ (not (string-suffix? ".lv2" name))))))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo", cairo)
+ ("glu", glu)
+ ("jack", jack-1)
+ ("lv2", lv2)
+ ("mesa", mesa)
+ ("pango", pango)))
+ (synopsis "Audio plugin collection")
+ (description "Shiru plugins is a collection of audio plugins created
+ by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin
+ framework.")
+ (home-page "http://shiru.untergrund.net/software.shtml")
+ (license license:wtfpl2))))