gnu: r-fields: Update to 11.4.
[jackhill/guix/guix.git] / gnu / packages / music.scm
index e4414da..a3e38dd 100644 (file)
@@ -28,6 +28,7 @@
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages build-tools)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages code)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #: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)
@@ -221,7 +225,7 @@ score, keyboard, guitar, drum and controller views.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/clementine-player/Clementine.git")
+                      (url "https://github.com/clementine-player/Clementine")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -328,7 +332,7 @@ playing your music.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/cmus/cmus.git")
+                    (url "https://github.com/cmus/cmus")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -462,7 +466,7 @@ background while you work.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/kode54/dumb.git")
+             (url "https://github.com/kode54/dumb")
              (commit version)))
        (sha256
         (base32 "1cnq6rb14d4yllr0yi32p9jmcig8avs3f43bvdjrx4r1mpawspi6"))
@@ -502,16 +506,16 @@ settings (aliasing, linear interpolation and cubic interpolation).")
 (define-public hydrogen
   (package
     (name "hydrogen")
-    (version "1.0.0-beta2")
+    (version "1.0.1")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/hydrogen-music/hydrogen.git")
+             (url "https://github.com/hydrogen-music/hydrogen")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a"))))
+        (base32 "0snljpvbcgikhz610c325dgvayi0k512p3bglck9vvi90wsqx7l1"))))
     (build-system cmake-build-system)
     (arguments
      `(#:test-target "tests"
@@ -630,7 +634,7 @@ MusePack, Monkey's Audio, and WavPack files.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/digego/extempore.git")
+                    (url "https://github.com/digego/extempore")
                     (commit (string-append "v" version))))
               (sha256
                (base32
@@ -911,6 +915,71 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
                    ;; demo and player directories are under the Expat license
                    license:expat))))
 
+(define-public ninjas2
+  (package
+    (name "ninjas2")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/clearly-broken-software/ninjas2")
+         (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 "1kwp6pmnfar2ip9693gprfbcfscklgri1k1ycimxzlqr61nkd2k9"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no tests
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             (string-append "CC=" ,(cc-for-target)))
+       #: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))))))
+    (inputs
+     `(("fftwf" ,fftwf)
+       ("jack" ,jack-1)                 ; for the standalone JACK application
+       ("libsamplerate" ,libsamplerate)
+       ("mesa" ,mesa)
+       ("libsndfile" ,libsndfile)))
+    (native-inputs
+     `(("ladspa" ,ladspa)
+       ("lv2" ,lv2)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Sample slicer audio plugin")
+    (description
+     "Ninjas 2 is a rewrite of the Ninjas sample slicer audio plugin.
+Its goal is to be an easy to use sample slicer with quick slicing of samples
+and auto-mapping slices to MIDI note numbers.")
+    (home-page "https://github.com/clearly-broken-software/ninjas2")
+    (license license:gpl3+)))
+
 (define-public lilypond
   (package
     (name "lilypond")
@@ -1128,19 +1197,52 @@ be used alone or in concert with Non Mixer and Non Sequencer to form a
 complete studio.")
     (license license:gpl2+)))
 
+(define-public tascam-gtk
+  ;; This commit represents the latest version at the time of this writing.
+  (let ((commit "17b8575ff88dfd2ede0f7ef9c5c5597ab8a00702")
+        (revision "0"))
+    (package
+      (name "tascam-gtk")
+      (version (git-version "0.4" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/onkelDead/tascam-gtk.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "07k7rccqqg7lnygkh97a200l1i6s1rl92n01v0q6n4257sinir6f"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("liblo" ,liblo)
+         ("gtkmm" ,gtkmm)
+         ("alsa-lib" ,alsa-lib)
+         ("libxmlplusplus" ,libxmlplusplus-2.6)))
+      (native-inputs
+       `(("glib:bin" ,glib "bin")
+         ("pkg-config" ,pkg-config)))
+      (home-page "https://github.com/onkelDead/tascam-gtk")
+      (synopsis "GTK+ based application to control Tascam US-16x08 DSP mixer")
+      (description "This is a mixer application to control the Tascam US-16x08
+audio interface.  This device contains about 280 control elements and this
+mixer application aims to provide comfortable access to the DSP effects the
+device supports.")
+      (license license:expat))))
+
 (define-public bsequencer
   (package
     (name "bsequencer")
-    (version "1.2.0")
+    (version "1.6.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/sjaehn/BSEQuencer.git")
+                    (url "https://github.com/sjaehn/BSEQuencer")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q"))))
+                "0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
@@ -1166,17 +1268,17 @@ with a selectable pattern matrix size.")
   (package
     (inherit bsequencer)
     (name "bchoppr")
-    (version "1.4.2")
+    (version "1.8.0")
     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/sjaehn/BChoppr.git")
-               (commit version)))
-        (file-name (git-file-name name version))
-        (sha256
-          (base32
-            "1ympx0kyn3mkb23xgd44rlrf4qnngnlkmikz9syhayklgax7ijgm"))))
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sjaehn/BChoppr")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1nd6byy75f0rbz9dm9drhxmpsfhxhg0y7q3v2m3098llynhy9k2j"))))
     (synopsis "Audio stream-chopping LV2 plugin")
     (description "B.Choppr cuts the audio input stream into a repeated
 sequence of up to 16 chops.  Each chop can be leveled up or down (gating).
@@ -1184,6 +1286,91 @@ B.Choppr is the successor of B.Slizr.")
     (home-page "https://github.com/sjaehn/BChoppr")
     (license license:gpl3+)))
 
