summary refs log tree commit diff
path: root/pkgs/applications/audio
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix12
-rw-r--r--pkgs/applications/audio/adlplug/default.nix10
-rw-r--r--pkgs/applications/audio/ardour/default.nix4
-rw-r--r--pkgs/applications/audio/ashuffle/default.nix26
-rw-r--r--pkgs/applications/audio/audacious/default.nix57
-rw-r--r--pkgs/applications/audio/audacious/qt-5.nix92
-rw-r--r--pkgs/applications/audio/audacity/default.nix2
-rw-r--r--pkgs/applications/audio/axoloti/libusb1.nix4
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix51
-rw-r--r--pkgs/applications/audio/bchoppr/default.nix28
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix4
-rw-r--r--pkgs/applications/audio/bjumblr/default.nix6
-rw-r--r--pkgs/applications/audio/bs1770gain/default.nix4
-rw-r--r--pkgs/applications/audio/bschaffl/default.nix28
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix4
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/cava/default.nix4
-rw-r--r--pkgs/applications/audio/csound/default.nix4
-rw-r--r--pkgs/applications/audio/dragonfly-reverb/default.nix4
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/faust/faust2.nix6
-rw-r--r--pkgs/applications/audio/faust/faust2jack.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2jaqt.nix2
-rw-r--r--pkgs/applications/audio/faust/faustlive.nix22
-rw-r--r--pkgs/applications/audio/fmit/default.nix4
-rw-r--r--pkgs/applications/audio/freqtweak/default.nix30
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/geonkick/default.nix28
-rw-r--r--pkgs/applications/audio/giada/default.nix4
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix6
-rw-r--r--pkgs/applications/audio/gspeech/default.nix8
-rw-r--r--pkgs/applications/audio/guitarix/default.nix9
-rw-r--r--pkgs/applications/audio/guitarix/fix-build.patch10
-rw-r--r--pkgs/applications/audio/gwc/default.nix47
-rw-r--r--pkgs/applications/audio/gxplugins-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/helm/default.nix25
-rw-r--r--pkgs/applications/audio/hydrogen/0.nix26
-rw-r--r--pkgs/applications/audio/hydrogen/default.nix26
-rw-r--r--pkgs/applications/audio/hydrogen/unstable.nix34
-rw-r--r--pkgs/applications/audio/jackmix/default.nix4
-rw-r--r--pkgs/applications/audio/jalv/default.nix4
-rw-r--r--pkgs/applications/audio/jamulus/default.nix4
-rw-r--r--pkgs/applications/audio/kapitonov-plugins-pack/default.nix43
-rw-r--r--pkgs/applications/audio/kmetronome/default.nix23
-rw-r--r--pkgs/applications/audio/librespot/cargo-lock.patch137
-rw-r--r--pkgs/applications/audio/librespot/default.nix20
-rw-r--r--pkgs/applications/audio/lingot/default.nix8
-rw-r--r--pkgs/applications/audio/lmms/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix12
-rw-r--r--pkgs/applications/audio/lsp-plugins/default.nix4
-rw-r--r--pkgs/applications/audio/lv2-cpp-tools/default.nix28
-rw-r--r--pkgs/applications/audio/mamba/default.nix40
-rw-r--r--pkgs/applications/audio/mamba/fix-build.patch10
-rw-r--r--pkgs/applications/audio/mellowplayer/default.nix70
-rw-r--r--pkgs/applications/audio/mixxx/default.nix10
-rw-r--r--pkgs/applications/audio/molot-lite/default.nix37
-rw-r--r--pkgs/applications/audio/mooSpace/default.nix35
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix6
-rw-r--r--pkgs/applications/audio/mopidy/mopidy.nix2
-rw-r--r--pkgs/applications/audio/mopidy/tunein.nix28
-rw-r--r--pkgs/applications/audio/mopidy/youtube.nix4
-rw-r--r--pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--pkgs/applications/audio/muse/default.nix4
-rw-r--r--pkgs/applications/audio/musescore/default.nix15
-rw-r--r--pkgs/applications/audio/musikcube/default.nix4
-rw-r--r--pkgs/applications/audio/musly/default.nix4
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix4
-rw-r--r--pkgs/applications/audio/ncspot/default.nix8
-rw-r--r--pkgs/applications/audio/netease-cloud-music/default.nix81
-rw-r--r--pkgs/applications/audio/noisetorch/config.patch13
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix44
-rw-r--r--pkgs/applications/audio/noisetorch/embedlibrnnoise.patch13
-rw-r--r--pkgs/applications/audio/noisetorch/version.patch37
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--pkgs/applications/audio/opusfile/default.nix4
-rw-r--r--pkgs/applications/audio/osmid/default.nix4
-rw-r--r--pkgs/applications/audio/padthv1/default.nix4
-rw-r--r--pkgs/applications/audio/parlatype/default.nix4
-rw-r--r--pkgs/applications/audio/pd-plugins/gem/default.nix62
-rw-r--r--pkgs/applications/audio/picard/default.nix5
-rw-r--r--pkgs/applications/audio/plexamp/default.nix39
-rw-r--r--pkgs/applications/audio/projectm/default.nix4
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix9
-rw-r--r--pkgs/applications/audio/puddletag/default.nix31
-rw-r--r--pkgs/applications/audio/pulseaudio-dlna/default.nix6
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix6
-rw-r--r--pkgs/applications/audio/qjackctl/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/qsynth/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/real_time_config_quick_scan/default.nix52
-rw-r--r--pkgs/applications/audio/reaper/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix4
-rw-r--r--pkgs/applications/audio/rhvoice/default.nix4
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix4
-rw-r--r--pkgs/applications/audio/sfizz/default.nix4
-rw-r--r--pkgs/applications/audio/shortwave/default.nix6
-rw-r--r--pkgs/applications/audio/sidplayfp/default.nix30
-rw-r--r--pkgs/applications/audio/snapcast/default.nix5
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/sonata/default.nix36
-rw-r--r--pkgs/applications/audio/sonic-visualiser/default.nix18
-rw-r--r--pkgs/applications/audio/sooperlooper/default.nix8
-rw-r--r--pkgs/applications/audio/soundkonverter/default.nix11
-rw-r--r--pkgs/applications/audio/soundtracker/default.nix14
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix7
-rw-r--r--pkgs/applications/audio/strawberry/default.nix4
-rw-r--r--pkgs/applications/audio/sublime-music/default.nix60
-rw-r--r--pkgs/applications/audio/surge/default.nix48
-rw-r--r--pkgs/applications/audio/synthv1/default.nix4
-rw-r--r--pkgs/applications/audio/talentedhack/default.nix36
-rw-r--r--pkgs/applications/audio/tamgamp.lv2/default.nix53
-rw-r--r--pkgs/applications/audio/tunefish/default.nix43
-rw-r--r--pkgs/applications/audio/uhhyou.lv2/default.nix67
-rw-r--r--pkgs/applications/audio/virtual-ans/default.nix89
-rw-r--r--pkgs/applications/audio/vmpk/default.nix29
-rw-r--r--pkgs/applications/audio/vocal/default.nix3
-rw-r--r--pkgs/applications/audio/vocproc/default.nix27
-rw-r--r--pkgs/applications/audio/x42-plugins/default.nix4
-rw-r--r--pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations.patch (renamed from pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations)0
-rw-r--r--pkgs/applications/audio/yasr/20_maxpathlen.patch (renamed from pkgs/applications/audio/yasr/20_maxpathlen)0
-rw-r--r--pkgs/applications/audio/yasr/30_conf.patch (renamed from pkgs/applications/audio/yasr/30_conf)0
-rw-r--r--pkgs/applications/audio/yasr/40_dectalk_extended_chars.patch (renamed from pkgs/applications/audio/yasr/40_dectalk_extended_chars)0
-rw-r--r--pkgs/applications/audio/yasr/default.nix8
125 files changed, 1788 insertions, 511 deletions
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index 64468bddc85..f4a9383c29c 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -9,7 +9,7 @@ in stdenv.mkDerivation {
   version = "8";
 
   src = fetchurl {
-    url = "https://repo.or.cz/a2jmidid.git/snapshot/7383d268c4bfe85df9f10df6351677659211d1ca.tar.gz";
+    url = "https://github.com/linuxaudio/a2jmidid/archive/7383d268c4bfe85df9f10df6351677659211d1ca.tar.gz";
     sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
   };
 
@@ -18,13 +18,17 @@ in stdenv.mkDerivation {
 
   patches = [
     (fetchpatch {
-      url = "https://repo.or.cz/a2jmidid.git/patch/24e3b8e543256ae8fdfb4b75eb9fd775f07c46e2";
+      url = "https://github.com/linuxaudio/a2jmidid/commit/24e3b8e543256ae8fdfb4b75eb9fd775f07c46e2.diff";
       sha256 = "1nxrvnhxlgqc9wbxnp1gnpw4wjyzxvymwcg1gh2nqzmssgfykfkc";
     })
     (fetchpatch {
-      url = "https://repo.or.cz/a2jmidid.git/patch/7f82da7eb2f540a94db23331be98d42a58ddc269";
+      url = "https://github.com/linuxaudio/a2jmidid/commit/7f82da7eb2f540a94db23331be98d42a58ddc269.diff";
       sha256 = "1nab9zf0agbcj5pvhl90pz0cx1d204d4janqflc5ymjhy8jyrsdv";
     })
+    (fetchpatch {
+      url = "https://github.com/linuxaudio/a2jmidid/commit/c07775d021a71cb91bf64ce1391cf525415cb060.diff";
+      sha256 = "172v9hri03qdqi8a3zsg227k5qxldd8v5bj4jk7fyk5jf50fcxga";
+    })
   ];
 
   postInstall = ''
@@ -35,6 +39,6 @@ in stdenv.mkDerivation {
     description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index bc626cbad11..7dcc13eb96d 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, libjack2, alsaLib
 , freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
-, fetchpatch
+, fetchpatch, fmt
 , adlplugChip ? "-DADLplug_CHIP=OPL3"
 , pname ? "ADLplug" }:
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
     rev = "v${version}";
-    sha256 = "0n9srdlgl1j528ap5xmllrqs1w6ibc5yf9sphvl1q9kjnizxrs2c";
+    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
     fetchSubmodules = true;
   };
 
@@ -25,13 +25,13 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = [ adlplugChip ];
+  cmakeFlags = [ adlplugChip "-DADLplug_USE_SYSTEM_FMT=ON" ];
 
   buildInputs = [
     libjack2 alsaLib freetype libX11 libXrandr libXinerama libXext
     libXcursor
   ];
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig fmt ];
 
   meta = with stdenv.lib; {
     description = "OPL3 and OPN2 FM Chip Synthesizer";
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 5090ef6a2ec..0c38057d56f 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -55,13 +55,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "ardour";
-  version = "6.0";
+  version = "6.2";
 
   # don't fetch releases from the GitHub mirror, they are broken
   src = fetchgit {
     url = "git://git.ardour.org/ardour/ardour.git";
     rev = version;
-    sha256 = "162jd96zahl05fdmjwvpdfjxbhd6ifbav6xqa0vv6rsdl4zk395q";
+    sha256 = "17jxbqavricy01x4ymq6d302djsqfnv84m7dm4fd8cpka0dqjp1y";
   };
 
   patches = [
diff --git a/pkgs/applications/audio/ashuffle/default.nix b/pkgs/applications/audio/ashuffle/default.nix
new file mode 100644
index 00000000000..6bb21b5edaa
--- /dev/null
+++ b/pkgs/applications/audio/ashuffle/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, mpd_clientlib, meson, ninja }:
+
+stdenv.mkDerivation rec {
+  pname = "ashuffle";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "joshkunz";
+    repo = "ashuffle";
+    rev = "v${version}";
+    sha256 = "09q6lwgc1dc8bg1mb9js9qz3xcsxph3548nxzvyb4v8111gixrp7";
+    fetchSubmodules = true;
+  };
+
+  dontUseCmakeConfigure = true;
+  nativeBuildInputs = [ cmake pkg-config meson ninja ];
+  buildInputs = [ mpd_clientlib ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/joshkunz/ashuffle";
+    description = "Automatic library-wide shuffle for mpd";
+    maintainers = [ maintainers.tcbravo ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index ba000d1ffb4..c441a2f9f3f 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -1,39 +1,40 @@
-{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gettext, glib, gtk3
-, libmowgli, dbus-glib, libxml2, xorg, gnome3, alsaLib
-, libpulseaudio, libjack2, fluidsynth, libmad, libogg, libvorbis
-, libcdio, libcddb, flac, ffmpeg_3, mpg123, libcue, libmms, libbs2b
-, libsndfile, libmodplug, libsamplerate, soxr, lirc, curl, wavpack
-, neon, faad2, lame, libnotify, libsidplayfp
+{
+  mkDerivation, lib, fetchurl, fetchpatch,
+  gettext, pkgconfig,
+  qtbase,
+  alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk-pixbuf, lame, libbs2b,
+  libcddb, libcdio, libcdio-paranoia, libcue, libjack2, libmad, libmms, libmodplug,
+  libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
+  libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
+  wavpack, openmpt123
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "audacious";
-  version = "3.9";
+  version = "4.0.5";
 
   src = fetchurl {
-    url = "https://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
-    sha256 = "0dc7fg0v2l2j4h9cz1baz7rf4n0a5jgk09qvsj806sh6jp7w6ipm";
+    url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
+    sha256 = "028zjgz0p7ys15lk2a30m5zcv9xrx3ga50wjsh4m4zxilgkakbji";
   };
-
   pluginsSrc = fetchurl {
-    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}-gtk3.tar.bz2";
-    sha256 = "1gck37c5pnzxdhrnb1g75b5hi31s2dc952wifxns45pkdlayrmra";
+    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
+    sha256 = "0ny5w1agr9jaz5w3wyyxf1ygmzmd1sivaf97lcm4z4w6529520lz";
   };
 
-  nativeBuildInputs = [
-    pkgconfig wrapGAppsHook
-  ];
+  nativeBuildInputs = [ gettext pkgconfig ];
 
   buildInputs = [
-    gettext glib gtk3 libmowgli dbus-glib libxml2
-    xorg.libXcomposite gnome3.adwaita-icon-theme alsaLib libjack2
-    libpulseaudio fluidsynth libmad libogg libvorbis libcdio
-    libcddb flac ffmpeg_3 mpg123 libcue libmms libbs2b libsndfile
-    libmodplug libsamplerate soxr lirc curl wavpack neon faad2
-    lame libnotify libsidplayfp
-  ];
+    # Core dependencies
+    qtbase
 
-  configureFlags = [ "--enable-statusicon" ];
+    # Plugin dependencies
+    alsaLib curl faad2 ffmpeg flac fluidsynth gdk-pixbuf lame libbs2b libcddb
+    libcdio libcdio-paranoia libcue libjack2 libmad libmms libmodplug libmowgli
+    libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
+    libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
+    openmpt123
+  ];
 
   # Here we build both audacious and audacious-plugins in one
   # derivations, since they really expect to be in the same prefix.
@@ -44,10 +45,8 @@ stdenv.mkDerivation rec {
       source $stdenv/setup
       genericBuild
     )
-
     # Then build the plugins.
     (
-      dontWrapGApps=true
       nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
       source $stdenv/setup
       rm -rfv audacious-*
@@ -56,12 +55,10 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Audio player";
     homepage = "https://audacious-media-player.org/";
-    maintainers = with maintainers; [ eelco ramkromberg ];
+    maintainers = with maintainers; [ eelco ramkromberg ttuegel ];
     platforms = with platforms; linux;
     license = with licenses; [
       bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix
deleted file mode 100644
index 5c5cd65b412..00000000000
--- a/pkgs/applications/audio/audacious/qt-5.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-  mkDerivation, lib, fetchurl, fetchpatch,
-  gettext, pkgconfig,
-  qtbase,
-  alsaLib, curl, faad2, ffmpeg_3, flac, fluidsynth, gdk-pixbuf, lame, libbs2b,
-  libcddb, libcdio, libcue, libjack2, libmad, libmms, libmodplug,
-  libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
-  libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
-  wavpack
-}:
-
-let
-  version = "3.9";
-  sources = {
-    "audacious-${version}" = fetchurl {
-      url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
-      sha256 = "0pmhrhsjhqnrq3zh4rhfys5jas53ph5ijkq010dxg1n779kl901d";
-    };
-
-    "audacious-plugins-${version}" = fetchurl {
-      url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-      sha256 = "1f17r7ar0mngcf7z41s6xh073vjafw3i7iy9ijb0cd6bi48g5xwb";
-    };
-  };
-
-  qt510_plugins_patch = fetchpatch {
-    url = "https://github.com/audacious-media-player/audacious-plugins/commit/971f7ff7c3d8a0b9b420bf4fd19ab97755607637.patch";
-    sha256 = "15fy37syj9ygl2ibkkz3g3b9wd22vk9bjfmvqhhkpxphry2zwb17";
-  };
-in
-
-mkDerivation {
-  inherit version;
-  name = "audacious-qt5-${version}";
-
-  sourceFiles = lib.attrValues sources;
-  sourceRoots = lib.attrNames sources;
-
-  nativeBuildInputs = [ gettext pkgconfig ];
-
-  inherit qt510_plugins_patch;
-
-  buildInputs = [
-    # Core dependencies
-    qtbase
-
-    # Plugin dependencies
-    alsaLib curl faad2 ffmpeg_3 flac fluidsynth gdk-pixbuf lame libbs2b libcddb
-    libcdio libcue libjack2 libmad libmms libmodplug libmowgli
-    libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
-    libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
-  ];
-
-  configureFlags = [ "--enable-qt" "--disable-gtk" ];
-
-  # Here we build both audacious and audacious-plugins in one
-  # derivations, since they really expect to be in the same prefix.
-  # This is slighly tricky.
-  builder = builtins.toFile "builder.sh" ''
-    sourceFiles=( $sourceFiles )
-    sourceRoots=( $sourceRoots )
-    for (( i=0 ; i < ''${#sourceFiles[*]} ; i++ )); do
-
-      (
-        # only patch the plugins
-        if [ "$i" -eq "1" ]; then
-          patches=( $qt510_plugins_patch )
-        fi
-        src=''${sourceFiles[$i]}
-        sourceRoot=''${sourceRoots[$i]}
-        source $stdenv/setup
-        genericBuild
-      )
-
-      if [ $i == 0 ]; then
-        nativeBuildInputs="$out $nativeBuildInputs"
-      fi
-
-    done
-  '';
-
-  meta = with lib; {
-    description = "Audio player";
-    homepage = "https://audacious-media-player.org/";
-    maintainers = with maintainers; [ ttuegel ];
-    platforms = with platforms; linux;
-    license = with licenses; [
-      bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
-      gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
-    ];
-  };
-}
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 18f2b4f67cd..20526c8c6c5 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Sound editor with graphical UI";
-    homepage = "http://audacityteam.org/";
+    homepage = "https://www.audacityteam.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ lheckemann ];
     platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
diff --git a/pkgs/applications/audio/axoloti/libusb1.nix b/pkgs/applications/audio/axoloti/libusb1.nix
index 49b788f6653..255cf3f5e3b 100644
--- a/pkgs/applications/audio/axoloti/libusb1.nix
+++ b/pkgs/applications/audio/axoloti/libusb1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit, fetchpatch }:
+{ stdenv, lib, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "libusb-1.0.19";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
+    sed 's,-ludev,-L${lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
new file mode 100644
index 00000000000..a26431a82ed
--- /dev/null
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -0,0 +1,51 @@
+{ mkDerivation
+, stdenv
+, fetchFromGitHub
+, qmake
+, qtbase
+, qtmultimedia
+, qttools
+, alsaSupport ? stdenv.hostPlatform.isLinux
+, alsaLib
+, pulseSupport ? stdenv.hostPlatform.isLinux
+, libpulseaudio
+, jackSupport ? stdenv.hostPlatform.isUnix
+, libjack2
+}:
+let
+
+  inherit (stdenv.lib) optional optionals;
+
+in
+mkDerivation rec {
+  pname = "bambootracker";
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "rerrahkr";
+    repo = "BambooTracker";
+    rev = "v${version}";
+    sha256 = "0d0f4jqzknsiq725pvfndarfjg183f92rb0lim3wzshnsixr5vdc";
+  };
+
+  sourceRoot = "source/BambooTracker";
+
+  nativeBuildInputs = [ qmake qttools ];
+
+  buildInputs = [ qtbase qtmultimedia ]
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport libpulseaudio
+    ++ optional jackSupport libjack2;
+
+  qmakeFlags = [ "CONFIG+=release" "CONFIG-=debug" ]
+    ++ optional pulseSupport "CONFIG+=use_pulse"
+    ++ optionals jackSupport [ "CONFIG+=use_jack" "CONFIG+=jack_has_rename" ];
+
+  meta = with stdenv.lib; {
+    description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
+    homepage = "https://github.com/rerrahkr/BambooTracker";
+    license = licenses.gpl2Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
+  };
+}
diff --git a/pkgs/applications/audio/bchoppr/default.nix b/pkgs/applications/audio/bchoppr/default.nix
new file mode 100644
index 00000000000..7d4d53408d2
--- /dev/null
+++ b/pkgs/applications/audio/bchoppr/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "bchoppr";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "1nd6byy75f0rbz9dm9drhxmpsfhxhg0y7q3v2m3098llynhy9k2j";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ cairo libX11 lv2 ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sjaehn/BChoppr;
+    description = "An audio stream chopping LV2 plugin";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 0ca556a16ef..7e5099f3c31 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -2,11 +2,11 @@
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
   name = "bitwig-studio-${version}";
-  version = "3.2.2";
+  version = "3.2.7";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
-    sha256 = "10zb78n75nbriyjah0m3syv3rv7qwbmj590z24hss7lifa3rs784";
+    sha256 = "1mj9kii4bnk5w2p18hypwy8swkpzkaqw98q5fsjq362x4qm0b3py";
   };
 
   buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];
diff --git a/pkgs/applications/audio/bjumblr/default.nix b/pkgs/applications/audio/bjumblr/default.nix
index de0cae7a21a..e1a5bee64b3 100644
--- a/pkgs/applications/audio/bjumblr/default.nix
+++ b/pkgs/applications/audio/bjumblr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BJumblr";
-  version = "0.2";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "14z8113zkwykbhm1a8h2xs972dgifvlfij92b08jckyc7cbz84ys";
+    rev = version;
+    sha256 = "0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bs1770gain/default.nix b/pkgs/applications/audio/bs1770gain/default.nix
index 47de14ecb25..76a78935619 100644
--- a/pkgs/applications/audio/bs1770gain/default.nix
+++ b/pkgs/applications/audio/bs1770gain/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ffmpeg_3, sox }:
+{ stdenv, fetchurl, ffmpeg, sox }:
 
 stdenv.mkDerivation rec {
   pname = "bs1770gain";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p6yz5q7czyf9ard65sp4kawdlkg40cfscr3b24znymmhs3p7rbk";
   };
 
-  buildInputs = [ ffmpeg_3 sox ];
+  buildInputs = [ ffmpeg sox ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
diff --git a/pkgs/applications/audio/bschaffl/default.nix b/pkgs/applications/audio/bschaffl/default.nix
new file mode 100644
index 00000000000..c0d11e1fe5a
--- /dev/null
+++ b/pkgs/applications/audio/bschaffl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "bschaffl";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = pname;
+    rev = version;
+    sha256 = "1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ cairo libX11 lv2 ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/sjaehn/BSchaffl";
+    description = "Pattern-controlled MIDI amp & time stretch LV2 plugin";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index bb45a846b1b..37dcada961d 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSEQuencer";
-  version = "1.4.2";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "1fz0p0ba00b7k7a8q9mxwj01jwl8xwh9a2npn00pbbdrg9zv4fdr";
+    sha256 = "0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index bae2407ec7b..5a2675187c0 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.6";
+  version = "1.2.8";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "1l0znwvvqd2s24c652q54pkizlh86mvmr8h0qqp9xma0i575fcrh";
+    sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index f4028807ffc..26cc8cd78da 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "cava";
-  version = "0.7.1";
+  version = "0.7.2";
 
   buildInputs = [
     alsaLib
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "0p2g3xxl2n425bghs1qnff30jaj9cba94j2gbhgxmwaxhz26vbk7";
+    sha256 = "1chc08spjf5i17n8y48aqzdxsj8vvf0r2l62ldw2pqgw60dacvs1";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 4b426609fea..d91e550334b 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # When updating, please check if https://github.com/csound/csound/issues/1078
   # has been fixed in the new version so we can use the normal fluidsynth
   # version and remove fluidsynth 1.x from nixpkgs again.
-  version = "6.13.0";
+  version = "6.15.0";
 
   enableParallelBuilding = true;
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "csound";
     repo = "csound";
     rev = version;
-    sha256 = "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh";
+    sha256 = "1vld6v55jxvv3ddr21kh41s4cdkhnm5wpffvd097zqrqh1aq08r0";
   };
 
   cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix
index b42929ff204..e5cbcd4a2e2 100644
--- a/pkgs/applications/audio/dragonfly-reverb/default.nix
+++ b/pkgs/applications/audio/dragonfly-reverb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dragonfly-reverb";
-  version = "3.1.1";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "michaelwillis";
     repo = "dragonfly-reverb";
     rev = version;
-    sha256 = "188cm45hr0i33m4h2irql1wrsmsfis65s706wjiid0z59q47rf9p";
+    sha256 = "0vfm2510shah67k87mdyar4wr4vqwii59y9lqfhwm6blxparkrqa";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 04277badfbe..8c956c53fb3 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "drumkv1";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${pname}-${version}.tar.gz";
-    sha256 = "0fr7pkp55zvjxf7p22drs93fsjgvqhbd55vxi0srhp2s2wzz5qak";
+    sha256 = "108jk8p1sbm99plipf98ssij6dxaip1lmznibg8y2c4x0v2la6ab";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index e65414b2bca..515f8a6f9af 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -20,13 +20,13 @@ with stdenv.lib.strings;
 
 let
 
-  version = "unstable-2020-06-08";
+  version = "unstable-2020-08-27";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
-    rev = "f0037e289987818b65d3f6fb1ad943aaad2a2b28";
-    sha256 = "0h08902rgx7rhzpng4h1qw8i2nzv50f79vrlbzdk5d35wa4zibh4";
+    rev = "c10f316fa90f338e248787ebf55e3795c3a0d70e";
+    sha256 = "068pm04ddafbsj2r8akdpqyzb0m8mp9ql0rgi83hcqs4ndr8v7sb";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix
index 370c25ecd74..0f703704961 100644
--- a/pkgs/applications/audio/faust/faust2jack.nix
+++ b/pkgs/applications/audio/faust/faust2jack.nix
@@ -4,6 +4,7 @@
 , alsaLib
 , opencv2
 , libsndfile
+, which
 }:
 
 faust.wrapWithBuildEnv {
@@ -21,6 +22,7 @@ faust.wrapWithBuildEnv {
     alsaLib
     opencv2
     libsndfile
+    which
   ];
 
 }
diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix
index a2f1c2139a1..753208c54c2 100644
--- a/pkgs/applications/audio/faust/faust2jaqt.nix
+++ b/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -3,6 +3,7 @@
 , opencv2
 , qt4
 , libsndfile
+, alsaLib
 , which
 }:
 
@@ -20,6 +21,7 @@ faust.wrapWithBuildEnv {
     opencv2
     qt4
     libsndfile
+    alsaLib
     which
   ];
 
diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix
index 90bd8bc60ad..03ca4ce8eb0 100644
--- a/pkgs/applications/audio/faust/faustlive.nix
+++ b/pkgs/applications/audio/faust/faustlive.nix
@@ -1,26 +1,34 @@
 { stdenv, fetchFromGitHub
 , llvm, qt48Full, qrencode, libmicrohttpd, libjack2, alsaLib, faust, curl
-, bc, coreutils, which
+, bc, coreutils, which, libsndfile, pkg-config
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "faustlive";
-  version = "2017-12-05";
+  version = "2.5.4";
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faustlive";
-    rev = "281fcb852dcd94f8c57ade1b2a7a3937542e1b2d";
-    sha256 = "0sw44yd9928rid9ib0b5mx2x129m7zljrayfm6jz6hrwdc5q3k9a";
+    rev = version;
+    sha256 = "0npn8fvq8iafyamq4wrj1k1bmk4xd0my2sp3gi5jdjfx6hc1sm3n";
+    fetchSubmodules = true;
   };
 
   buildInputs = [
     llvm qt48Full qrencode libmicrohttpd libjack2 alsaLib faust curl
-    bc coreutils which
+    bc coreutils which libsndfile pkg-config
   ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  preBuild = "patchShebangs Build/Linux/buildversion";
+  postPatch = "cd Build";
+
+  installPhase = ''
+    install -d "$out/bin"
+    install -d "$out/share/applications"
+    install FaustLive/FaustLive "$out/bin"
+    install rsrc/FaustLive.desktop "$out/share/applications"
+  '';
 
   meta = with stdenv.lib; {
     description = "A standalone just-in-time Faust compiler";
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
index 114cf5e192f..f173d2fe02b 100644
--- a/pkgs/applications/audio/fmit/default.nix
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -11,13 +11,13 @@ with stdenv.lib;
 
 mkDerivation rec {
   pname = "fmit";
-  version = "1.2.13";
+  version = "1.2.14";
 
   src = fetchFromGitHub {
     owner = "gillesdegottex";
     repo = "fmit";
     rev = "v${version}";
-    sha256 = "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6";
+    sha256 = "1q062pfwz2vr9hbfn29fv54ip3jqfd9r99nhpr8w7mn1csy38azx";
   };
 
   nativeBuildInputs = [ qmake itstool wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/freqtweak/default.nix b/pkgs/applications/audio/freqtweak/default.nix
new file mode 100644
index 00000000000..046c8c8aac8
--- /dev/null
+++ b/pkgs/applications/audio/freqtweak/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, pkg-config, fftwFloat, libjack2, libsigcxx, libxml2, wxGTK }:
+
+stdenv.mkDerivation rec {
+  pname = "freqtweak";
+  version = "unstable-2019-08-03";
+
+  src = fetchFromGitHub {
+    owner = "essej";
+    repo = pname;
+    rev = "d4205337558d36657a4ee6b3afb29358aa18c0fd";
+    sha256 = "10cq27mdgrrc54a40al9ahi0wqd0p2c1wxbdg518q8pzfxaxs5fi";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkg-config ];
+  buildInputs = [ fftwFloat libjack2 libsigcxx libxml2 wxGTK ];
+
+  preConfigure = ''
+    sh autogen.sh
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://essej.net/freqtweak/;
+    description = "Realtime audio frequency spectral manipulation";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index 60040119d64..1db5644fc32 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.26";
+  version = "1.28";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "0fqb4415qy2nwjz7ahi43nk795ifswb2b37sc7p5n9m4yc8h53wv";
+    sha256 = "1hbcl89cpx9bsafxrjyfx6vrbs4h3lnzmqm12smcvdg8ksfgzj0d";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix
new file mode 100644
index 00000000000..dcfb5426034
--- /dev/null
+++ b/pkgs/applications/audio/geonkick/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitLab, cmake, pkg-config, redkite, libsndfile, rapidjson, libjack2, lv2, libX11, cairo }:
+
+stdenv.mkDerivation rec {
+  pname = "geonkick";
+  version = "2.3.7";
+
+  src = fetchFromGitLab {
+    owner = "iurie-sw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wdcbwiyy6i5agq5lffkyilyc8mv1cc4mp9h0nybn240vb2flqc2";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ redkite libsndfile rapidjson libjack2 lv2 libX11 cairo ];
+
+  # https://github.com/iurie-sw/geonkick/issues/120
+  cmakeFlags = [ "-DGKICK_REDKITE_SDK_PATH=${redkite}" "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
+  meta = {
+    homepage = "https://gitlab.com/iurie-sw/geonkick";
+    description = "A free software percussion synthesizer";
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
index 5934b0746d1..ce3f3df84a4 100644
--- a/pkgs/applications/audio/giada/default.nix
+++ b/pkgs/applications/audio/giada/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "giada";
-  version = "0.16.3";
+  version = "0.16.3.1";
 
   src = fetchFromGitHub {
     owner = "monocasual";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sysv5d0wq6ib47bqsn3wdzkqzjpzjrgzg15bkllbm67hiz9abhh";
+    sha256 = "0z1jrkggdn630i3j59j30apaa9s242y1wiawqp4g1n9dkg3r9a1j";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index d5bec0c09e5..c7df55118c7 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -20,7 +20,7 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.4.7";
+  version = "0.4.8";
   pname = "gnome-podcasts";
 
   src = fetchFromGitLab {
@@ -28,10 +28,10 @@ rustPlatform.buildRustPackage rec {
     owner = "World";
     repo = "podcasts";
     rev = version;
-    sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0";
+    sha256 = "0y2332zjq7vf1v38wzwz98fs19vpzy9kl7y0xbdzqr303l59hjb1";
   };
 
-  cargoSha256 = "1dlbdxsf9p2jzrsclm43k95y8m3zcd41qd9ajg1ii3fpnahi58kd";
+  cargoSha256 = "1jbii9k4bkrivdk1ffr6556q1sgk9j4jbzwnn8vbxmksyl1x328q";
 
   nativeBuildInputs = [
     meson
diff --git a/pkgs/applications/audio/gspeech/default.nix b/pkgs/applications/audio/gspeech/default.nix
index f51eb338d28..920c06038fe 100644
--- a/pkgs/applications/audio/gspeech/default.nix
+++ b/pkgs/applications/audio/gspeech/default.nix
@@ -20,13 +20,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gSpeech";
-  version = "0.9.2";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "mothsart";
     repo = pname;
     rev = version;
-    sha256 = "11pvdpb9jjssp8nmlj21gs7ncgfm89kw26mfc8c2x8w2q4h92ja3";
+    sha256 = "1i0jwgxcn94nsi7c0ad0w77y04g04ka2szijzfqzqfnacdmdyrfc";
   };
 
   nativeBuildInputs = [
@@ -56,8 +56,8 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   postFixup = ''
-    wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts ]}
-    wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts ]}
+    wrapProgram $out/bin/gspeech --prefix PATH : ${lib.makeBinPath [ picotts sox ]}
+    wrapProgram $out/bin/gspeech-cli --prefix PATH : ${lib.makeBinPath [ picotts sox ]}
   '';
 
   strictDeps = false;
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 9b8475006cc..d74f1c8728f 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -42,16 +42,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "guitarix";
-  version = "0.40.0";
+  version = "0.41.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
-    sha256 = "0q9050499hcj19hvbxb069vxh5yclawjg04vryh46lxm4sfy9g57";
+    sha256 = "0qsfbyrrpb3bbdyq68k28mjql7kglxh8nqcw9jvja28x6x9ik5a0";
   };
 
-  # see: https://sourceforge.net/p/guitarix/bugs/105
-  patches = [ ./fix-build.patch ];
-
   nativeBuildInputs = [
     gettext
     hicolor-icon-theme
@@ -101,8 +98,6 @@ stdenv.mkDerivation rec {
     "--no-desktop-update"
     "--enable-nls"
     "--install-roboto-font"
-    "--includeresampler"
-    "--includeconvolver"
   ] ++ optional optimizationSupport "--optimization";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/guitarix/fix-build.patch b/pkgs/applications/audio/guitarix/fix-build.patch
deleted file mode 100644
index 4a0e4267776..00000000000
--- a/pkgs/applications/audio/guitarix/fix-build.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/LV2/xputty/xfilepicker.cpp
-+++ b/src/LV2/xputty/xfilepicker.cpp
-@@ -191,6 +191,6 @@
-     filepicker->selected_file = NULL;
-     filepicker->path = NULL;
-     filepicker->filter = NULL;
--    asprintf(&filepicker->path, path);
-+    asprintf(&filepicker->path, "%s", path);
-     assert(filepicker->path != NULL);
- }
diff --git a/pkgs/applications/audio/gwc/default.nix b/pkgs/applications/audio/gwc/default.nix
new file mode 100644
index 00000000000..d9631ac45e6
--- /dev/null
+++ b/pkgs/applications/audio/gwc/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, alsaLib
+, libpulseaudio
+, gtk2
+, hicolor-icon-theme
+, libsndfile
+, fftw
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gwc";
+  version = "0.22-04";
+
+  src = fetchFromGitHub {
+    owner = "AlisterH";
+    repo = pname;
+    rev = version;
+    sha256 = "0xvfra32dchnnyf9kj5s5xmqhln8jdrc9f0040hjr2dsb58y206p";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsaLib
+    libpulseaudio
+    gtk2
+    hicolor-icon-theme
+    libsndfile
+    fftw
+  ];
+
+  enableParallelBuilding = false; # Fails to generate machine.h in time.
+
+  meta = with stdenv.lib; {
+    description = "GUI application for removing noise (hiss, pops and clicks) from audio files";
+    homepage = "https://github.com/AlisterH/gwc/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/gxplugins-lv2/default.nix b/pkgs/applications/audio/gxplugins-lv2/default.nix
index 077bb407020..fa80611fc28 100644
--- a/pkgs/applications/audio/gxplugins-lv2/default.nix
+++ b/pkgs/applications/audio/gxplugins-lv2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "GxPlugins.lv2";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromGitHub {
     owner = "brummer10";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jqdqnkg7pg9plcbxy49p7gcs1aj6h0xf7y9gndmjmkw5yjn2940";
+    sha256 = "11iv7bwvvspm74pisqvcpsxpg9xi6b08hq4i8q67mri4mvy9hmal";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 8459967a363..145ba68b08b 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -1,5 +1,16 @@
-{ stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
-, lv2, pkgconfig, libGLU, libGL }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, xorg
+, freetype
+, alsaLib
+, curl
+, libjack2
+, lv2
+, pkgconfig
+, libGLU
+, libGL
+}:
 
   stdenv.mkDerivation {
   version = "0.9.0";
@@ -20,7 +31,15 @@
 
   CXXFLAGS = "-DHAVE_LROUND";
 
-  patchPhase = ''
+  patches = [
+    # gcc9 compatibility https://github.com/mtytel/helm/pull/233
+    (fetchpatch {
+      url = "https://github.com/mtytel/helm/commit/cb611a80bd5a36d31bfc31212ebbf79aa86c6f08.patch";
+      sha256 = "1i2289srcfz17c3zzab6f51aznzdj62kk53l4afr32bkjh9s4ixk";
+    })
+  ];
+
+  prePatch = ''
     sed -i 's|usr/||g' Makefile
   '';
 
diff --git a/pkgs/applications/audio/hydrogen/0.nix b/pkgs/applications/audio/hydrogen/0.nix
new file mode 100644
index 00000000000..b3aff4e4c50
--- /dev/null
+++ b/pkgs/applications/audio/hydrogen/0.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, cmake
+, alsaLib, boost, glib, lash, libjack2, libarchive, libsndfile, lrdf, qt4
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.7";
+  pname = "hydrogen";
+
+  src = fetchurl {
+    url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz";
+    sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy";
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [
+    alsaLib boost glib lash libjack2 libarchive libsndfile lrdf qt4
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Advanced drum machine";
+    homepage = "http://www.hydrogen-music.org";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/audio/hydrogen/default.nix b/pkgs/applications/audio/hydrogen/default.nix
index b3aff4e4c50..c6d307e2c16 100644
--- a/pkgs/applications/audio/hydrogen/default.nix
+++ b/pkgs/applications/audio/hydrogen/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, cmake
-, alsaLib, boost, glib, lash, libjack2, libarchive, libsndfile, lrdf, qt4
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook
+, alsaLib, ladspa-sdk, lash, libarchive, libjack2, liblo, libpulseaudio, libsndfile, lrdf
+, qtbase, qttools, qtxmlpatterns
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.7";
   pname = "hydrogen";
+  version = "1.0.1";
 
-  src = fetchurl {
-    url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz";
-    sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy";
+  src = fetchFromGitHub {
+    owner = "hydrogen-music";
+    repo = pname;
+    rev = version;
+    sha256 = "0snljpvbcgikhz610c325dgvayi0k512p3bglck9vvi90wsqx7l1";
   };
 
-  nativeBuildInputs = [ pkgconfig cmake ];
+  nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
   buildInputs = [
-    alsaLib boost glib lash libjack2 libarchive libsndfile lrdf qt4
+    alsaLib ladspa-sdk lash libarchive libjack2 liblo libpulseaudio libsndfile lrdf
+    qtbase qttools qtxmlpatterns
+  ];
+
+  cmakeFlags = [
+    "-DWANT_DEBUG=OFF"
   ];
 
   meta = with stdenv.lib; {
@@ -21,6 +29,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.hydrogen-music.org";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu orivej ];
   };
 }
diff --git a/pkgs/applications/audio/hydrogen/unstable.nix b/pkgs/applications/audio/hydrogen/unstable.nix
deleted file mode 100644
index 2f220f8d31a..00000000000
--- a/pkgs/applications/audio/hydrogen/unstable.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook
-, alsaLib, ladspa-sdk, lash, libarchive, libjack2, liblo, libpulseaudio, libsndfile, lrdf
-, qtbase, qttools, qtxmlpatterns
-}:
-
-stdenv.mkDerivation rec {
-  pname = "hydrogen";
-  version = "1.0.0-beta2";
-
-  src = fetchFromGitHub {
-    owner = "hydrogen-music";
-    repo = pname;
-    rev = version;
-    sha256 = "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
-  buildInputs = [
-    alsaLib ladspa-sdk lash libarchive libjack2 liblo libpulseaudio libsndfile lrdf
-    qtbase qttools qtxmlpatterns
-  ];
-
-  cmakeFlags = [
-    "-DWANT_DEBUG=OFF"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Advanced drum machine";
-    homepage = "http://www.hydrogen-music.org";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ goibhniu orivej ];
-  };
-}
diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix
index c3a46439ba7..ad01a3ff76e 100644
--- a/pkgs/applications/audio/jackmix/default.nix
+++ b/pkgs/applications/audio/jackmix/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, scons, qt4, lash, libjack2, jack ? libjack2 }:
+{ stdenv, fetchurl, pkgconfig, sconsPackages, qt4, lash, libjack2, jack ? libjack2 }:
 
 stdenv.mkDerivation {
   name = "jackmix-0.5.2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   patches = [ ./no_error.patch ];
 
-  nativeBuildInputs = [ scons.py2 pkgconfig ];
+  nativeBuildInputs = [ sconsPackages.scons_3_1_2 pkgconfig ];
   buildInputs = [
     qt4
     lash
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index bbf66a74bc5..39f1467138d 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk3, libjack2, lilv, lv2, pkgconfig, python
+{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
 , serd, sord , sratom, suil, wafHook }:
 
 stdenv.mkDerivation  rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation  rec {
 
   nativeBuildInputs = [ pkgconfig wafHook ];
   buildInputs = [
-    gtk3 libjack2 lilv lv2 python serd sord sratom suil
+    gtk2 libjack2 lilv lv2 python serd sord sratom suil
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/jamulus/default.nix b/pkgs/applications/audio/jamulus/default.nix
index 498d980676d..b8763f07b45 100644
--- a/pkgs/applications/audio/jamulus/default.nix
+++ b/pkgs/applications/audio/jamulus/default.nix
@@ -3,12 +3,12 @@
 
 mkDerivation rec {
   pname = "jamulus";
-  version = "3.5.6";
+  version = "3.5.9";
   src = fetchFromGitHub {
     owner = "corrados";
     repo = "jamulus";
     rev = "r${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "00vd6kffsf3vqfwaxjvln63x3n0q32f385qc51fn5iyj54410x0f";
+    sha256 = "0h2m1sahi8cg15k6wa9m2d38va2cs3nvi0q8rpr9vak8g8d3p460";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/audio/kapitonov-plugins-pack/default.nix b/pkgs/applications/audio/kapitonov-plugins-pack/default.nix
new file mode 100644
index 00000000000..53b55332f5d
--- /dev/null
+++ b/pkgs/applications/audio/kapitonov-plugins-pack/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config
+, boost, cairo, fftw, gnome3, ladspa-sdk, libxcb, lv2, xcbutilwm
+, zita-convolver, zita-resampler
+ }:
+
+stdenv.mkDerivation rec {
+  pname = "kapitonov-plugins-pack";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "olegkapitonov";
+    repo = pname;
+    rev = version;
+    sha256 = "1mxi7b1vrzg25x85lqk8c77iziqrqyz18mqkfjlz09sxp5wfs9w4";
+  };
+
+  nativeBuildInputs = [
+    faust
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    boost
+    cairo
+    fftw
+    ladspa-sdk
+    libxcb
+    lv2
+    xcbutilwm
+    zita-convolver
+    zita-resampler
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Set of LADSPA and LV2 plugins for guitar sound processing";
+    homepage = https://github.com/olegkapitonov/Kapitonov-Plugins-Pack;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/kmetronome/default.nix b/pkgs/applications/audio/kmetronome/default.nix
new file mode 100644
index 00000000000..30a4d5f3684
--- /dev/null
+++ b/pkgs/applications/audio/kmetronome/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qttools, alsaLib, drumstick, qtbase, qtsvg }:
+
+stdenv.mkDerivation rec {
+  pname = "kmetronome";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "0bzm6vzlm32kjrgn1nvp096b2d41ybys2sk145nhy992wg56v32s";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig qttools ];
+
+  buildInputs = [ alsaLib drumstick qtbase qtsvg ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://kmetronome.sourceforge.io/";
+    description = "ALSA MIDI metronome with Qt interface";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/librespot/cargo-lock.patch b/pkgs/applications/audio/librespot/cargo-lock.patch
new file mode 100644
index 00000000000..129ba96987a
--- /dev/null
+++ b/pkgs/applications/audio/librespot/cargo-lock.patch
@@ -0,0 +1,137 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 533b47d..9c9c2f6 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -932,7 +932,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -940,12 +940,12 @@ dependencies = [
+  "getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
+  "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-audio 0.1.2",
+- "librespot-connect 0.1.2",
+- "librespot-core 0.1.2",
+- "librespot-metadata 0.1.2",
+- "librespot-playback 0.1.2",
+- "librespot-protocol 0.1.2",
++ "librespot-audio 0.1.3",
++ "librespot-connect 0.1.3",
++ "librespot-core 0.1.3",
++ "librespot-metadata 0.1.3",
++ "librespot-playback 0.1.3",
++ "librespot-protocol 0.1.3",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+  "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -961,7 +961,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-audio"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "bit-set 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -969,7 +969,7 @@ dependencies = [
+  "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+  "lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-core 0.1.2",
++ "librespot-core 0.1.3",
+  "librespot-tremor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -980,7 +980,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-connect"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -990,9 +990,9 @@ dependencies = [
+  "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libmdns 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-core 0.1.2",
+- "librespot-playback 0.1.2",
+- "librespot-protocol 0.1.2",
++ "librespot-core 0.1.3",
++ "librespot-playback 0.1.3",
++ "librespot-protocol 0.1.3",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+  "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1007,7 +1007,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-core"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1020,7 +1020,7 @@ dependencies = [
+  "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
+  "hyper-proxy 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-protocol 0.1.2",
++ "librespot-protocol 0.1.3",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+  "num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1043,12 +1043,12 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-metadata"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-core 0.1.2",
+- "librespot-protocol 0.1.2",
++ "librespot-core 0.1.3",
++ "librespot-protocol 0.1.3",
+  "linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1056,7 +1056,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-playback"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "alsa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1068,9 +1068,9 @@ dependencies = [
+  "jack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
+  "libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "librespot-audio 0.1.2",
+- "librespot-core 0.1.2",
+- "librespot-metadata 0.1.2",
++ "librespot-audio 0.1.3",
++ "librespot-core 0.1.3",
++ "librespot-metadata 0.1.3",
+  "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
+  "portaudio-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+  "rodio 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -1081,7 +1081,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "librespot-protocol"
+-version = "0.1.2"
++version = "0.1.3"
+ dependencies = [
+  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/applications/audio/librespot/default.nix b/pkgs/applications/audio/librespot/default.nix
index 468cf57cdcf..6061edac025 100644
--- a/pkgs/applications/audio/librespot/default.nix
+++ b/pkgs/applications/audio/librespot/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl
-, withRodio ? true
-, withALSA ? true, alsaLib ? null
-, withPulseAudio ? false, libpulseaudio ? null
-, withPortAudio ? false, portaudio ? null
-}:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, withRodio ? true
+, withALSA ? true, alsaLib ? null, withPulseAudio ? false, libpulseaudio ? null
+, withPortAudio ? false, portaudio ? null }:
 
 rustPlatform.buildRustPackage rec {
   pname = "librespot";
-  version = "0.1.1";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "librespot-org";
     repo = "librespot";
     rev = "v${version}";
-    sha256 = "1sdbjv8w2mfpv82rx5iy4s532l1767vmlrg9d8khnvh8vrm2lshy";
+    sha256 = "1ixh47yvaamrpzagqsiimc3y6bi4nbym95843d23am55zkrgnmy5";
   };
 
-  cargoSha256 = "0zi50imjvalwl6pxl35qrmbg74j5xdfaws8v69am4g9agbfjvlms";
+  cargoSha256 = "1csls8kzzx28ng6w9vdwhnnav5sqp2m5fj430db5z306xh5acg3d";
+
+  cargoPatches = [ ./cargo-lock.patch ];
 
   cargoBuildFlags = with stdenv.lib; [
     "--no-default-features"
@@ -32,8 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ openssl ]
-    ++ stdenv.lib.optional withALSA alsaLib
+  buildInputs = [ openssl ] ++ stdenv.lib.optional withALSA alsaLib
     ++ stdenv.lib.optional withPulseAudio libpulseaudio
     ++ stdenv.lib.optional withPortAudio portaudio;
 
diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix
index 256f5766c41..f229e15871e 100644
--- a/pkgs/applications/audio/lingot/default.nix
+++ b/pkgs/applications/audio/lingot/default.nix
@@ -5,8 +5,10 @@
 , gtk3
 , wrapGAppsHook
 , alsaLib
+, libjack2
 , libpulseaudio
 , fftw
+, jackSupport ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -29,11 +31,9 @@ stdenv.mkDerivation rec {
     alsaLib
     libpulseaudio
     fftw
-  ];
+  ] ++ stdenv.lib.optional jackSupport libjack2;
 
-  configureFlags = [
-    "--disable-jack"
-  ];
+  configureFlags = stdenv.lib.optional (!jackSupport) "--disable-jack";
 
   meta = {
     description = "Not a Guitar-Only tuner";
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index c243e9beb23..b01c4055e40 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "lmms";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "LMMS";
     repo = "lmms";
     rev = "v${version}";
-    sha256 = "08k2nfj0rw9mahr7pr90n79wviqmjmflrgcljc6y3x30v84wbp26";
+    sha256 = "006hwv1pbh3y5whsxkjk20hsbgwkzr4dawz43afq1gil69y7xpda";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index e4b8b906fa6..f325185920d 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchgit
+, nix-update-script
 , meson
 , ninja
 , pkgconfig
@@ -23,7 +24,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.2.35";
+  version = "1.3.2";
 
   format = "other";
   doCheck = false;
@@ -32,7 +33,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "19nw9qh17yyi9ih1nwngbbwjx1vr26haqhmzsdqf0yjgsgf9vldx";
+    sha256 = "14854j1dhq67s1vzs0lqy345vbl6f5w8nb36n4i33fmpva2flsk3";
   };
 
   nativeBuildInputs = [
@@ -91,6 +92,13 @@ python3.pkgs.buildPythonApplication rec  {
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
+
   meta = with lib; {
     changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     description = "A modern music player for GNOME";
diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix
index 435da644073..fadc7e8f184 100644
--- a/pkgs/applications/audio/lsp-plugins/default.nix
+++ b/pkgs/applications/audio/lsp-plugins/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lsp-plugins";
-  version = "1.1.22";
+  version = "1.1.24";
 
   src = fetchFromGitHub {
     owner = "sadko4u";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0s0i0kf5nqxxywckg03fds1w7696ly60rnlljzqvp7qfgzps1r6c";
+    sha256 = "0rzgzkg6wvhjcf664i16nz4v30drgv80s34bhdflcjzx2x7ix5zk";
   };
 
   nativeBuildInputs = [ pkgconfig php makeWrapper ];
diff --git a/pkgs/applications/audio/lv2-cpp-tools/default.nix b/pkgs/applications/audio/lv2-cpp-tools/default.nix
new file mode 100644
index 00000000000..d98135fb014
--- /dev/null
+++ b/pkgs/applications/audio/lv2-cpp-tools/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchzip, pkgconfig, lv2, gtkmm2, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "lv2-cpp-tools";
+  version = "1.0.5";
+
+  src = fetchzip {
+    url = "http://deb.debian.org/debian/pool/main/l/lv2-c++-tools/lv2-c++-tools_${version}.orig.tar.bz2";
+    sha256 = "039bq7d7s2bhfcnlsfq0mqxr9a9iqwg5bwcpxfi24c6yl6krydsi";
+  };
+
+  preConfigure = ''
+    sed -r 's,/bin/bash,${stdenv.shell},g' -i ./configure
+    sed -r 's,/sbin/ldconfig,ldconfig,g' -i ./Makefile.template
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 gtkmm2 boost ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://ll-plugins.nongnu.org/hacking.html";
+    description = "Tools and libraries that may come in handy when writing LV2 plugins in C++";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mamba/default.nix b/pkgs/applications/audio/mamba/default.nix
new file mode 100644
index 00000000000..a3e33471cee
--- /dev/null
+++ b/pkgs/applications/audio/mamba/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, cairo
+, libX11
+, libjack2
+, liblo
+, libsigcxx
+, libsmf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mamba";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "brummer10";
+    repo = "Mamba";
+    rev = "v${version}";
+    sha256 = "1wa3f9c4l239mpxa7nxx8hajy4icn40vpvaxq5l1qzskl74w072d";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./fix-build.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ cairo libX11 libjack2 liblo libsigcxx libsmf ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/brummer10/Mamba";
+    description = "Virtual MIDI keyboard for Jack Audio Connection Kit";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ magnetophon orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mamba/fix-build.patch b/pkgs/applications/audio/mamba/fix-build.patch
new file mode 100644
index 00000000000..ed366963676
--- /dev/null
+++ b/pkgs/applications/audio/mamba/fix-build.patch
@@ -0,0 +1,10 @@
+--- a/libxputty/Build/Makefile
++++ b/libxputty/Build/Makefile
+@@ -20,1 +20,1 @@
+-	LDFLAGS += -fPIC `pkg-config --static --cflags --libs cairo x11` -lm
++	LDFLAGS += -fPIC `pkg-config --cflags --libs cairo x11` -lm
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -84,1 +83,1 @@ ifneq ("$(wildcard ./$(BUILD_DIR))","")
+-	update-desktop-database
++	update-desktop-database || true
diff --git a/pkgs/applications/audio/mellowplayer/default.nix b/pkgs/applications/audio/mellowplayer/default.nix
new file mode 100644
index 00000000000..93c0b36bbb0
--- /dev/null
+++ b/pkgs/applications/audio/mellowplayer/default.nix
@@ -0,0 +1,70 @@
+{ cmake
+, fetchFromGitLab
+, lib
+, libnotify
+, mkDerivation
+, pkgconfig
+, qtbase
+, qtdeclarative
+, qtgraphicaleffects
+, qtquickcontrols2
+, qttools
+, qtwebengine
+}:
+
+mkDerivation rec {
+  pname = "MellowPlayer";
+  version = "3.6.5";
+
+  src = fetchFromGitLab {
+    owner = "ColinDuquesnoy";
+    repo = "MellowPlayer";
+    rev = version;
+    sha256 = "1fnfqyy52hnh9vwq4rcndcqwh0zsm1sd3vi4h5gzaj4zbniq5v2f";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [
+    libnotify
+    qtbase
+    qtdeclarative
+    qtgraphicaleffects
+    qtquickcontrols2
+    qttools
+    qtwebengine
+  ];
+
+  doCheck = true;
+
+  cmakeFlags = [ "-DBUILD_TESTS=ON" ];
+
+  preCheck = ''
+    # Running the tests requires a location at the home directory for logging.
+    export HOME="$NIX_BUILD_TOP/home"
+    mkdir -p "$HOME/.local/share/MellowPlayer.Tests/MellowPlayer.Tests/Logs"
+
+    # Without this, the tests fail because they cannot create the QT Window
+    export QT_QPA_PLATFORM=offscreen
+  ''
+  # TODO: The tests are failing because it can't locate QT plugins. Is there a better way to do this?
+  + (builtins.concatStringsSep "\n" (lib.lists.flatten (builtins.map
+      (pkg: [
+        (lib.optionalString (pkg ? qtPluginPrefix) ''
+          export QT_PLUGIN_PATH="${pkg}/${pkg.qtPluginPrefix}"''${QT_PLUGIN_PATH:+':'}$QT_PLUGIN_PATH
+        '')
+
+        (lib.optionalString (pkg ? qtQmlPrefix) ''
+          export QML2_IMPORT_PATH="${pkg}/${pkg.qtQmlPrefix}"''${QML2_IMPORT_PATH:+':'}$QML2_IMPORT_PATH
+        '')
+      ]) buildInputs)));
+
+  meta = with lib; {
+    inherit (qtbase.meta) platforms;
+
+    description = "Cloud music integration for your desktop.";
+    homepage = "https://gitlab.com/ColinDuquesnoy/MellowPlayer";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ kalbasit ];
+  };
+}
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index f889d9e1e8d..576dd4d97b3 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -3,7 +3,7 @@
 , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
 , libGLU, libxcb, lilv, lv2, opusfile
 , pkgconfig, portaudio, portmidi, protobuf, qtbase, qtscript, qtsvg
-, qtx11extras, rubberband, scons, sqlite, taglib, upower, vamp-plugin-sdk
+, qtx11extras, rubberband, sconsPackages, sqlite, taglib, upower, vamp-plugin-sdk
 }:
 
 let
@@ -19,16 +19,16 @@ let
 in
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = "release-${version}";
-    sha256 = "1h7q25fv62c5m74d4cn1m6mpanmqpbl2wqbch4qvn488jb2jw1dv";
+    sha256 = "1dj9li8av9b2kbm76jvvbdmihy1pyrw0s4xd7dd524wfhwr1llxr";
   };
 
-  nativeBuildInputs = [ scons.py2 ];
+  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
   buildInputs = [
     chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout241 libsndfile
     libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg
@@ -52,7 +52,7 @@ mkDerivation rec {
     homepage = "https://mixxx.org";
     description = "Digital DJ mixing software";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.aszlig maintainers.goibhniu maintainers.bfortz ];
+    maintainers = [ maintainers.goibhniu maintainers.bfortz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/molot-lite/default.nix b/pkgs/applications/audio/molot-lite/default.nix
new file mode 100644
index 00000000000..5c5aa505537
--- /dev/null
+++ b/pkgs/applications/audio/molot-lite/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, unzip, lv2 }:
+
+stdenv.mkDerivation {
+  pname = "molot-lite";
+  version = "unstable-2014-04-23";
+
+  src = fetchurl {
+    # fetchzip does not accept urls that do not end with .zip.
+    url = "https://sourceforge.net/p/molot/code/ci/c4eddc426f8d5821e8ebcf1d67265365e4c8c52a/tree/molot_src.zip?format=raw";
+    sha256 = "1c47dwfgrmn9459px8s5zikcqyr0777v226qzcxlr6azlcjwr51b";
+  };
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ lv2 ];
+
+  unpackPhase = ''
+    unzip $src
+  '';
+
+  buildPhase = ''
+    make -C Molot_Mono_Lite
+    make -C Molot_Stereo_Lite
+  '';
+
+  installPhase = ''
+    make install INSTALL_DIR=$out/lib/lv2 -C Molot_Mono_Lite
+    make install INSTALL_DIR=$out/lib/lv2 -C Molot_Stereo_Lite
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Stereo and mono audio signal dynamic range compressor in LV2 format";
+    homepage = "https://sourceforge.net/projects/molot/";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mooSpace/default.nix b/pkgs/applications/audio/mooSpace/default.nix
new file mode 100644
index 00000000000..f6958c5e974
--- /dev/null
+++ b/pkgs/applications/audio/mooSpace/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+stdenv.mkDerivation rec {
+  pname = "mooSpace";
+  version = "unstable-2020-06-10";
+
+  src = fetchFromGitHub {
+    owner = "modularev";
+    repo = pname;
+    rev = "e5440407ea6ef9f7fcca838383b2b9a388c22874";
+    sha256 = "10vsbddf6d7i06040850v8xkmqh3bqawczs29kfgakair809wqxl";
+  };
+
+  buildInputs = [ faust2jaqt faust2lv2 ];
+
+  patchPhase = "mv ${pname}_faust.dsp ${pname}.dsp";
+
+  buildPhase = ''
+    faust2jaqt -time -vec -t 0 ${pname}.dsp
+    faust2lv2  -time -vec -t 0 -gui ${pname}.dsp
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${pname} $out/bin/
+      mkdir -p $out/lib/lv2
+      cp -r ${pname}.lv2 $out/lib/lv2
+  '';
+
+  meta = {
+    description = "Variable reverb audio effect, jack and lv2";
+    homepage = "https://github.com/modularev/mooSpace";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 6c2a7d9fe33..23322ca5663 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -40,6 +40,8 @@ let
 
     mopidy-iris = callPackage ./iris.nix { };
 
+    mopidy-tunein = callPackage ./tunein.nix { };
+
   };
 
 in self
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 5cc3a957d26..467ba6fe3f7 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.49.0";
+  version = "3.50.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0zddm7286iwx437gjz47m4g28s8gdcxnm2hmly9w1dzi08aa4fas";
+    sha256 = "04miwf0dqb8jir9g7xkfnn3l62bdn74ap03kqzz2v3byg64f1p0g";
   };
 
   propagatedBuildInputs = [
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   ] ++ (with python3Packages; [
     configobj
     requests
-    tornado_4
+    tornado
   ]);
 
   # no tests implemented
diff --git a/pkgs/applications/audio/mopidy/mopidy.nix b/pkgs/applications/audio/mopidy/mopidy.nix
index ae65d9b2f6e..28216020b78 100644
--- a/pkgs/applications/audio/mopidy/mopidy.nix
+++ b/pkgs/applications/audio/mopidy/mopidy.nix
@@ -21,7 +21,7 @@ pythonPackages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with pythonPackages; [
-    gst-python pygobject3 pykka tornado_4 requests setuptools
+    gst-python pygobject3 pykka tornado requests setuptools
   ] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
 
   # There are no tests
diff --git a/pkgs/applications/audio/mopidy/tunein.nix b/pkgs/applications/audio/mopidy/tunein.nix
new file mode 100644
index 00000000000..569d08fb4a0
--- /dev/null
+++ b/pkgs/applications/audio/mopidy/tunein.nix
@@ -0,0 +1,28 @@
+{ stdenv, python3Packages, mopidy }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "mopidy-tunein";
+  version = "1.0.0";
+
+  src = python3Packages.fetchPypi {
+    inherit version;
+    pname = "Mopidy-TuneIn";
+    sha256 = "0insasf4w8ajsqjh5zmax7pkzmrk1p245vh4y8ddicldj45p6qfj";
+  };
+
+  propagatedBuildInputs = [
+    mopidy
+  ];
+
+  # tests fail with "ValueError: Namespace Gst not available" in mopidy itself
+  doCheck = false;
+
+  pythonImportsCheck = [ "mopidy_tunein.tunein" ];
+
+  meta = with stdenv.lib; {
+    description = "Mopidy extension for playing music from tunein.";
+    homepage = "https://github.com/kingosticks/mopidy-tunein";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/youtube.nix b/pkgs/applications/audio/mopidy/youtube.nix
index ac16c182a50..a115812b86a 100644
--- a/pkgs/applications/audio/mopidy/youtube.nix
+++ b/pkgs/applications/audio/mopidy/youtube.nix
@@ -2,12 +2,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mopidy-youtube";
-  version = "3.0";
+  version = "3.1";
 
   src = python3Packages.fetchPypi {
     inherit version;
     pname = "Mopidy-YouTube";
-    sha256 = "0x1q9rfnjx65n6hi8s5rw5ff4xv55h63zy52fwm8aksdnzppr7gd";
+    sha256 = "1bn3nxianbal9f81z9wf2cxi893hndvrz2zdqvh1zpxrhs0cr038";
   };
 
   patchPhase = "sed s/bs4/beautifulsoup4/ -i setup.cfg";
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index 30f40e226de..21dffa8d509 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpg123-1.26.1";
+  name = "mpg123-1.26.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
-    sha256 = "0cp01wdy77ggzqzzasxd5jd9iypcly5m4c89idc9mpgknyd65mkl";
+    sha256 = "0vkcfdx0mqq6lmpczsmpa2jsb0s6dryx3i7gvr32i3w9b9w9ij9h";
   };
 
   buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix
index 87f86306b48..6ba29226b58 100644
--- a/pkgs/applications/audio/muse/default.nix
+++ b/pkgs/applications/audio/muse/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "muse-sequencer";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "muse-sequencer";
     repo = "muse";
     rev = "muse_${builtins.replaceStrings ["."] ["_"] version}";
-    sha256 = "08k25652w88xf2i79lw305x1phpk7idrww9jkqwcs8q6wzgmz8aq";
+    sha256 = "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p";
   };
 
   sourceRoot = "source/muse3";
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 0561a0179a6..71c639ca406 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "musescore";
-  version = "3.4.2";
+  version = "3.5.0";
 
   src = fetchzip {
-    url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.zip";
-    sha256 = "1laskvp40dncs12brkgvk7wl0qrvzy52rn7nf3b67ps1vmd130gp";
+    url = "https://github.com/musescore/MuseScore/releases/download/v3.5/MuseScore-${version}.zip";
+    sha256 = "0m598xh0s4f5m4l2ymy7g44bbvc14bcfi4gifhjnrg091rsk57c9";
     stripRoot = false;
   };
 
@@ -20,7 +20,14 @@ mkDerivation rec {
   ];
 
   cmakeFlags = [
-  ] ++ lib.optional (lib.versionAtLeast freetype.version "2.5.2") "-DUSE_SYSTEM_FREETYPE=ON";
+    "-DUSE_SYSTEM_FREETYPE=ON"
+  ];
+
+  qtWrapperArgs = [
+    # Work around crash on update from 3.4.2 to 3.5.0
+    # https://bugreports.qt.io/browse/QTBUG-85967
+    "--set QML_DISABLE_DISK_CACHE 1"
+  ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index 0c4e2c71dd9..8fc0616ff73 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "musikcube";
-  version = "0.92.1";
+  version = "0.93.1";
 
   src = fetchFromGitHub {
     owner = "clangen";
     repo = pname;
     rev = version;
-    sha256 = "0l4ncxqxvp5m014j7vlglhzxhhrxl0c2m71xn0i0a27hn4nc72mr";
+    sha256 = "05qsxyr7x8l0vlmn4yjg4gglxvcw9raf6vfzvblsl2ngsdsrnizy";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix
index b1e8822cdcf..7ef2b400b76 100644
--- a/pkgs/applications/audio/musly/default.nix
+++ b/pkgs/applications/audio/musly/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, eigen, libav_all }:
+{ stdenv, fetchFromGitHub, cmake, eigen, libav }:
 stdenv.mkDerivation {
   pname = "musly";
   version = "unstable-2017-04-26";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825";
   };
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ eigen (libav_all.override { vaapiSupport = stdenv.isLinux; }).libav_11 ];
+  buildInputs = [ eigen (libav.override { vaapiSupport = stdenv.isLinux; }) ];
   fixupPhase = if stdenv.isDarwin then ''
     install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly
     install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index aea50d71d75..ca61aa0cd6f 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -10,13 +10,13 @@ assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
-  version = "0.38";
+  version = "0.39";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "1kidpd1xrfax3v31q93r9g9b7jd841476q47wgd94h1a86b70gs9";
+    sha256 = "08xrcinfm1a7hjycf8la7gnsxbp3six70ks987dr7j42kd42irfq";
   };
 
   buildInputs = [ glib ncurses mpd_clientlib boost ]
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 895e673d453..2fcbf82107d 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.1.4";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
-    rev = version;
-    sha256 = "02g2lamabkwayhm56498pfvl9g0xx2vsan2j48ssrwjx6rwmlh7n";
+    rev = "v${version}";
+    sha256 = "1i17pidw2hylijwfn96f2bnswfxxwdln2ydsq8b1q4hfzfbxlfk2";
   };
 
-  cargoSha256 = "07gw2az11lpldwpb792l64b7xlarvx77364rn4i8g6a5271zahz3";
+  cargoSha256 = "1cpy4wrj9dz2crva4p18f8hzym73x4m2mcfds4ppri4ir7qg29dr";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/netease-cloud-music/default.nix b/pkgs/applications/audio/netease-cloud-music/default.nix
deleted file mode 100644
index c4cc291d026..00000000000
--- a/pkgs/applications/audio/netease-cloud-music/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ stdenv, lib, fontconfig, zlib, libGL, glib, pango
-, gdk-pixbuf, freetype, atk, cairo, libsForQt5, xorg
-, sqlite, taglib, nss, nspr, cups, dbus, alsaLib
-, libpulseaudio, deepin, qt5, harfbuzz, p11-kit
-, libgpgerror, libudev0-shim, makeWrapper, dpkg, fetchurl }:
-let
-  rpath = lib.makeLibraryPath [
-    fontconfig.lib
-    zlib
-    stdenv.cc.cc.lib
-    libGL
-    glib
-    pango
-    gdk-pixbuf
-    freetype
-    atk
-    cairo
-    libsForQt5.vlc
-    sqlite
-    taglib
-    nss
-    nspr
-    cups.lib
-    dbus.lib
-    alsaLib
-    libpulseaudio
-    xorg.libX11
-    xorg.libXext
-    xorg.libXtst
-    xorg.libXdamage
-    xorg.libXScrnSaver
-    xorg.libxcb
-    xorg.libXi
-    deepin.qcef
-    qt5.qtwebchannel
-    qt5.qtbase
-    qt5.qtx11extras
-    qt5.qtdeclarative
-    harfbuzz
-    p11-kit
-    libgpgerror
-  ];   
-
-  runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
-
-in stdenv.mkDerivation rec {
-  pname = "netease-cloud-music";
-  version = "1.2.0";
-  src = fetchurl {
-    url    = "http://d1.music.126.net/dmusic/netease-cloud-music_1.2.0_amd64_deepin_stable_20190424.deb";
-    sha256 = "0hg8jqim77vd0fmk8gfbz2fmlj99byxcm9jn70xf7vk1sy7wp6h1";
-    curlOpts = "-A 'Mozilla/5.0'";
-  };
-  unpackCmd = "${dpkg}/bin/dpkg -x $src .";
-  sourceRoot = ".";
-
-  nativeBuildInputs = [ qt5.wrapQtAppsHook makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -r usr/* $out
-  '';
-
-  preFixup = ''
-    local exefile="$out/bin/netease-cloud-music"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exefile"
-    patchelf --set-rpath "$out/libs:$(patchelf --print-rpath "$exefile"):${rpath}" "$exefile"
-
-    wrapProgram $out/bin/netease-cloud-music \
-      --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
-      --set QCEF_INSTALL_PATH "${deepin.qcef}/lib/qcef"
-  '';
-
-  meta = {
-    description = "Client for Netease Cloud Music service";
-    homepage = "https://music.163.com";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = [ stdenv.lib.maintainers.mlatus ];
-    license = stdenv.lib.licenses.unfreeRedistributable;
-  };
-}
diff --git a/pkgs/applications/audio/noisetorch/config.patch b/pkgs/applications/audio/noisetorch/config.patch
new file mode 100644
index 00000000000..f6e258862db
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/config.patch
@@ -0,0 +1,13 @@
+diff --git a/config.go b/config.go
+index de16249..fb91ec0 100644
+--- a/config.go
++++ b/config.go
+@@ -20,7 +20,7 @@ const configFile = "config.toml"
+ 
+ func initializeConfigIfNot() {
+ 	log.Println("Checking if config needs to be initialized")
+-	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: true}
++	conf := config{Threshold: 95, DisplayMonitorSources: false, EnableUpdates: false}
+ 	configdir := configDir()
+ 	ok, err := exists(configdir)
+ 	if err != nil {
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
new file mode 100644
index 00000000000..1739d27870a
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, buildGoModule, fetchFromGitHub, rnnoise-plugin }:
+
+buildGoModule rec {
+  pname = "NoiseTorch";
+  version = "0.5.2-beta";
+
+  src = fetchFromGitHub {
+    owner = "lawl";
+    repo = "NoiseTorch";
+    rev = version;
+    sha256 = "1q0gfpqczlpybxcjjkiybcy6yc0gnrq8x27r0mpg4pvgwy7mps47";
+  };
+
+  patches = [ ./version.patch ./config.patch ./embedlibrnnoise.patch ];
+
+  vendorSha256 = null;
+
+  doCheck = false;
+
+  subPackages = [ "." ];
+
+  buildInputs = [ rnnoise-plugin ];
+
+  preBuild = ''
+    export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so";
+    go generate;
+    rm  ./scripts/*
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/icons/hicolor/256x256/apps/
+    cp assets/icon/noisetorch.png $out/share/icons/hicolor/256x256/apps/
+    mkdir -p $out/share/applications/
+    cp assets/noisetorch.desktop $out/share/applications/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Virtual microphone device with noise supression for PulseAudio";
+    homepage = "https://github.com/lawl/NoiseTorch";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ panaeon ];
+  };
+}
diff --git a/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch b/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
new file mode 100644
index 00000000000..b1782efb8b3
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/embedlibrnnoise.go b/scripts/embedlibrnnoise.go
+index 43daf80..0b3004b 100644
+--- a/scripts/embedlibrnnoise.go
++++ b/scripts/embedlibrnnoise.go
+@@ -8,7 +8,7 @@ import (
+ )
+ 
+ func main() {
+-	b, err := ioutil.ReadFile("librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so")
++	b, err := ioutil.ReadFile(os.Getenv("RNNOISE_LADSPA_PLUGIN"))
+ 	if err != nil {
+ 		fmt.Printf("Couldn't read librnnoise_ladspa.so: %v\n", err)
+ 		os.Exit(1)
diff --git a/pkgs/applications/audio/noisetorch/version.patch b/pkgs/applications/audio/noisetorch/version.patch
new file mode 100644
index 00000000000..20c51863744
--- /dev/null
+++ b/pkgs/applications/audio/noisetorch/version.patch
@@ -0,0 +1,37 @@
+diff --git a/scripts/embedversion.go b/scripts/embedversion.go
+index ce0a756..60e7a5e 100644
+--- a/scripts/embedversion.go
++++ b/scripts/embedversion.go
+@@ -1,24 +1,18 @@
+ package main
+ 
+ import (
+-	"os"
+-	"os/exec"
+-	"strings"
++        "os"
++        "strings"
+ )
+ 
+ func main() {
+-	cmd := exec.Command("git", "describe", "--tags")
+-	ret, err := cmd.Output()
+ 
+-	if err != nil {
+-		panic("Couldn't read git tags to embed version number")
+-	}
+-	version := strings.TrimSpace(string(ret))
++        version := strings.TrimSpace(string(os.Getenv("version")))
+ 
+-	out, _ := os.Create("version.go")
+-	defer out.Close()
++        out, _ := os.Create("version.go")
++        defer out.Close()
+ 
+-	out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
+-	out.Write([]byte(version))
+-	out.Write([]byte("\"\n"))
++        out.Write([]byte("package main\n\n//THIS FILE IS AUTOMATICALLY GENERATED BY `go generate` DO NOT EDIT!\n\nvar version=\""))
++        out.Write([]byte(version))
++        out.Write([]byte("\"\n"))
+ }
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index 6fec4df060d..15d38a1eea7 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.5.0";
+  version = "0.5.1";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "0zl3djy9z7cpqk8g8pxrzmmikxsskb0y5qdabg6c683j7x5abjs3";
+    sha256 = "1vpalfsrkbx4vyrh1qy564lr91jwdxlbjivv5gzf8zcywxasf0xa";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index c09b3f415d8..df3bf7c215b 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }:
 
 stdenv.mkDerivation rec {
-  name = "opusfile-0.11";
+  name = "opusfile-0.12";
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
-    sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl";
+    sha256 = "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/osmid/default.nix b/pkgs/applications/audio/osmid/default.nix
index 7e49b872a6a..2e31efd8172 100644
--- a/pkgs/applications/audio/osmid/default.nix
+++ b/pkgs/applications/audio/osmid/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmid";
-  version = "0.6.8";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "llloret";
     repo = "osmid";
     rev = "v${version}";
-    sha256 = "1yl25abf343yvd49nfsgxsz7jf956zrsi5n4xyqb5ldlp2hifk15";
+    sha256 = "1s1wsrp6g6wb0y61xzxvaj59mwycrgy52r4h456086zkz10ls6hw";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix
index 19bd6ecc0c8..c5d20d965b9 100644
--- a/pkgs/applications/audio/padthv1/default.nix
+++ b/pkgs/applications/audio/padthv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "padthv1";
-  version = "0.9.14";
+  version = "0.9.16";
 
   src = fetchurl {
     url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
-    sha256 = "079iwwlkl1gscyv70v9ambad8shxbs0ixdfp0vsl6dbh87b09qzh";
+    sha256 = "1f2v60dpja0rnml60g463fjiz0f84v32yjwpvr56z79h1i6fssmv";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
diff --git a/pkgs/applications/audio/parlatype/default.nix b/pkgs/applications/audio/parlatype/default.nix
index e4728b9b9c4..b9babddb800 100644
--- a/pkgs/applications/audio/parlatype/default.nix
+++ b/pkgs/applications/audio/parlatype/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "parlatype";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner  = "gkarsay";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "026i19vkdq35rldbjp1wglamr22a1330iv736mmgbd8fs7vz22nx";
+    sha256 = "1k53q0kbwpnbgyr0lmfzf5sm4f93d8nbjrzdz9pdhzpxgihndg25";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/pd-plugins/gem/default.nix b/pkgs/applications/audio/pd-plugins/gem/default.nix
new file mode 100644
index 00000000000..2c0d0a24c57
--- /dev/null
+++ b/pkgs/applications/audio/pd-plugins/gem/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, puredata
+, libGL
+, libGLU
+, glew
+, freeglut
+, libv4l
+, libX11
+, file
+ }:
+
+stdenv.mkDerivation rec {
+  pname = "gem-unstable";
+  # The patch below applies to the latest release (v0.94), but then the build
+  # fails. I didn't track down what changed between that version and the
+  # current master that fixes the build on Nix
+  version = "2020-03-26";
+
+  src = fetchFromGitHub {
+    owner = "umlaeute";
+    repo = "Gem";
+    rev = "f38748d71bfca00e4d2b2f31d6c4e3759c03d599";
+    sha256 = "0bkky5fk0a836bapslrgzil272iq9y704y7hw254cfq5ffjd4qjy";
+  };
+
+  patches = [
+    # Update autoconf OpenGL/GLU/GLUT detection scripts
+    # https://github.com/umlaeute/Gem/pull/251
+    (fetchpatch {
+      url = "https://github.com/umlaeute/Gem/commit/343a486c2b5c3427696f77aeabdff440e6590fc7.diff";
+      sha256 = "0gkzxv80rgg8lgp9av5qp6xng3ldhnbjz9d6r7ym784fw8yx41yj";
+    })
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    file
+    pkg-config
+  ];
+
+  buildInputs = [
+    puredata
+    libGL
+    libGLU
+    glew
+    freeglut
+    libv4l
+    libX11
+  ];
+
+  meta = {
+    description = "Graphics Environment for Multimedia";
+    homepage = "http://puredata.info/downloads/gem";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.raboof ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index c080d0a95f3..2aeae1f1890 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -12,13 +12,13 @@ let
   ;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.3.2";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1785wnxhasp4j8w2a8bgbfp3gyhc7zac18r5fqw5qcndz2hfk5mc";
+    sha256 = "0sbccsisk9w0gnblvhg7wk1c5ydppldjbvaa0zhl3yrid5a363ah";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]
@@ -37,6 +37,7 @@ in pythonPackages.buildPythonApplication rec {
     mutagen
     chromaprint
     discid
+    dateutil
   ];
 
   prePatch = ''
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
new file mode 100644
index 00000000000..caa703f59ce
--- /dev/null
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -0,0 +1,39 @@
+{ lib, fetchurl, appimageTools, pkgs }:
+
+let
+  pname = "plexamp";
+  version = "3.1.1";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
+    sha256 = "11hgcysa1x9yqvha6ri4vl1zk8gf8vhcpnh3j38wg9ncd7nz5k2v";
+    name="${pname}-${version}.AppImage";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
+  };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
+
+  extraInstallCommands = ''
+    ln -s $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
+    install -m 444 -D ${appimageContents}/plexamp.png \
+      $out/share/icons/hicolor/512x512/apps/plexamp.png
+    substituteInPlace $out/share/applications/plexamp.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+  '';
+
+  meta = with lib; {
+    description = "A beautiful Plex music player for audiophiles, curators, and hipsters.";
+    homepage = "https://plexamp.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ killercup ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
index 57d27ee272c..83952c271be 100644
--- a/pkgs/applications/audio/projectm/default.nix
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "projectm";
-  version = "3.1.3";
+  version = "3.1.7";
 
   src = fetchFromGitHub {
     owner = "projectM-visualizer";
     repo = "projectM";
     rev = "v${version}";
-    sha256 = "1mjnahr694phksmvc069y89rv85s4l2z9fixkc3l1f5qj2vgn4sy";
+    sha256 = "1wm5fym6c1yb972pmil7j9axinqqwrj68cwd2sc7ky8c5z2fsdna";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 12eb4a39d53..b76be35da29 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -1,24 +1,29 @@
 { stdenv
 , fetchFromGitHub
 , cmake
+, nixosTests
 , alsaLib
 , SDL2
 }:
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.20";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "0s4yk8w19qa58n5p558n6m7d5mslr9h9z5q3ayrgqcchdlm8cfky";
+    sha256 = "1w6lbq4366bawy975glvjizk57zhvl562xhxwzn7p5hpm2bvw09b";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ SDL2 ] ++ stdenv.lib.optional stdenv.isLinux alsaLib;
 
+  passthru.tests = {
+    pt2-clone-opens = nixosTests.pt2-clone;
+  };
+
   meta = with stdenv.lib; {
     description = "A highly accurate clone of the classic ProTracker 2.3D software for Amiga";
     homepage = "https://16-bits.org/pt2.php";
diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix
index a0813fa0c80..47ea078c4b2 100644
--- a/pkgs/applications/audio/puddletag/default.nix
+++ b/pkgs/applications/audio/puddletag/default.nix
@@ -1,37 +1,34 @@
-{ stdenv, fetchFromGitHub, python2Packages, chromaprint }:
+{ stdenv, fetchFromGitHub, python3Packages, chromaprint }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "puddletag";
-  version = "1.2.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
-    owner  = "keithgg";
-    repo   = "puddletag";
-    rev    = "v${version}";
-    sha256 = "1g6wa91awy17z5b704yi9kfynnvfm9lkrvpfvwccscr1h8s3qmiz";
+    owner = "keithgg";
+    repo = "puddletag";
+    rev = version;
+    sha256 = "sha256-9l8Pc77MX5zFkOqU00HFS8//3Bzd2OMnVV1brmWsNAQ=";
   };
 
-  setSourceRoot = ''
-    sourceRoot=$(echo */source)
-  '';
+  sourceRoot = "source/source";
 
-  disabled = python2Packages.isPy3k; # work to support python 3 has not begun
-
-  propagatedBuildInputs = [ chromaprint ] ++ (with python2Packages; [
+  propagatedBuildInputs = [ chromaprint ] ++ (with python3Packages; [
     configobj
     mutagen
     pyparsing
-    pyqt4
+    pyqt5
   ]);
 
   doCheck = false;   # there are no tests
+
   dontStrip = true;  # we are not generating any binaries
 
   meta = with stdenv.lib; {
     description = "An audio tag editor similar to the Windows program, Mp3tag";
-    homepage    = "https://docs.puddletag.net";
-    license     = licenses.gpl3;
+    homepage = "https://docs.puddletag.net";
+    license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/pulseaudio-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix
index 75990d593df..c0986880c09 100644
--- a/pkgs/applications/audio/pulseaudio-dlna/default.nix
+++ b/pkgs/applications/audio/pulseaudio-dlna/default.nix
@@ -4,7 +4,7 @@
 , faacSupport ? false, faac ? null
 , flacSupport ? true, flac ? null
 , soxSupport ? true, sox ? null
-, vorbisSupport ? true, vorbisTools ? null
+, vorbisSupport ? true, vorbis-tools ? null
 }:
 
 assert mp3Support -> lame != null;
@@ -12,7 +12,7 @@ assert opusSupport -> opusTools != null;
 assert faacSupport -> faac != null;
 assert flacSupport -> flac != null;
 assert soxSupport -> sox != null;
-assert vorbisSupport -> vorbisTools != null;
+assert vorbisSupport -> vorbis-tools != null;
 
 let
   zeroconf = pythonPackages.callPackage ./zeroconf.nix { };
@@ -37,7 +37,7 @@ pythonPackages.buildPythonApplication {
     ++ stdenv.lib.optional faacSupport faac
     ++ stdenv.lib.optional flacSupport flac
     ++ stdenv.lib.optional soxSupport sox
-    ++ stdenv.lib.optional vorbisSupport vorbisTools;
+    ++ stdenv.lib.optional vorbisSupport vorbis-tools;
 
   # upstream has no tests
   checkPhase = ''
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index eaedcb426b8..a3ee0e23ec6 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -30,14 +30,12 @@
 , zita-convolver
 , zam-plugins
 , rubberband
-, mda_lv2
 , lsp-plugins
 }:
 
 let
   lv2Plugins = [
     calf # limiter, compressor exciter, bass enhancer and others
-    mda_lv2 # loudness
     lsp-plugins # delay
   ];
   ladspaPlugins = [
@@ -46,13 +44,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.7.2";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "1yga25da5bpg12zkikp6dn4wqhn9f7r10awvjzfcz8s6w9xlz6rx";
+    sha256 = "9dQNYWBx8iAifRTZr2FRlYv4keZt5Cfahwi/w01duFg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index 87666940c15..8cb28dcfd5a 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, mkDerivation, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
 
 mkDerivation rec {
-  version = "0.6.2";
+  version = "0.6.3";
   pname = "qjackctl";
 
   # some dependencies such as killall have to be installed additionally
 
   src = fetchurl {
     url = "mirror://sourceforge/qjackctl/${pname}-${version}.tar.gz";
-    sha256 = "1rjhdyp0wzhlqr4cn80rh1qhby998cpqv81j1bbb9hfsiq77viqy";
+    sha256 = "0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 7b4d823006d..84ff9f787d5 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 mkDerivation rec {
-  name = "qmmp-1.4.0";
+  name = "qmmp-1.4.1";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "13rhnk55d44svksl13w23w2qkfpkq4mc0jy5mi89nzqkzshwvfd8";
+    sha256 = "0p18r2ri75vbyjzfa7bcl1dm372m6jvn9zj2p5ia2rh1g77fbm9a";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix
index 5da8f4cd462..af59bb56eb9 100644
--- a/pkgs/applications/audio/qsynth/default.nix
+++ b/pkgs/applications/audio/qsynth/default.nix
@@ -4,11 +4,11 @@
 
 mkDerivation  rec {
   pname = "qsynth";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
-    sha256 = "0cp6vrqrj37rv3a7qfvqrg64j7zwpfj60y5b83mlkzvmg1sgjnlv";
+    sha256 = "0xiqmpzpxjvh32vivfj6h33w0ahmyfjzjb41b6fnf92bbg9k6mqv";
   };
 
   nativeBuildInputs = [ autoconf pkgconfig ];
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index f2ee5eac70f..2975e6464e1 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1gh268gdpj7nw19xfh7k2l3aban4yrs1lmx33qswrnngs2izj1fk";
+    sha256 = "0k7a6llwrzs07flr9mvzvay9ygc2x64syg8npyabsw5a4d85fwsx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/real_time_config_quick_scan/default.nix b/pkgs/applications/audio/real_time_config_quick_scan/default.nix
new file mode 100644
index 00000000000..5193d2899d3
--- /dev/null
+++ b/pkgs/applications/audio/real_time_config_quick_scan/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchFromGitHub, perlPackages, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "realTimeConfigQuickScan";
+  version = "unstable-2020-07-23";
+
+  src = fetchFromGitHub {
+    owner  = "raboof";
+    repo   = pname;
+    rev    = "4697ba093d43d512b74a73b89531cb8c5adaa274";
+    sha256 = "16kanzp5i353x972zjkwgi3m8z90wc58613mlfzb0n01djdnm6k5";
+  };
+
+  buildInputs = [ perlPackages.perl makeWrapper ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mkdir -p $out/share/$pname
+    mkdir -p $out/share/doc/$pname
+    # Install Script Files:
+    # *.pm files
+    for i in *.pm; do
+    install -Dm 755 "$i" "$out/share/$pname/$i"
+    done
+    # Install doc files:
+    install -D COPYING  "$out/share/doc/$pname/COPYING"
+    install -D README.md  "$out/share/doc/$pname/README.md"
+    # Install Executable scripts:
+    install -Dm 755 realTimeConfigQuickScan.pl "$out/bin/realTimeConfigQuickScan"
+    install -Dm 755 QuickScan.pl "$out/bin/QuickScan"
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/realTimeConfigQuickScan \
+      --set PERL5LIB "$out/share/$pname"
+    wrapProgram $out/bin/QuickScan \
+      --set PERL5LIB "$out/share/$pname:${with perlPackages; makePerlPath [ Tk ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Linux configuration checker for systems to be used for real-time audio";
+    homepage = "https://github.com/raboof/realtimeconfigquickscan";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = platforms.linux ;
+  };
+}
+
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 9de70d83ee5..e15addd78b1 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "6.10";
+  version = "6.12c";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "1p54phmsa6xbqxb5cpgwnz7ny4famb8zi25y3cmxwgr4pfy94b2p";
+    sha256 = "1xnd4qvgwsz1dmgb656i611776dqcb84m1gh30i8jhpwcr9ym46w";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index 1cbd5b3afa2..0ae65cb8c37 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -14,7 +14,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "renoise";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 		          "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
 		          "https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
 		      ];
-		      sha256 = "0dhcidgnjzd4abw0xw1waj9mazp03nbvjcr2xx09l8gnfrkvny46";
+		      sha256 = "1v249kmyidx55kppk3sry7yg6hl1a91ixhnwz36h4y134fs7bkrl";
 		    }
         else
         	releasePath
diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix
index 7a0a8a59a08..a29fcf383b8 100644
--- a/pkgs/applications/audio/rhvoice/default.nix
+++ b/pkgs/applications/audio/rhvoice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, pkgconfig, fetchFromGitHub, scons
+{ stdenv, lib, pkgconfig, fetchFromGitHub, sconsPackages
 , python, glibmm, libpulseaudio, libao }:
 
 let
@@ -15,7 +15,7 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    scons.py2 pkgconfig
+    sconsPackages.scons_3_1_2 pkgconfig
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 921c8fff67a..8bda179df14 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -3,12 +3,12 @@
 , liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
 
 stdenv.mkDerivation (rec {
-  version = "19.12";
+  version = "20.06";
   pname = "rosegarden";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
-    sha256 = "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1";
+    sha256 = "1i9x9rkqwwdrk77xl5ra8i48cjirbc7fbisnj0nnclccwaq0wk6r";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/audio/sfizz/default.nix b/pkgs/applications/audio/sfizz/default.nix
index acec8c54e53..b4ff5fc56d5 100644
--- a/pkgs/applications/audio/sfizz/default.nix
+++ b/pkgs/applications/audio/sfizz/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sfizz";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "sfztools";
     repo = pname;
     rev = version;
-    sha256 = "1px22x9lb6wyqfbv1jg1sbl1rsnwrzs8sm4dnas1w4ifchiv3ymd";
+    sha256 = "0zpmvmh7n0064rxfqxb7z9rnz493k7yq7nl0vxppqnasg97jn5f3";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index d26d314cd3e..055694fb40f 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -23,17 +23,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shortwave";
-  version = "1.0.1";
+  version = "1.1.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Shortwave";
     rev = version;
-    sha256 = "13lhlh75vw02vkcknl4nvy0yvpdf0qx811mmyja8bzs4rj1j9kr8";
+    sha256 = "1vlhp2ss06j41simjrrjg38alp85jddhqyvccy6bhfzm0gzynwld";
   };
 
-  cargoSha256 = "0aph5z54a6i5p8ga5ghhx1c9hjc8zdw5pkv9inmanca0bq3hkdlh";
+  cargoSha256 = "181699rlpr5dszc18wg0kbss3gfskxaz9lpxpgsc4yfb6ip89qnk";
 
   nativeBuildInputs = [
     cargo
diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix
index b0a50bbf128..2ebf56fee52 100644
--- a/pkgs/applications/audio/sidplayfp/default.nix
+++ b/pkgs/applications/audio/sidplayfp/default.nix
@@ -1,18 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, libsidplayfp }:
+{ stdenv
+, lib
+, fetchurl
+, pkgconfig
+, libsidplayfp
+, alsaSupport ? stdenv.hostPlatform.isLinux
+, alsaLib
+, pulseSupport ? stdenv.hostPlatform.isLinux
+, libpulseaudio
+}:
 
+assert alsaSupport -> alsaLib != null;
+assert pulseSupport -> libpulseaudio != null;
+let
+  inherit (lib) optional;
+  inherit (lib.versions) majorMinor;
+in
 stdenv.mkDerivation rec {
-  version = "1.4.4";
   pname = "sidplayfp";
+  version = "2.0.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sidplay-residfp/sidplayfp/1.4/${pname}-${version}.tar.gz";
-    sha256 = "0arsrg3f0fsinal22qjmj3r6500bcbgqnx26fsz049ldl716kz1m";
+    url = "mirror://sourceforge/sidplay-residfp/sidplayfp/${majorMinor version}/${pname}-${version}.tar.gz";
+    sha256 = "1s2dfs9z1hwarpfzawg11wax9nh0zcqx4cafwq7iysckyg4scz4k";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ]
+    ++ optional alsaSupport alsaLib
+    ++ optional pulseSupport libpulseaudio;
+
   buildInputs = [ libsidplayfp ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A SID player using libsidplayfp";
     homepage = "https://sourceforge.net/projects/sidplay-residfp/";
     license = with licenses; [ gpl2Plus ];
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 25b8f9456a0..5eff8f82e89 100644
--- a/pkgs/applications/audio/snapcast/default.nix
+++ b/pkgs/applications/audio/snapcast/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkgconfig
-, alsaLib, asio, avahi, boost170, flac, libogg, libvorbis, soxr }:
+, alsaLib, asio, avahi, boost170, flac, libogg, libvorbis, soxr
+, nixosTests }:
 
 let
 
@@ -57,6 +58,8 @@ stdenv.mkDerivation rec {
     cp -r ../doc/* ../*.md $out/share/doc/snapcast
   '';
 
+  passthru.tests.snapcast = nixosTests.snapcast;
+
   meta = with lib; {
     description = "Synchronous multi-room audio player";
     homepage = "https://github.com/badaix/snapcast";
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 9bc8fcb6694..76ea4efeace 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-20.2";
+  name = "snd-20.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0ip4sfyxqlbghlggipmvvqjqs1a7qas0zcmzw8d1nwg6krjkfj0r";
+    sha256 = "016slh34gb6qqb38m8k9yg48rbhc5p12084szcwvanhh5v7fc7mk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index 68eefadf411..cf3f173a096 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, intltool, wrapGAppsHook
-, python3Packages, gnome3, gtk3, gsettings-desktop-schemas, gobject-introspection }:
+{ stdenv, fetchFromGitHub, wrapGAppsHook, gettext
+, python3Packages, gnome3, gtk3, glib, gdk-pixbuf, gsettings-desktop-schemas, gobject-introspection }:
 
 let
   inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools;
@@ -16,26 +16,38 @@ in buildPythonApplication rec {
 
   disabled = !isPy3k;
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
   buildInputs = [
-    intltool wrapGAppsHook
+    glib
     gnome3.adwaita-icon-theme
     gsettings-desktop-schemas
+    gtk3
+    gdk-pixbuf
+  ];
+
+  # The optional tagpy dependency (for editing metadata) is not yet
+  # included because it's difficult to build.
+  pythonPath = [
+    dbus-python
+    mpd2
+    pygobject3
+    setuptools
   ];
 
+  # Otherwise the setup hook for gobject-introspection is not run:
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   postPatch = ''
     # Remove "Local MPD" tab which is not suitable for NixOS.
     sed -i '/localmpd/d' sonata/consts.py
   '';
 
-  propagatedBuildInputs = [
-    gobject-introspection gtk3 pygobject3 setuptools
-  ];
-
-  # The optional tagpy dependency (for editing metadata) is not yet
-  # included because it's difficult to build.
-  pythonPath = [ dbus-python pygobject3 mpd2 ];
-
   meta = {
     description = "An elegant client for the Music Player Daemon";
     longDescription = ''
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index e8b6a4d4313..2593bf38d19 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -1,8 +1,8 @@
 # TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
 
 { stdenv, fetchurl, alsaLib, bzip2, fftw, libjack2, libX11, liblo
-, libmad, libogg, lrdf, librdf_raptor, librdf_rasqal, libsamplerate
-, libsndfile, pkgconfig, libpulseaudio, qtbase, qtsvg, redland
+, libmad, lrdf, librdf_raptor, librdf_rasqal, libsamplerate
+, libsndfile, pkg-config, libpulseaudio, qtbase, qtsvg, redland
 , rubberband, serd, sord, vamp-plugin-sdk, fftwFloat
 , capnproto, liboggz, libfishsound, libid3tag, opusfile
 , wrapQtAppsHook
@@ -10,13 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sonic-visualiser";
-  version = "4.0.1";
+  version = "4.2";
 
   src = fetchurl {
-    url = "https://code.soundsoftware.ac.uk/attachments/download/2607/${pname}-${version}.tar.gz";
-    sha256 = "14674adzp3chilymna236qyvci3b1zmi3wyz696wk7bcd3ndpsg6";
+    url = "https://code.soundsoftware.ac.uk/attachments/download/2755/${pname}-${version}.tar.gz";
+    sha256 = "1wsvranhvdl21ksbinbgb55qvs3g2d4i57ssj1vx2aln6m01ms9q";
   };
 
+  nativeBuildInputs = [ pkg-config wrapQtAppsHook ];
   buildInputs =
     [ libsndfile qtbase qtsvg fftw fftwFloat bzip2 lrdf rubberband
       libsamplerate vamp-plugin-sdk alsaLib librdf_raptor librdf_rasqal redland
@@ -27,7 +28,6 @@ stdenv.mkDerivation rec {
       # portaudio
       libpulseaudio
       libmad
-      libogg # ?
       libfishsound
       liblo
       libX11
@@ -37,15 +37,13 @@ stdenv.mkDerivation rec {
       opusfile
     ];
 
-  nativeBuildInputs = [ pkgconfig wrapQtAppsHook ];
-
-  enableParallelBuilding = true;
-
   # comment out the tests
   preConfigure = ''
     sed -i 's/sub_test_svcore_/#sub_test_svcore_/' sonic-visualiser.pro
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "View and analyse contents of music audio files";
     homepage = "https://www.sonicvisualiser.org/";
diff --git a/pkgs/applications/audio/sooperlooper/default.nix b/pkgs/applications/audio/sooperlooper/default.nix
index e7a43ad8a59..f1c76bf0d33 100644
--- a/pkgs/applications/audio/sooperlooper/default.nix
+++ b/pkgs/applications/audio/sooperlooper/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sooperlooper";
-  version = "unstable-2019-09-30";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "essej";
     repo = "sooperlooper";
-    rev = "4d1da14176e16b0f56b727bb1e6c2e8957515625";
-    sha256 = "1gsgqa7hdymzw2al1ymzv0f33y161dyhh3fmy88lpjwv3bfchamg";
+    rev = "v${builtins.replaceStrings [ "." ] [ "_" ] version}";
+    sha256 = "1jng9bkb7iikad0dy1fkiq9wjjdhh1xi1p0cp2lvnz1dsc4yk6iw";
   };
 
   autoreconfPhase = ''
@@ -51,6 +51,8 @@ stdenv.mkDerivation rec {
     fftw
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more";
     longDescription = ''
diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix
index df5806b50b9..3e133a0caa1 100644
--- a/pkgs/applications/audio/soundkonverter/default.nix
+++ b/pkgs/applications/audio/soundkonverter/default.nix
@@ -1,6 +1,6 @@
 # currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
 {
-  mkDerivation, fetchFromGitHub, lib, makeWrapper,
+  mkDerivation, fetchFromGitHub, fetchpatch, lib, makeWrapper,
   cmake, extra-cmake-modules, pkgconfig,
   libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui,
   qtbase, phonon, 
@@ -53,6 +53,15 @@ mkDerivation rec {
     rev = "v" + version;
     sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
   };
+  patches = [
+    # already merged into master, so it can go during the next release
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/dfaust/soundkonverter/pull/87.patch";
+      sha256 = "sha256-XIpD4ZMTZVcu+F27OtpRy51H+uQgpd5l22IZ6XsD64w=";
+      name = "soundkonverter_taglib.patch";
+      stripLen = 1;
+    })
+  ];
   enableParallelBuilding = true;
   nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ];
   propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon];
diff --git a/pkgs/applications/audio/soundtracker/default.nix b/pkgs/applications/audio/soundtracker/default.nix
index ce73203c959..1fd341765b0 100644
--- a/pkgs/applications/audio/soundtracker/default.nix
+++ b/pkgs/applications/audio/soundtracker/default.nix
@@ -6,18 +6,21 @@
 , alsaLib
 , SDL
 , jack2
+, audiofile
 , goocanvas # graphical envelope editing
 }:
 
 stdenv.mkDerivation rec {
   pname = "soundtracker";
-  version = "1.0.0.1";
+  version = "1.0.1";
 
   src = fetchurl {
     # Past releases get moved to the "old releases" directory.
-    # Only the latest release (currently a prerelease) is at the top level.
-    url = "mirror://sourceforge/soundtracker/old%20releases/soundtracker-${version}.tar.bz2";
-    sha256 = "1ggliswz5ngmlnrnyhv3x1arh5w77an0ww9p53cddp9aas5q11jm";
+    # Only the latest release is at the top level.
+    # Nonetheless, only the name of the file seems to affect which file is
+    # downloaded, so this path should be fine both for old and current releases.
+    url = "mirror://sourceforge/soundtracker/soundtracker-${version}.tar.bz2";
+    sha256 = "0m5iiqccch6w53khpvdldz59zymw13vmwqc5ggx3sn41riwbd6ks";
   };
 
   nativeBuildInputs = [
@@ -28,9 +31,12 @@ stdenv.mkDerivation rec {
     gtk2
     SDL
     jack2
+    audiofile
     goocanvas
   ] ++ stdenv.lib.optional stdenv.isLinux alsaLib;
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     description = "A music tracking tool similar in design to the DOS program FastTracker and the Amiga legend ProTracker";
     longDescription = ''
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index 693de28bf47..dd063b2d039 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "1gdsk620md5nv1r05jysmfhpbcidh15wzyiklkazsb6cppm6qsiy";
+    sha256 = "0pvgq8r1bb7bdxm50hxl0n7ajplpzp1gnf6j55dn6xwck0syml9y";
   };
 
-  cargoSha256 = "0irfdmik6nrpfs9yzva5q351cfyf1cijxa2a08prwdccrivdk98a";
+  cargoSha256 = "07v1qm5ky99j2lwbl00g80z0f8hfrpwgyqsm8fnda6y9s3vzzdgz";
 
   nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkgconfig python3 ];
   buildInputs = [ ]
@@ -24,6 +24,5 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/Rigellute/spotify-tui/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jwijenbergh ];
-    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index 4a195b4c345..f278b68b922 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.6.12";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "0p09xp7andfg0gvarzc979pwglr0xjj1c0cziqj0c9z7p1v0fkws";
+    sha256 = "sha256-YUR9SDiRV/gJKx4H1cgdDnKGulTQPVP7MpHyihUEgqg=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/sublime-music/default.nix b/pkgs/applications/audio/sublime-music/default.nix
new file mode 100644
index 00000000000..515a653d6bc
--- /dev/null
+++ b/pkgs/applications/audio/sublime-music/default.nix
@@ -0,0 +1,60 @@
+{ lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
+
+, chromecastSupport ? false
+, serverSupport ? false
+, keyringSupport ? true
+, notifySupport ? true, libnotify
+, networkSupport ? true, networkmanager
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "sublime-music";
+  version = "0.11.0";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1rnjc8pjfaq67mq10gy939g77azc80lxf77s9nsaxds4q5j1yrl2";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    python3Packages.setuptools
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    pango
+  ]
+   ++ lib.optional notifySupport libnotify
+   ++ lib.optional networkSupport networkmanager
+  ;
+
+  propagatedBuildInputs = with python3Packages; [
+    dataclasses-json
+    deepdiff
+    fuzzywuzzy
+    mpv
+    peewee
+    pygobject3
+    python-Levenshtein
+    python-dateutil
+    requests
+    semver
+  ]
+   ++ lib.optional chromecastSupport PyChromecast
+   ++ lib.optional keyringSupport keyring
+   ++ lib.optional serverSupport bottle
+  ;
+
+  # hook for gobject-introspection doesn't like strictDeps
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  meta = with lib; {
+    description = "GTK3 Subsonic/Airsonic client";
+    homepage = "https://sublimemusic.app/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ albakham ];
+  };
+}
diff --git a/pkgs/applications/audio/surge/default.nix b/pkgs/applications/audio/surge/default.nix
new file mode 100644
index 00000000000..1614bbfae66
--- /dev/null
+++ b/pkgs/applications/audio/surge/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, cmake, git, pkg-config, python3
+, cairo, libsndfile, libxcb, libxkbcommon, xcbutil, xcbutilcursor, xcbutilkeysyms, zenity
+}:
+
+stdenv.mkDerivation rec {
+  pname = "surge";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "surge-synthesizer";
+    repo = pname;
+    rev = "release_${version}";
+    sha256 = "1b3ccc78vrpzy18w7070zfa250dnd1bww147xxcnj457vd6n065s";
+    leaveDotGit = true; # for SURGE_VERSION
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake git pkg-config python3 ];
+  buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity ];
+
+  postPatch = ''
+    substituteInPlace src/common/SurgeStorage.cpp --replace "/usr/share/Surge" "$out/share/surge"
+    substituteInPlace src/common/gui/PopupEditorDialog.cpp --replace '"zenity' '"${zenity}/bin/zenity'
+    substituteInPlace src/linux/UserInteractionsLinux.cpp --replace '"zenity' '"${zenity}/bin/zenity'
+    substituteInPlace vstgui.surge/vstgui/lib/platform/linux/x11fileselector.cpp --replace /usr/bin/zenity ${zenity}/bin/zenity
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/share/surge
+    cp -r surge_products/Surge.lv2 $out/lib/lv2/
+    cp -r surge_products/Surge.vst3 $out/lib/vst3/
+    cp -r ../resources/data/* $out/share/surge/
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    cd ..
+    build/surge-headless
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LV2 & VST3 synthesizer plug-in (previously released as Vember Audio Surge)";
+    homepage = "https://surge-synthesizer.github.io";
+    license = licenses.gpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ magnetophon orivej ];
+  };
+}
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
index c7e936d28e5..74f68283fd6 100644
--- a/pkgs/applications/audio/synthv1/default.nix
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "synthv1";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchurl {
     url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz";
-    sha256 = "08n83krkak20924flb9azhm9hn40lyfvn29m63zs3lw3wajf0b40";
+    sha256 = "047y2l7ipzv00ly54f074v6p043xjml7vz0svc7z81bhx74vs0ix";
   };
 
   buildInputs = [ qtbase qttools libjack2 alsaLib liblo lv2 ];
diff --git a/pkgs/applications/audio/talentedhack/default.nix b/pkgs/applications/audio/talentedhack/default.nix
new file mode 100644
index 00000000000..b30cf59f7b3
--- /dev/null
+++ b/pkgs/applications/audio/talentedhack/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, lv2, fftwFloat, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "talentedhack";
+  version = "1.86";
+
+  src = fetchFromGitHub {
+    owner = "jeremysalwen";
+    repo = "talentedhack";
+    rev = "v${version}";
+    sha256 = "0kwvayalysmk7y49jq0k16al252md8d45z58hphzsksmyz6148bx";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 fftwFloat ];
+
+  # To avoid name clashes, plugins should be compiled with symbols hidden, except for `lv2_descriptor`:
+  preConfigure = ''
+    sed -r 's/^CFLAGS.*$/\0 -fvisibility=hidden/' -i Makefile
+  '';
+
+  installPhase = ''
+    d=$out/lib/lv2/talentedhack.lv2
+    mkdir -p $d
+    cp *.so *.ttl $d
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jeremysalwen/TalentedHack";
+    description = "LV2 port of Autotalent pitch correction plugin";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/tamgamp.lv2/default.nix b/pkgs/applications/audio/tamgamp.lv2/default.nix
new file mode 100644
index 00000000000..9f51f9d022d
--- /dev/null
+++ b/pkgs/applications/audio/tamgamp.lv2/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub, pkg-config, lv2, zita-resampler }:
+
+stdenv.mkDerivation rec {
+  pname = "tamgamp.lv2";
+  version = "unstable-2020-06-14";
+
+  src = fetchFromGitHub {
+    owner = "sadko4u";
+    repo = pname;
+    rev = "426da74142fcb6b7687a35b2b1dda3392e171b92";
+    sha256 = "0dqsnim7v79rx13bkkh143gqz0xg26cpf6ya3mrwwprpf5hns2bp";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ lv2 zita-resampler ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/sadko4u/tamgamp.lv2";
+    description = "Guitar amplifier simulator";
+    longDescription = ''
+       Tamgamp (Pronouncement: "Damage Amp") is an LV2 guitar amp simulator that provides two plugins:
+
+        - Tamgamp - a plugin based on Guitarix DK Builder simulated chains.
+        - TamgampGX - a plugin based on tuned Guitarix internal amplifiers implementation.
+
+       The reference to the original Guitarix project: https://guitarix.org/
+
+       It simulates the set of the following guitar amplifiers:
+
+       - Fender Princeton Reverb-amp AA1164 (without reverb module)
+       - Fender Twin Reverb-Amp AA769 (Normal channel, bright off)
+       - Fender Twin Reverb-Amp AA769 (Vibrato channel, bright on)
+       - Marshall JCM-800 High-gain input
+       - Marshall JCM-800 Low-gain input
+       - Mesa/Boogie DC3 preamplifier (lead channel)
+       - Mesa/Boogie DC3 preamplifier (rhythm channel)
+       - Mesa Dual Rectifier preamplifier (orange channel, less gain)
+       - Mesa Dual Rectifier preamplifier (red channel, more gain)
+       - Peavey 5150II crunch channel
+       - Peavey 5150II lead channel
+       - VOX AC-30 Brilliant channel
+       - VOX AC-30 normal channel
+     '';
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/applications/audio/tunefish/default.nix b/pkgs/applications/audio/tunefish/default.nix
new file mode 100644
index 00000000000..72802c4f878
--- /dev/null
+++ b/pkgs/applications/audio/tunefish/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, pkg-config, python3
+, alsaLib, curl, freetype, gtk3, libGL, libX11, libXext, libXinerama, webkitgtk
+}:
+
+stdenv.mkDerivation {
+  pname = "tunefish";
+  version = "unstable-2020-08-13";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = "tunefish";
+    rev = "b3d83cc66201619f6399500f6897fbeb1786d9ed";
+    fetchSubmodules = true;
+    sha256 = "0rjpq3s609fblzkvnc9729glcnfinmxljh0z8ldpzr245h367zxh";
+  };
+
+  nativeBuildInputs = [ pkg-config python3 ];
+  buildInputs = [ alsaLib curl freetype gtk3 libGL libX11 libXext libXinerama webkitgtk ];
+
+  postPatch = ''
+    patchShebangs src/tunefish4/generate-lv2-ttl.py
+  '';
+
+  makeFlags = [
+    "-C" "src/tunefish4/Builds/LinuxMakefile"
+    "CONFIG=Release"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2
+    cp -r src/tunefish4/Builds/LinuxMakefile/build/Tunefish4.lv2 $out/lib/lv2
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://tunefish-synth.com/";
+    description = "Virtual analog synthesizer LV2 plugin";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ orivej ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/uhhyou.lv2/default.nix b/pkgs/applications/audio/uhhyou.lv2/default.nix
new file mode 100644
index 00000000000..732e9d8433f
--- /dev/null
+++ b/pkgs/applications/audio/uhhyou.lv2/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, fetchFromGitHub
+, pkg-config
+, python3
+, fftw
+, libGL
+, libX11
+, libjack2
+, liblo
+, lv2
+}:
+
+stdenv.mkDerivation rec {
+  # this is what upstream calls the package, see:
+  # https://github.com/ryukau/LV2Plugins#uhhyou-plugins-lv2
+  pname = "uhhyou.lv2";
+  version = "unstable-2020-07-31";
+
+  src = fetchFromGitHub {
+    owner = "ryukau";
+    repo =  "LV2Plugins";
+    rev = "6189be67acaeb95452f8adab73a731d94a7b6f47";
+    fetchSubmodules = true;
+    sha256 = "049gigx2s89z8vf17gscs00c150lmcdwya311nbrwa18fz4bx242";
+  };
+
+  nativeBuildInputs = [ pkg-config python3 ];
+
+  buildInputs = [ fftw libGL libX11 libjack2 liblo lv2 ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  prePatch = ''
+    patchShebangs generate-ttl.sh
+    cp patch/NanoVG.cpp lib/DPF/dgl/src/NanoVG.cpp
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Audio plugins for Linux";
+    longDescription = ''
+      Plugin List:
+      - CubicPadSynth
+      - EnvelopedSine
+      - EsPhaser
+      - FDNCymbal
+      - FoldShaper
+      - IterativeSinCluster
+      - L3Reverb
+      - L4Reverb
+      - LatticeReverb
+      - LightPadSynth
+      - ModuloShaper
+      - OddPowShaper
+      - SevenDelay
+      - SoftClipper
+      - SyncSawSynth
+      - TrapezoidSynth
+      - WaveCymbal
+    '';
+    homepage = "https://github.com/ryukau/LV2Plugins/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix
new file mode 100644
index 00000000000..24e112aff2b
--- /dev/null
+++ b/pkgs/applications/audio/virtual-ans/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchzip
+, libX11
+, libXi
+, libGL
+, alsaLib
+, SDL2
+, autoPatchelfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "virtual-ans";
+  version = "3.0.2c";
+
+  src = fetchzip {
+    url = "https://warmplace.ru/soft/ans/virtual_ans-${version}.zip";
+    sha256 = "03r1v3l7rd59dakr7ndvgsqchv00ppkvi6sslgf1ng07r3rsvb1n";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    libX11
+    libXi
+    libGL
+    alsaLib
+    SDL2
+  ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R ./* $out/
+
+    # Remove all executables except for current architecture
+    ls -1d $out/START*              | grep -v ${startScript}     | xargs rm -rf
+    ls -1d $out/bin/pixilang_linux* | grep -v ${linuxExecutable} | xargs rm -rf
+
+    # Start script performs relative search for resources, so it cannot be moved
+    # to bin directory
+    ln -s $out/${startScript} $out/bin/virtual-ans
+  '';
+
+  startScript = if stdenv.isx86_32 then "START_LINUX_X86"
+    else        if stdenv.isx86_64 then "START_LINUX_X86_64"
+    #else        if stdenv.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin
+    else abort "Unsupported platform: ${stdenv.platform.kernelArch}.";
+
+  linuxExecutable = if stdenv.isx86_32 then "pixilang_linux_x86"
+    else            if stdenv.isx86_64 then "pixilang_linux_x86_64"
+    else                                    "";
+
+  meta = with stdenv.lib; {
+    description = "Photoelectronic microtonal/spectral musical instrument";
+    longDescription = ''
+      Virtual ANS is a software simulator of the unique Russian synthesizer ANS
+      - photoelectronic musical instrument created by Evgeny Murzin from 1938 to
+      1958. The ANS made it possible to draw music in the form of a spectrogram
+      (sonogram), without live instruments and performers. It was used by
+      Stanislav Kreichi, Alfred Schnittke, Edward Artemiev and other Soviet
+      composers in their experimental works. You can also hear the sound of the
+      ANS in Andrei Tarkovsky's movies Solaris, The Mirror, Stalker.
+
+      The simulator extends the capabilities of the original instrument. Now
+      it's a full-featured graphics editor where you can convert sound into an
+      image, load and play pictures, draw microtonal/spectral music and create
+      some unusual deep atmospheric sounds. This app is for everyone who loves
+      experiments and is looking for something new.
+
+      Key features:
+
+      + unlimited number of pure tone generators;
+      + powerful sonogram editor - you can draw the spectrum and play it at the same time;
+      + any sound (from a WAV file or a Microphone/Line-in) can be converted to image (sonogram) and vice versa;
+      + support for MIDI devices;
+      + polyphonic synth mode with MIDI mapping;
+      + supported file formats: WAV, AIFF, PNG, JPEG, GIF;
+      + supported sound systems: ASIO, DirectSound, MME, ALSA, OSS, JACK, Audiobus, IAA.
+      '';
+    homepage = "https://warmplace.ru/soft/ans/";
+    license = licenses.free;
+    # I cannot test the Darwin version, so I'll leave it disabled
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ jacg ];
+  };
+
+}
diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix
index 2bc40a78af4..62ae1d2c049 100644
--- a/pkgs/applications/audio/vmpk/default.nix
+++ b/pkgs/applications/audio/vmpk/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, fetchurl, cmake, pkgconfig
-, qt4, libjack2
-}:
+{ stdenv, fetchurl, cmake, pkgconfig, alsaLib, libjack2, qt4 }:
 
-let
-  version = "0.5.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "vmpk";
-  inherit version;
-
-  meta = with stdenv.lib; {
-    description = "Virtual MIDI Piano Keyboard";
-    homepage    = "http://vmpk.sourceforge.net/";
-    license     = licenses.gpl3Plus;
-    platforms   = platforms.linux;
-  };
+  version = "0.5.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vmpk/${version}/${pname}-${version}.tar.bz2";
+    url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
     sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ qt4 libjack2 ];
+  buildInputs = [ alsaLib libjack2 qt4 ];
+
+  meta = with stdenv.lib; {
+    description = "Virtual MIDI Piano Keyboard";
+    homepage = "http://vmpk.sourceforge.net/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix
index 6ef992ffff6..b519003a9ec 100644
--- a/pkgs/applications/audio/vocal/default.nix
+++ b/pkgs/applications/audio/vocal/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, nix-update-script
 , cmake
 , ninja
 , vala
@@ -61,7 +62,7 @@ stdenv.mkDerivation rec {
   ];
 
   passthru = {
-    updateScript = pantheon.updateScript {
+    updateScript = nix-update-script {
       attrPath = pname;
     };
   };
diff --git a/pkgs/applications/audio/vocproc/default.nix b/pkgs/applications/audio/vocproc/default.nix
new file mode 100644
index 00000000000..ddaa5b790e2
--- /dev/null
+++ b/pkgs/applications/audio/vocproc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, pkgconfig, lvtk, lv2, fftw, lv2-cpp-tools, gtkmm2 }:
+
+stdenv.mkDerivation rec {
+  pname = "vocproc";
+  version = "0.2.1";
+
+  src = fetchzip {
+    url = "https://hyperglitch.com/files/vocproc/${pname}-${version}.default.tar.gz";
+    sha256 = "07a1scyz14mg2jdbw6fpv4qg91zsw61qqii64n9qbnny9d5pn8n2";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 fftw lv2-cpp-tools gtkmm2 ];
+
+  makeFlags = [
+    "INSTALL_DIR=$(out)/lib/lv2"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://hyperglitch.com/dev/VocProc";
+    description = "An LV2 plugin for pitch shifting (with or without formant correction), vocoding, automatic pitch correction and harmonizing of singing voice (harmonizer)";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix
index 20f87725f99..d3726eab7ff 100644
--- a/pkgs/applications/audio/x42-plugins/default.nix
+++ b/pkgs/applications/audio/x42-plugins/default.nix
@@ -3,12 +3,12 @@
 , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
 
 stdenv.mkDerivation rec {
-  version = "20200411";
+  version = "20200714";
   pname = "x42-plugins";
 
   src = fetchurl {
     url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
-    sha256 = "0y6778l2zc80kvp31mqw3vkcyi7g613jxn3g3lxqfa31i617gh6j";
+    sha256 = "1av05ykph8x67018hm9zfgh1vk0zi39mvrsxkj6bm4hkarxf0vvl";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations.patch
index f575af5ecd3..f575af5ecd3 100644
--- a/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations
+++ b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations.patch
diff --git a/pkgs/applications/audio/yasr/20_maxpathlen b/pkgs/applications/audio/yasr/20_maxpathlen.patch
index 386c6cbf22b..386c6cbf22b 100644
--- a/pkgs/applications/audio/yasr/20_maxpathlen
+++ b/pkgs/applications/audio/yasr/20_maxpathlen.patch
diff --git a/pkgs/applications/audio/yasr/30_conf b/pkgs/applications/audio/yasr/30_conf.patch
index 98e959f55f3..98e959f55f3 100644
--- a/pkgs/applications/audio/yasr/30_conf
+++ b/pkgs/applications/audio/yasr/30_conf.patch
diff --git a/pkgs/applications/audio/yasr/40_dectalk_extended_chars b/pkgs/applications/audio/yasr/40_dectalk_extended_chars.patch
index cc1f0af8606..cc1f0af8606 100644
--- a/pkgs/applications/audio/yasr/40_dectalk_extended_chars
+++ b/pkgs/applications/audio/yasr/40_dectalk_extended_chars.patch
diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix
index 68423197f3c..fed2ee0d8f7 100644
--- a/pkgs/applications/audio/yasr/default.nix
+++ b/pkgs/applications/audio/yasr/default.nix
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./10_fix_openpty_forkpty_declarations
-    ./20_maxpathlen
-    ./30_conf
-    ./40_dectalk_extended_chars
+    ./10_fix_openpty_forkpty_declarations.patch
+    ./20_maxpathlen.patch
+    ./30_conf.patch
+    ./40_dectalk_extended_chars.patch
   ]; # taken from the debian yasr package
 
   meta = {