+(define-public bshapr
+  (package
+    (inherit bsequencer)
+    (name "bshapr")
+    (version "0.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sjaehn/BShapr")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04zd3a178i2nivg5rjailzqvc5mlnilmhj1ziygmbhshbrywplri"))))
+    (synopsis "Beat/envelope shaper LV2 plugin")
+    (description "B.Shapr is a beat/envelope shaper LV2 plugin.")
+    (home-page "https://github.com/sjaehn/BShapr")
+    (license license:gpl3+)))
+
+(define-public bjumblr
+  (package
+    (inherit bsequencer)
+    (name "bjumblr")
+    (version "1.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sjaehn/BJumblr")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v"))))
+    (inputs
+     `(("cairo", cairo)
+       ("libsndfile", libsndfile)
+       ("lv2", lv2)))
+    (synopsis "Pattern-controlled audio stream/sample re-sequencer LV2 plugin")
+    (description "B.Jumblr is a pattern-controlled audio stream / sample
+re-sequencer LV2 plugin.")
+    (home-page "https://github.com/sjaehn/BJumblr")
+    (license license:gpl3+)))
+
+(define-public bschaffl
+  (package
+    (inherit bsequencer)
+    (name "bschaffl")
+    (version "1.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sjaehn/BSchaffl")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj"))))
+    (inputs
+     `(("cairo", cairo)
+       ("fontconfig" ,fontconfig)
+       ("libsndfile", libsndfile)
+       ("libx11" ,libx11)
+       ("lv2", lv2)))
+    (home-page "https://github.com/sjaehn/BSchaffl")
+    (synopsis "Pattern-controlled MIDI amp & time stretch LV2 plugin")
+    (description "This package provides an LV2 plugin that allows for
+pattern-controlled MIDI amp & time stretching to produce shuffle / swing
+effects.
+
+Key features include:
+
+@enumerate
+@item MIDI velocity amplification and timing manipulation plugin
+@item Swing and shuffle rhythms
+@item Pre-generator dynamics
+@item Tempo rubato
+@item Pattern (sliders) or shape-controlled
+@item MIDI filters
+@item Smart quantization
+@end itemize
+")
+    (license license:gpl3+)))
+
 (define-public solfege
   (package
     (name "solfege")
@@ -1268,118 +1455,35 @@ your own lessons.")
 (define-public powertabeditor
   (package
     (name "powertabeditor")
-    (version "2.0.0-alpha10")
+    (version "2.0.0-alpha13")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/powertab/powertabeditor.git")
+                    (url "https://github.com/powertab/powertabeditor")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1z4fhdp71ck9synr12rg1p6365xnypd8ih40c5icj4si36khvksk"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Remove bundled sources for external libraries
-                  (delete-file-recursively "external")
-                  ;; Use only system libraries
-                  (substitute* "CMakeLists.txt"
-                    (("include\\( PTE_ThirdParty \\)")
-                     "\
-include(third_party/Qt)
-include(third_party/boost)
-add_library( Catch INTERFACE IMPORTED )
-add_library( rapidjson INTERFACE IMPORTED )"))
-                  #t))))
+                "12il5xzgg53ick5k4ivvvqdagld5pgigiiz6s829kkdaymqr7vx5"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:modules ((guix build cmake-build-system)
-                  (guix build utils)
-                  (ice-9 match))
-       #:configure-flags
-       ;; CMake appears to lose the RUNPATH for some reason, so it has to be
-       ;; explicitly set with CMAKE_INSTALL_RPATH.
-       (list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
-             (string-append "-DCMAKE_INSTALL_RPATH="
-                            (string-join (map (match-lambda
-                                                ((name . directory)
-                                                 (string-append directory "/lib")))
-                                              %build-inputs) ";"))
-             "-DPTE_DATA_DIR=share/powertabeditor")
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (replace 'check
-           (lambda _
-             (invoke "bin/pte_tests"
-                     ;; FIXME: these tests fail
-                     "exclude:Actions/EditStaff"
-                     "exclude:Formats/PowerTabOldImport/MergeMultiBarRests"
-                     "exclude:Score/ViewFilter/FilterRule"
-                     "exclude:Score/ViewFilter/ViewFilter"
-                     "exclude:Formats/PowerTabOldImport/Directions")
-             #t))
-         ;; FIXME: This bug has been fixed upstream, but no release has been
-         ;; made yet.  See https://github.com/powertab/powertabeditor/issues/257
-         (add-after 'unpack 'fix-boost-bug
-           (lambda _
-             (substitute* "source/score/voiceutils.cpp"
-               (("boost::rational<int> duration\\(4, pos.getDurationType\\(\\)\\);")
-                "boost::rational<int> duration(4, static_cast<int>(pos.getDurationType()));"))
-             #t))
-         ;; Fix build with Qt 5.11.
-         (add-after 'unpack 'add-missing-headers
-           (lambda _
-             (substitute* (find-files "source/dialogs/" "\\.h$")
-               (("#include <QDialog>" m)
-                (string-append m "\n#include <QButtonGroup>")))
-             (substitute* "source/widgets/mixer/mixeritem.h"
-               (("#include <QWidget>" m)
-                (string-append m "\n#include <QStyle>")))
-             (substitute* "source/widgets/playback/playbackwidget.h"
-               (("#include <QWidget>" m)
-                (string-append m "\n#include <QButtonGroup>\n#include <QAction>")))
-             #t))
-         ;; FIXME: Finding RtMidi was fixed upstream so we should be able to
-         ;; remove this hack when a release is made.
-         ;; See https://github.com/powertab/powertabeditor/issues/255
-         (add-after 'unpack 'fix-rtmidi-header
-           (lambda _
-             (substitute* "source/audio/midioutputdevice.cpp"
-               (("#include <RtMidi.h>") "#include <rtmidi/RtMidi.h>"))
-             #t))
-         (add-before 'configure 'remove-third-party-libs
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Link with required static libraries, because we're not
-             ;; using the bundled version of withershins.
-             ;; Also add pthread for fixing a linker error.
-             (substitute* "source/build/CMakeLists.txt"
-               (("withershins" line)
-                (string-append line "\n"
-                               (assoc-ref inputs "binutils")
-                               "/lib/libbfd.a\n"
-                               (assoc-ref inputs "libiberty")
-                               "/lib/libiberty.a\n"
-                               "dl\n"
-                               "pthread\n"
-                               "z\n")))
-             #t)))))
+         (replace 'check (lambda _ (invoke "bin/pte_tests"))))))
     (inputs
-     `(("boost" ,boost)
-       ("alsa-lib" ,alsa-lib)
-       ("qtbase" ,qtbase)
-       ("withershins" ,withershins)
-       ("libiberty" ,libiberty) ;for withershins
-       ("binutils" ,binutils) ;for -lbfd and -liberty (for withershins)
-       ("timidity" ,timidity++)
+     `(("alsa-lib" ,alsa-lib)
+       ("boost" ,boost)
+       ("minizip" ,minizip)
        ("pugixml" ,pugixml)
-       ("rtmidi" ,rtmidi)
+       ("qtbase" ,qtbase)
        ("rapidjson" ,rapidjson)
+       ("rtmidi" ,rtmidi)
+       ("timidity" ,timidity++)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("catch" ,catch-framework)
+     `(("doctest" ,doctest)
        ("pkg-config" ,pkg-config)))
-    (home-page "http://powertabs.net")
+    (home-page "https://github.com/powertab/powertabedito")
     (synopsis "Guitar tablature editor")
     (description
      "Power Tab Editor 2.0 is the successor to the famous original Power Tab
@@ -1393,7 +1497,7 @@ Editor.  It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/jalv_select.git")
+                    (url "https://github.com/brummer10/jalv_select")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -1436,7 +1540,7 @@ users to select LV2 plugins and run them with jalv.")
 (define-public synthv1
   (package
     (name "synthv1")
-    (version "0.9.14")
+    (version "0.9.17")
     (source (origin
               (method url-fetch)
               (uri
@@ -1444,7 +1548,7 @@ users to select LV2 plugins and run them with jalv.")
                               "/synthv1-" version ".tar.gz"))
               (sha256
                (base32
-                "08n83krkak20924flb9azhm9hn40lyfvn29m63zs3lw3wajf0b40"))))
+                "0jc2drk5dzsaa6vxmk1hyi0zp02zm3mzar3arssfy5vcyc5ig6sk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; there are no tests
@@ -1468,7 +1572,7 @@ oscillators and stereo effects.")
 (define-public drumkv1
   (package
     (name "drumkv1")
-    (version "0.9.14")
+    (version "0.9.17")
     (source (origin
               (method url-fetch)
               (uri
@@ -1476,7 +1580,7 @@ oscillators and stereo effects.")
                               "/drumkv1-" version ".tar.gz"))
               (sha256
                (base32
-                "0fr7pkp55zvjxf7p22drs93fsjgvqhbd55vxi0srhp2s2wzz5qak"))))
+                "198fyc5dwjn679si86vy139ngym4n3mdy1z4vfjikn7b6mriq1x2"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; there are no tests
@@ -1501,7 +1605,7 @@ effects.")
 (define-public samplv1
   (package
     (name "samplv1")
-    (version "0.9.14")
+    (version "0.9.17")
     (source (origin
               (method url-fetch)
               (uri
@@ -1509,7 +1613,7 @@ effects.")
                               "/samplv1-" version ".tar.gz"))
               (sha256
                (base32
-                "0p3f9wsn1nz93szcl60yxhxdr554zm2z2jlbniwwify765lvasxc"))))
+                "1v21r722m027jjy4x6lm5cvzapsnpx36r10ar543ay0hgmygl322"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; there are no tests
@@ -1534,7 +1638,7 @@ effects.")
 (define-public padthv1
   (package
     (name "padthv1")
-    (version "0.9.14")
+    (version "0.9.17")
     (source (origin
               (method url-fetch)
               (uri
@@ -1542,7 +1646,7 @@ effects.")
                               "/padthv1-" version ".tar.gz"))
               (sha256
                (base32
-                "079iwwlkl1gscyv70v9ambad8shxbs0ixdfp0vsl6dbh87b09qzh"))))
+                "098fk8fwcgssnfr1gilqg8g17zvch62lrn3rqsswpzbr3an5adb3"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; there are no tests
@@ -1552,7 +1656,7 @@ effects.")
        ("alsa-lib" ,alsa-lib)
        ("non-session-manager" ,non-session-manager)
        ("liblo" ,liblo)
-       ("fftw" ,fftw)
+       ("fftwf" ,fftwf)
        ("qtbase" ,qtbase)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -1880,7 +1984,7 @@ export.")
 (define-public pd
   (package
     (name "pd")
-    (version "0.50-2")
+    (version "0.51-1")
     (source (origin
               (method url-fetch)
               (uri
@@ -1888,23 +1992,25 @@ export.")
                               version ".src.tar.gz"))
               (sha256
                (base32
-                "0dz6r6jy0zfs1xy1xspnrxxks8kddi9c7pxz4vpg2ygwv83ghpg5"))))
+                "0imbha9h96vqa967cbmdj7kkx7zrs054n5w2bjnifxdzws3qbxf6"))))
     (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 +2021,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
@@ -1936,7 +2042,7 @@ projects.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/libpd/libpd.git")
+                    (url "https://github.com/libpd/libpd")
                     (commit version)
                     (recursive? #t)))   ; for the 'pure-data' submodule
               (file-name (string-append name "-" version "-checkout"))
@@ -2017,7 +2123,7 @@ using a system-independent interface.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/extemporelang/portmidi.git")
+                      (url "https://github.com/extemporelang/portmidi")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -2179,7 +2285,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
        ("docbook-xsl" ,docbook-xsl)
        ("qttools" ,qttools)
        ("pkg-config" ,pkg-config)))
-    (home-page "http://vmpk.sourceforge.net")
+    (home-page "https://vmpk.sourceforge.io/")
     (synopsis "Virtual MIDI piano keyboard")
     (description
      "Virtual MIDI Piano Keyboard is a MIDI events generator and receiver.  It
@@ -2237,66 +2343,61 @@ capabilities, custom envelopes, effects, etc.")
     (license license:gpl2)))
 
 (define-public yoshimi
-  ;; 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
+  (package
+    (name "yoshimi")
+    (version "1.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/yoshimi/"
+                           (version-major+minor version)
+                           "/yoshimi-" version ".tar.bz2"))
+       (sha256
+        (base32 "1vxrksg199pcgiykq0nsf67ihfk2ny2jmpf6gzdb3nk9iphm7di3"))))
+    (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
@@ -2359,7 +2460,7 @@ allows you to send JACK MIDI events (i.e. play) using your PC keyboard.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/kmatheussen/jack_capture.git")
+                    (url "https://github.com/kmatheussen/jack_capture")
                     (commit version)))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -2504,14 +2605,14 @@ from the command line.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.9.14")
+    (version "0.9.16")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "1gh268gdpj7nw19xfh7k2l3aban4yrs1lmx33qswrnngs2izj1fk"))))
+                "1l19g7cvgb7gfjmaihnd899k5hhxyf4sz22380y830xjfs2fvqxc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; no "check" target
@@ -2550,7 +2651,7 @@ follows a traditional multi-track tape recorder control paradigm.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/blablack/ams-lv2.git")
+             (url "https://github.com/blablack/ams-lv2")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -2591,7 +2692,7 @@ and hold, etc.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/gxtuner.git")
+                    (url "https://github.com/brummer10/gxtuner")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -2679,7 +2780,7 @@ socket or command line.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/chronitis/curseradio.git")
+                      (url "https://github.com/chronitis/curseradio")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -2714,7 +2815,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/PromyLOPh/pianobar.git")
+                    (url "https://github.com/PromyLOPh/pianobar")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -2936,7 +3037,7 @@ websites such as Libre.fm.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/yask123/Instant-Music-Downloader.git")
+                      (url "https://github.com/yask123/Instant-Music-Downloader")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -2990,7 +3091,19 @@ websites such as Libre.fm.")
              #t))
          (replace 'check
            (lambda _
-             (invoke "nosetests" "-v"))))))
+             (invoke "nosetests" "-v")))
+         ;; Wrap the executable, so it can find python-gi (aka pygobject) and
+         ;; gstreamer plugins.
+         (add-after 'wrap 'wrap-typelib
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((prog (string-append (assoc-ref outputs "out")
+                                        "/bin/beet"))
+                   (plugins (getenv "GST_PLUGIN_SYSTEM_PATH"))
+                   (types (getenv "GI_TYPELIB_PATH")))
+               (wrap-program prog
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins))
+                 `("GI_TYPELIB_PATH" ":" prefix (,types)))
+               #t))))))
     (native-inputs
      `(("python-beautifulsoup4" ,python-beautifulsoup4)
        ("python-flask" ,python-flask)
@@ -3011,7 +3124,13 @@ websites such as Libre.fm.")
        ("python-mutagen" ,python-mutagen)
        ("python-pyacoustid" ,python-pyacoustid)
        ("python-pyyaml" ,python-pyyaml)
-       ("python-unidecode" ,python-unidecode)))
+       ("python-unidecode" ,python-unidecode)
+       ;; For plugin replaygain.
+       ("python-pygobject" ,python-pygobject)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-good" ,gst-plugins-good)
+       ("gstreamer" ,gstreamer)))
     (home-page "https://beets.io")
     (synopsis "Music organizer")
     (description "The purpose of beets is to get your music collection right
@@ -3054,7 +3173,7 @@ websites such as Libre.fm.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/milkytracker/MilkyTracker.git")
+                    (url "https://github.com/milkytracker/MilkyTracker")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -3099,7 +3218,7 @@ websites such as Libre.fm.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/schismtracker/schismtracker.git")
+                    (url "https://github.com/schismtracker/schismtracker")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -3141,15 +3260,14 @@ with a number of bugfixes and changes to improve IT playback.")
 (define-public sooperlooper
   (package
     (name "sooperlooper")
-    (version "1.7.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://essej.net/sooperlooper/sooperlooper-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0n2gdxw1fx8nxxnpzf4sj0kp6k6zi1yq59cbz6qqzcnsnpnvszbs"))
-              (patches (search-patches "sooperlooper-build-with-wx-30.patch"))))
+    (version "1.7.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://essej.net/sooperlooper/sooperlooper-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1jjvq4aflbyr3nr8b318k1vkad16xfa1jkqn9ckzw4419qc6c1k5"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -3287,7 +3405,7 @@ standard MIDI file with the csvmidi program.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxGuvnor.lv2.git")
+                    (url "https://github.com/brummer10/GxGuvnor.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3411,7 +3529,7 @@ simulation of a push pull transistor fuzz effect with added high octave."))))
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxSuppaToneBender.lv2.git")
+                    (url "https://github.com/brummer10/GxSuppaToneBender.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3450,7 +3568,7 @@ saturation effect."))))
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxHyperion.lv2.git")
+                    (url "https://github.com/brummer10/GxHyperion.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3468,7 +3586,7 @@ simulation of the Hyperion Fuzz pedal.")))
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxVoodoFuzz.lv2.git")
+                    (url "https://github.com/brummer10/GxVoodoFuzz.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3488,7 +3606,7 @@ parallel with a DarkBooster, followed by a volume control.")))
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxSuperFuzz.lv2.git")
+                    (url "https://github.com/brummer10/GxSuperFuzz.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3508,7 +3626,7 @@ adjusts the amount of harmonics.")))
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/brummer10/GxVintageFuzzMaster.lv2.git")
+                    (url "https://github.com/brummer10/GxVintageFuzzMaster.lv2")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -3569,7 +3687,7 @@ a simulation of an analog Wah pedal with switchless activation."))))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/ssj71/rkrlv2.git")
+                      (url "https://github.com/ssj71/rkrlv2")
                       (commit commit)))
                 (sha256
                  (base32
@@ -3599,7 +3717,7 @@ maintainer these will get merged into the original project.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/moddevices/mod-utilities.git")
+                      (url "https://github.com/moddevices/mod-utilities")
                       (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
@@ -3690,7 +3808,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)
@@ -3883,7 +4001,7 @@ are a C compiler and glib.  Full API documentation and examples are included.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/LMMS/lmms.git")
+             (url "https://github.com/LMMS/lmms")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -3935,7 +4053,7 @@ are a C compiler and glib.  Full API documentation and examples are included.")
         ,(origin
            (method git-fetch)
            (uri (git-reference
-                 (url "https://github.com/mjansson/rpmalloc.git")
+                 (url "https://github.com/mjansson/rpmalloc")
                  (commit "b5bdc18051bb74a22f0bde4bcc90b01cf590b496")))
            (sha256
             (base32
@@ -3967,22 +4085,23 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke
 (define-public musescore
   (package
     (name "musescore")
-    (version "3.4.2")
+    (version "3.5")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/musescore/MuseScore.git")
+             (url "https://github.com/musescore/MuseScore")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "14a9sg87nx7xca1qfbkplnpbx9pyg9k9vy87dq0g401ag6g6bi66"))
+        (base32 "1s8767imzv9hclpzvvvsqb3iyiv4y2klr6agf95zwym2xafy8p26"))
        (modules '((guix build utils)))
        (snippet
         ;; Un-bundle OpenSSL and remove unused libraries.
         '(begin
            (for-each delete-file-recursively
                      '("thirdparty/freetype"
+                       "thirdparty/google_analytics"
                        "thirdparty/openssl"
                        "thirdparty/portmidi"))
            #t))))
@@ -4041,11 +4160,11 @@ sample library.")
 (define-public muse-sequencer
   (package
     (name "muse-sequencer")
-    (version "3.0.0")
+    (version "3.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/muse-sequencer/muse.git")
+                    (url "https://github.com/muse-sequencer/muse")
                     (commit (string-append "muse_"
                                            (string-map (lambda (c)
                                                          (if (char=? c #\.)
@@ -4053,19 +4172,30 @@ sample library.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1nninz8qyqlxxjdnrm79y3gr3056pga9l2fsqh674jd3cjvafya3"))))
+                "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ; there is no test target
        #:configure-flags
-       (list "-DENABLE_LV2_SUPPLIED=OFF"
-             "-DENABLE_RTAUDIO=OFF"    ; FIXME: not packaged
-             "-DENABLE_INSTPATCH=OFF"  ; FIXME: not packaged
-             "-DENABLE_VST_NATIVE=OFF")
+       (list "-DENABLE_INSTPATCH=OFF"  ; FIXME: not packaged
+             "-DENABLE_VST_NATIVE=OFF"
+             (string-append "-DCMAKE_EXE_LINKER_FLAGS="
+                            "-Wl,-rpath="
+                            (assoc-ref %outputs "out") "/lib/muse-"
+                            ,(version-major+minor version) "/modules")
+             (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
+                            "-Wl,-rpath="
+                            (assoc-ref %outputs "out") "/lib/muse-"
+                            ,(version-major+minor version) "/modules"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'chdir
-           (lambda _ (chdir "muse3"))))))
+           (lambda _ (chdir "muse3") #t))
+         (add-after 'chdir 'fix-include
+           (lambda _
+             (substitute* "muse/driver/rtaudio.h"
+               (("rtaudio/RtAudio.h") "RtAudio.h"))
+             #t)))))
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("lash" ,lash)
@@ -4078,10 +4208,14 @@ sample library.")
        ("sord" ,sord)
        ("libsndfile" ,libsndfile)
        ("libsamplerate" ,libsamplerate)
+       ("lrdf" ,lrdf)
        ("fluidsynth" ,fluidsynth)
        ("pcre" ,pcre)
+       ("pulseaudio" ,pulseaudio) ; required by rtaudio
        ("qtbase" ,qtbase)
-       ("qtsvg" ,qtsvg)))
+       ("qtsvg" ,qtsvg)
+       ("rtaudio" ,rtaudio)
+       ("rubberband" ,rubberband)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
@@ -4131,14 +4265,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")
@@ -4229,7 +4363,7 @@ notation and includes basic support for digital audio.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
+                    (url "https://github.com/OpenMusicKontrollers/patchmatrix")
                     (commit version)))
               (file-name (git-file-name "patchmatrix" version))
               (sha256
@@ -4300,7 +4434,7 @@ the electronic or dubstep genre.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/pedrolcl/Linux-SonivoxEas.git")
+                    (url "https://github.com/pedrolcl/Linux-SonivoxEas")
                     (commit (string-append "v" version))))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
@@ -4513,7 +4647,7 @@ at @code{musicbrainz.org}.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/trizen/clyrics.git")
+             (url "https://github.com/trizen/clyrics")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -4653,7 +4787,7 @@ discard bad quality ones.
 (define-public fmit
   (package
     (name "fmit")
-    (version "1.2.13")
+    (version "1.2.14")
     (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -4662,7 +4796,7 @@ discard bad quality ones.
               (file-name (git-file-name name version))
              (sha256
                (base32
-                "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6"))))
+                "1q062pfwz2vr9hbfn29fv54ip3jqfd9r99nhpr8w7mn1csy38azx"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -4808,7 +4942,7 @@ complete without obstructing your daily work.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/altdesktop/playerctl.git")
+                    (url "https://github.com/altdesktop/playerctl")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -4871,26 +5005,21 @@ and reverb.")
 (define-public lsp-plugins
   (package
     (name "lsp-plugins")
-    (version "1.1.21")
+    (version "1.1.24")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/sadko4u/lsp-plugins.git")
+               (url "https://github.com/sadko4u/lsp-plugins")
                (commit (string-append "lsp-plugins-" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "1zw0iip6ki9k65kh8dp53x7l4va4mi5rj793n2yn4p9y84qzwrz9"))))
+         (base32 "0rzgzkg6wvhjcf664i16nz4v30drgv80s34bhdflcjzx2x7ix5zk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
        (list
-         (string-append "CC="
-                        (if ,(%current-target-system)
-                          (string-append (assoc-ref %build-inputs "cross-gcc")
-                                         "/bin/" ,(%current-target-system) "-gcc")
-                          "gcc"))
+         (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"))
@@ -4918,7 +5047,7 @@ applications.")
 (define-public sherlock-lv2
   (package
     (name "sherlock-lv2")
-    (version "0.20.0")
+    (version "0.24.0")
     (source
      (origin
        (method url-fetch)
@@ -4928,10 +5057,11 @@ applications.")
              version ".tar.xz"))
        (sha256
         (base32
-         "1c5xajpss9h8lbyx160bbzg8va50n2d74qwnxig9sf468rzmha1y"))))
+         "08gjfx7vrsx9zvj04j8cr3vscxmq6jr2hbdi6dfgp1l1dnnpxsgq"))))
     (build-system meson-build-system)
     (inputs
-     `(("libx11" ,libx11)
+     `(("glu" ,glu)
+       ("libx11" ,libx11)
        ("mesa" ,mesa)
        ("sratom" ,sratom)))
     (native-inputs
@@ -4944,18 +5074,104 @@ and debugging of event signal flows inside plugin graphs.")
     (home-page "https://open-music-kontrollers.ch/lv2/sherlock/")
     (license license:artistic2.0)))
 
+(define-public foo-yc20
+  (package
+    (name "foo-yc20")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/sampov2/foo-yc20/releases/download/"
+                           version "/foo-yc20-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1drzfyr7mzb58pdv0gsqkg6ds6kbgp6g25rrv1yya1611cljgvjh"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:tests? #f  ; no automated test
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (substitute* "Makefile"
+               (("-mtune=native") "")
+               (("-march=native") ""))
+             #t)))))
+    (inputs
+     `(("jack" ,jack-1)
+       ("lv2" ,lv2)
+       ("cairo" ,cairo)
+       ("gtk" ,gtk+-2)))
+    (native-inputs
+     `(("faust" ,faust)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://foo-yc20.codeforcode.com/")
+    (synopsis "Implementation of Yamaha YC-20 combo organ from 1969")
+    (description "This is a Faust implementation of a 1969 designed Yamaha
+combo organ, the YC-20.  This package provides an LV2 plugin and a standalone
+version.  Processing for the organ is based on original schematics and
+measurements from a working specimen.  This instrument simulates the circutry
+as a whole to realisticly reproduce the features and flaws of the real deal.")
+    ;; Note that after 1.3.0 the license was changed.
+    (license license:gpl3+)))
+
+(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")
+             (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")
-    (version "20191215")
+    (version "20200714")
     (source
      (origin
        (method url-fetch)
        (uri
-        (string-append "http://gareus.org/misc/x42-plugins/x42-plugins-"
+        (string-append "https://gareus.org/misc/x42-plugins/x42-plugins-"
                        version ".tar.xz"))
        (sha256
-        (base32 "1mwfvhsvc0qgjyiwd8pmmam1mav43lmv39fljhmj9yri558v5g1c"))))
+        (base32 "1av05ykph8x67018hm9zfgh1vk0zi39mvrsxkj6bm4hkarxf0vvl"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no "check" target
@@ -5000,13 +5216,13 @@ audio and MIDI plugins that can also run as standalone JACK applications.")
 (define-public zam-plugins
   (package
     (name "zam-plugins")
-    (version "3.12")
+    (version "3.13")
     (source
      (origin
        (method git-fetch)
        (uri
         (git-reference
-         (url "https://github.com/zamaudio/zam-plugins.git")
+         (url "https://github.com/zamaudio/zam-plugins")
          (commit version)
          ;; Recursive to fetch the DISTRHO plugin framework. This
          ;; framework is intended to be included in the sources
@@ -5014,7 +5230,7 @@ audio and MIDI plugins that can also run as standalone JACK applications.")
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0icsbarc9azcp0kjjydmiqn401v60jmf16zdcp4040q8g7bpfmfa"))))
+        (base32 "0bxvssqnnd7bph3w1d6xcmxradv4cqq3wyzyv1a1hfm71a0pdahs"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ;no "check" target
@@ -5051,7 +5267,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
 (define-public geonkick
   (package
     (name "geonkick")
-    (version "1.10.0")
+    (version "2.3.7")
     (source
      (origin
        (method git-fetch)
@@ -5061,7 +5277,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1a59wnm4035kjhs66hihlkiv45p3ffb2yaj1awvyyi5f0lds5zvh"))))
+         "1wdcbwiyy6i5agq5lffkyilyc8mv1cc4mp9h0nybn240vb2flqc2"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ;no tests included
@@ -5080,6 +5296,8 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
        ("rapidjson" ,rapidjson)))
     (native-inputs
      `(("lv2" ,lv2)
+       ;; Fails with default gcc (#include <filesystem> not found).
+       ("gcc" ,gcc-9)
        ("pkg-config" ,pkg-config)
        ("sord" ,sord)))
     (synopsis "Percussion synthesizer")
@@ -5098,7 +5316,7 @@ It can also play and mix samples.")
        (method git-fetch)
        (uri
         (git-reference
-         (url "https://github.com/DISTRHO/DPF-Plugins.git")
+         (url "https://github.com/DISTRHO/DPF-Plugins")
          (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -5145,7 +5363,7 @@ Soul Force), MVerb, Nekobi, and ProM.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/x42/avldrums.lv2.git")
+             (url "https://github.com/x42/avldrums.lv2")
              (commit (string-append "v" version))
              ;; This plugin expects the robtk submodule's source files to be
              ;; there in order to build.
@@ -5189,7 +5407,7 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
         (method git-fetch)
         (uri
           (git-reference
-            (url "https://github.com/mtytel/helm.git")
+            (url "https://github.com/mtytel/helm")
             (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
@@ -5241,8 +5459,13 @@ and as an LV2 plugin.")
 
 (define-public zrythm
   (package
+    ;; Zrythm contains trademarks and comes with a trademark policy found in
+    ;; TRADMARKS.md inside the release distribution.  The trademark policy
+    ;; allows verbatim re-distribution, and it also allows FSF-approved
+    ;; distros to make necessary changes to integrate the software into the
+    ;; distribution.
     (name "zrythm")
-    (version "0.8.333")
+    (version "0.8.911")
     (source
       (origin
         (method url-fetch)
@@ -5250,13 +5473,19 @@ and as an LV2 plugin.")
                             version ".tar.xz"))
         (sha256
           (base32
-            "0x2kxr5zz058jpy6k6ymj0fi2gqfcgrlv4qkwz9443hjy5345iwb"))))
+            "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9"))))
    (build-system meson-build-system)
    (arguments
     `(#:glib-or-gtk? #t
+      #:meson ,meson-0.55
       #:configure-flags
-      `("-Denable_tests=true" "-Dmanpage=true"
-        "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")
+      `("-Dtests=true"
+        "-Dmanpage=true"
+        "-Ddseg_font=false"
+        "-Dgraphviz=enabled" ; for exporting routing graphs
+        "-Dguile=enabled" ; for Guile scripting
+        "-Djack=enabled" ; for JACK audio/MIDI backend
+        "-Dsdl=enabled") ; for SDL audio backend (which uses ALSA)
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-xdg-open
@@ -5269,7 +5498,6 @@ and as an LV2 plugin.")
     `(("alsa-lib" ,alsa-lib)
       ("jack" ,jack-1)
       ("font-dseg" ,font-dseg)
-      ("ffmpeg" ,ffmpeg)
       ("fftw" ,fftw)
       ("fftwf" ,fftwf)
       ("gettext" ,gettext-minimal)
@@ -5278,19 +5506,23 @@ and as an LV2 plugin.")
       ("gtk+" ,gtk+)
       ("gtksourceview" ,gtksourceview)
       ("guile" ,guile-2.2)
+      ("libaudec" ,libaudec)
       ("libcyaml" ,libcyaml)
       ("libsamplerate" ,libsamplerate)
       ("libsndfile" ,libsndfile)
       ("libyaml" ,libyaml)
       ("lilv" ,lilv)
+      ("lv2" ,lv2)
+      ("reproc" ,reproc)
+      ("rubberband" ,rubberband)
+      ("rtmidi" ,rtmidi)
+      ("sdl2" ,sdl2)
       ("xdg-utils" ,xdg-utils)
-      ("rubberband" ,rubberband)))
+      ("zstd" ,zstd "lib")))
    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("help2man" ,help2man)
-       ("libaudec" ,libaudec)
-       ("lv2" ,lv2)
-       ("glib" ,glib "bin"))) ;for 'glib-compile-resources'
+       ("glib" ,glib "bin"))) ; for 'glib-compile-resources'
    (synopsis "Digital audio workstation focusing on usability")
    (description "Zrythm is a digital audio workstation designed to be
 featureful and easy to use.  It offers unlimited automation options, LV2
@@ -5301,19 +5533,19 @@ plugin support, JACK support and chord assistance.")
 (define-public dragonfly-reverb
   (package
     (name "dragonfly-reverb")
-    (version "2.0.0")
+    (version "3.2.1")
     (source
      (origin
        (method git-fetch)
        (uri
         (git-reference
-         (url "https://github.com/michaelwillis/dragonfly-reverb.git")
+         (url "https://github.com/michaelwillis/dragonfly-reverb")
          (commit version)
          ;; Bundles a specific commit of the DISTRHO plugin framework.
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1qrbv4kk5v6ynx424h1i54qj0w8v6vpw81b759jawxvzzprpgq72"))))
+        (base32 "0vfm2510shah67k87mdyar4wr4vqwii59y9lqfhwm6blxparkrqa"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no check target
@@ -5333,8 +5565,15 @@ plugin support, JACK support and chord assistance.")
                                     (string-append lv2 "/" (basename file))))
                 (find-files "bin" "\\.lv2$" #:directories? #t))
                ;; Install executables.
-               (install-file "bin/DragonflyRoomReverb" bin)
-               (install-file "bin/DragonflyHallReverb" bin)
+               (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)))
@@ -5378,6 +5617,42 @@ automation that comes as an LV2 plugin bundle with a custom UI.")
     (home-page "https://git.zrythm.org/cgit/ZLFO/")
     (license license:agpl3+)))
 
+(define-public remid-lv2
+  (package
+    (name "remid-lv2")
+    (version "0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ssj71/reMID.lv2")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "062kriniidsrhzwrf89kfxm9wb0cmgrl07asnlmgil8vcl7gl9y5"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f))                    ; no tests included
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("glib" ,glib)
+       ("jack" ,jack-1)
+       ("lv2" ,lv2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/ssj71/reMID.lv2")
+    (synopsis
+     "MIDI-controlled implementation of the SID 6581 chip used in the
+Commodore 64")
+    (description
+     "The 6581 SID chip is the sound chip used in the Commodore 64 computer.
+reMID is a MIDI implementation of the 6581 SID chip using the reSID library
+to provide a virtual SID-based synthesizer, controllable in real-time via
+MIDI.  It includes support for scripted instruments that allow complex sonic
+control of the chip.")
+    (license license:gpl2+)))
+
 (define-public vl1-emulator
   (package
     (name "vl1-emulator")
@@ -5386,7 +5661,7 @@ automation that comes as an LV2 plugin bundle with a custom UI.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/linuxmao-org/VL1-emulator.git")
+             (url "https://github.com/linuxmao-org/VL1-emulator")
              (commit (string-append "v" version))
              ;; bundles a specific commit of the DISTRHO plugin framework
              (recursive? #t)))
@@ -5426,7 +5701,7 @@ standalone JACK application.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/linuxmao-org/regrader.git")
+             (url "https://github.com/linuxmao-org/regrader")
              (commit (string-append "v" version))
              ;; bundles a specific commit of the DISTRHO plugin framework
              (recursive? #t)))
@@ -5478,7 +5753,7 @@ plugin and a standalone JACK application.")
         (origin
           (method git-fetch)
           (uri (git-reference
-                 (url "https://github.com/moddevices/tap-lv2.git")
+                 (url "https://github.com/moddevices/tap-lv2")
                  (commit commit)))
           (file-name (git-file-name name version))
           (sha256
@@ -5518,7 +5793,7 @@ plugin and a standalone JACK application.")
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/pdesaulniers/wolf-shaper.git")
+               (url "https://github.com/pdesaulniers/wolf-shaper")
                (commit (string-append "v" version))
                ;; Bundles a specific commit of the DISTRHO plugin framework.
                (recursive? #t)))
@@ -5600,7 +5875,7 @@ It is provided as an LV2 plugin and as a standalone Jack application.")
         (origin
           (method git-fetch)
           (uri (git-reference
-                 (url "https://github.com/linuxmao-org/shiru-plugins.git")
+                 (url "https://github.com/linuxmao-org/shiru-plugins")
                  (commit commit)
                  ;; Bundles a specific commit of the DISTRHO plugin framework.
                  (recursive? #t)))