about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/audio
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/audio')
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/jamomacore/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libbass/default.nix66
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libgme/default.nix24
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libinstpatch/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/libsmf/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lilv/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lilv/lilv-pkgconfig.patch6
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lv2/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/ntk/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix53
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/raul/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/rtaudio/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch5
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/sratom/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/suil/default.nix32
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-convolver/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix33
23 files changed, 689 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/audio/jamomacore/default.nix b/nixpkgs/pkgs/development/libraries/audio/jamomacore/default.nix
new file mode 100644
index 000000000000..7c9b3ef67c9b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/jamomacore/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, pkgconfig, alsaLib, portaudio, portmidi, libsndfile, cmake, libxml2 }:
+
+stdenv.mkDerivation rec {
+  version = "1.0-beta.1";
+  pname = "JamomaCore";
+
+  src = fetchFromGitHub {
+    owner = "jamoma";
+    repo = "JamomaCore";
+    rev = "v${version}";
+    sha256 = "1hb9b6qc18rsvzvixgllknn756m6zwcn22c79rdibbyz1bhrcnln";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ alsaLib portaudio portmidi libsndfile cmake libxml2 ];
+
+  meta = {
+    description = "A C++ platform for building dynamic and reflexive systems with an emphasis on audio and media";
+    homepage = "http://www.jamoma.org";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix b/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix
new file mode 100644
index 000000000000..593854bb280d
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libbass/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, unzip, fetchurl }:
+
+# Upstream changes files in-place, to update:
+# 1. Check latest version at http://www.un4seen.com/
+# 2. Update `version`s and `sha256` sums.
+# See also http://www.un4seen.com/forum/?topic=18614.0
+
+let
+  allBass = {
+    bass = {
+      h = "bass.h";
+      version = "2.4.15";
+      so = {
+        i686_linux = "libbass.so";
+        x86_64-linux = "x64/libbass.so";
+      };
+      urlpath = "bass24-linux.zip";
+      sha256 = "1z01im0l2ydi608vc0n0c1cfyp1vrh6681zn2zkhg98vvs20y805";
+    };
+
+    bass_fx = {
+      h = "C/bass_fx.h";
+      version = "2.4.12.1";
+      so = {
+        i686_linux = "libbass_fx.so";
+        x86_64-linux = "x64/libbass_fx.so";
+      };
+      urlpath = "z/0/bass_fx24-linux.zip";
+      sha256 = "1q0g74z7iyhxqps5b3gnnbic8v2jji1r0mkvais57lsx8y21sbin";
+    };
+  };
+
+  dropBass = name: bass: stdenv.mkDerivation {
+    pname = "lib${name}";
+    inherit (bass) version;
+
+    src = fetchurl {
+      url = "https://www.un4seen.com/files/${bass.urlpath}";
+      inherit (bass) sha256;
+    };
+    unpackCmd = ''
+      mkdir out
+      ${unzip}/bin/unzip $curSrc -d out
+    '';
+
+    lpropagatedBuildInputs = [ unzip ];
+    dontBuild = true;
+    installPhase =
+      let so =
+            if bass.so ? ${stdenv.hostPlatform.system} then bass.so.${stdenv.hostPlatform.system}
+            else throw "${name} not packaged for ${stdenv.hostPlatform.system} (yet).";
+      in ''
+        mkdir -p $out/{lib,include}
+        install -m644 -t $out/lib/ ${so}
+        install -m644 -t $out/include/ ${bass.h}
+      '';
+
+    meta = with stdenv.lib; {
+      description = "Shareware audio library";
+      homepage = "https://www.un4seen.com/";
+      license = licenses.unfreeRedistributable;
+      platforms = builtins.attrNames bass.so;
+    };
+  };
+
+in stdenv.lib.mapAttrs dropBass allBass
diff --git a/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix b/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix
new file mode 100644
index 000000000000..bc98dab4ab62
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libbs2b/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libsndfile }:
+
+stdenv.mkDerivation rec {
+  pname = "libbs2b";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/bs2b/${pname}-${version}.tar.bz2";
+    sha256 = "0vz442kkjn2h0dlxppzi4m5zx8qfyrivq581n06xzvnyxi5rg6a7";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libsndfile ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    homepage = "http://bs2b.sourceforge.net/";
+    description = "Bauer stereophonic-to-binaural DSP library";
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix b/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
new file mode 100644
index 000000000000..bcd6070831bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libgme/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromBitbucket, cmake }:
+let
+  version = "0.6.3";
+in stdenv.mkDerivation {
+  pname = "libgme";
+  inherit version;
+
+  meta = with stdenv.lib; {
+    description = "A collection of video game music chip emulators";
+    homepage = "https://bitbucket.org/mpyne/game-music-emu/overview";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ lheckemann ];
+  };
+
+  src = fetchFromBitbucket {
+    owner = "mpyne";
+    repo = "game-music-emu";
+    rev = version;
+    sha256 = "100ahb4n4pvgcry9xzlf2fr4j57n5h9x7pvyhhxys4dcy8axqqsy";
+  };
+
+  buildInputs = [ cmake ];
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libinstpatch/default.nix b/nixpkgs/pkgs/development/libraries/audio/libinstpatch/default.nix
new file mode 100644
index 000000000000..e5f1080631e4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libinstpatch/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, glib, libsndfile }:
+
+stdenv.mkDerivation rec {
+  pname = "libinstpatch";
+  version = "1.1.4";
+
+  src = fetchFromGitHub {
+    owner = "swami";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1v7mv43xxwrzi3agrc60agcw46jaidr8ql9kkm1w4jxkf4c6z6dz";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  propagatedBuildInputs = [ glib libsndfile ]; # Both are needed for includes.
+
+  cmakeFlags = [
+    "-DLIB_SUFFIX=" # Install in $out/lib.
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.swamiproject.org/";
+    description = "MIDI instrument patch files support library";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
new file mode 100644
index 000000000000..df0eecfd0be9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "libmysofa";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "hoene";
+    repo = "libmysofa";
+    rev = "v${version}";
+    sha256 = "053inxfl2n6wdgvnn02kf63m92r48ch4wqix9mqf3rgcf1bfkyfa";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ zlib ];
+
+  cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
+
+  meta = with stdenv.lib; {
+    description = "Reader for AES SOFA files to get better HRTFs";
+    homepage = "https://github.com/hoene/libmysofa";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/libsmf/default.nix b/nixpkgs/pkgs/development/libraries/audio/libsmf/default.nix
new file mode 100644
index 000000000000..d521b7e76abb
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/libsmf/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, autoreconfHook, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  pname = "libsmf";
+  src = fetchurl {
+    url = "https://github.com/stump/libsmf/archive/${pname}-${version}.tar.gz";
+    sha256 = "1527pcc1vd0l5iks2yw8m0bymcrnih2md5465lwpzw0wgy4rky7n";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ glib ];
+
+  meta = with stdenv.lib; {
+    description = "A C library for reading and writing Standard MIDI Files";
+    homepage = "https://github.com/stump/libsmf";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix b/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
new file mode 100644
index 000000000000..831cd8c2054f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/lilv/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, sratom, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "lilv";
+  version = "0.24.6";
+
+  src = fetchurl {
+    url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
+    sha256 = "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z";
+  };
+
+  patches = [ ./lilv-pkgconfig.patch ];
+
+  nativeBuildInputs = [ pkgconfig python3 wafHook ];
+  buildInputs = [ serd sord sratom ];
+  propagatedBuildInputs = [ lv2 ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://drobilla.net/software/lilv";
+    description = "A C library to make the use of LV2 plugins";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/lilv/lilv-pkgconfig.patch b/nixpkgs/pkgs/development/libraries/audio/lilv/lilv-pkgconfig.patch
new file mode 100644
index 000000000000..a5a8c6007e43
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/lilv/lilv-pkgconfig.patch
@@ -0,0 +1,6 @@
+--- a/lilv.pc.in
++++ b/lilv.pc.in
+@@ -9 +9,2 @@ Description: Simple C library for hosting LV2 plugins
+-Requires: @LILV_PKG_DEPS@
++Requires: lv2
++Requires.private: @LILV_PKG_DEPS@
diff --git a/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
new file mode 100644
index 000000000000..bb2645beda7f
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/lv2/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python3, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "lv2";
+  version = "1.18.0";
+
+  src = fetchurl {
+    url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2";
+    sha256 = "0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh";
+  };
+
+  nativeBuildInputs = [ pkgconfig wafHook ];
+  buildInputs = [ gtk2 libsndfile python3 ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://lv2plug.in";
+    description = "A plugin standard for audio systems";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
new file mode 100644
index 000000000000..d4a0f671e8f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/lvtk/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, boost, gtkmm2, lv2, pkgconfig, python, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "lvtk";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "https://github.com/lvtk/lvtk/archive/${version}.tar.gz";
+    sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd";
+  };
+
+  nativeBuildInputs = [ pkgconfig python wafHook ];
+  buildInputs = [ boost gtkmm2 lv2 ];
+
+  enableParallelBuilding = true;
+
+  # Fix including the boost libraries during linking
+  postPatch = ''
+    sed -i '/target[ ]*= "ttl2c"/ ilib=["boost_system"],' tools/wscript_build
+  '';
+
+  wafConfigureFlags = [
+    "--boost-includes=${boost.dev}/include"
+    "--boost-libs=${boost.out}/lib"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A set C++ wrappers around the LV2 C API";
+    homepage = "http://lvtoolkit.org";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/ntk/default.nix b/nixpkgs/pkgs/development/libraries/audio/ntk/default.nix
new file mode 100644
index 000000000000..f039e574d547
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/ntk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cairo, libjpeg, libXft, pkgconfig, python2, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "ntk";
+  version = "1.3.1000";
+  src = fetchFromGitHub {
+    owner = "original-male";
+    repo = "ntk";
+    rev = "v${version}";
+    sha256 = "0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0";
+  };
+
+  nativeBuildInputs = [ pkgconfig wafHook ];
+  buildInputs = [
+    cairo libjpeg libXft python2
+  ];
+
+  meta = {
+    description = "Fork of FLTK 1.3.0 with additional functionality";
+    version = version;
+    homepage = "http://non.tuxfamily.org/";
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = with stdenv.lib.maintainers; [ magnetophon nico202 ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix b/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix
new file mode 100644
index 000000000000..d363a559042b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/qm-dsp/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, kissfft
+}:
+
+stdenv.mkDerivation rec {
+  pname = "qm-dsp";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "c4dm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "e1PtCIzp7zIz+KKRxEGlAXTNqZ35vPgQ4opJKHIPa+4=";
+  };
+
+  patches = [
+    # Make installable
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-install.patch";
+      sha256 = "7JDg9yOECWG7Ql5lIoC4L++R1gUlKfztvED5Ey4YLxw=";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-flags.patch";
+      sha256 = "2HRSbSFxC8DPXOgcflyBYeJI3NwO/1CFmyRdvYo09og=";
+      postFetch = ''
+        sed -i 's~/Makefile~/build/linux/Makefile.linux32~g' "$out"
+      '';
+    })
+  ];
+
+  buildInputs = [
+    kissfft
+  ];
+
+  makefile = "build/linux/Makefile.linux32";
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "LIBDIR=${placeholder "out"}/lib"
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${kissfft}/include/kissfft";
+
+  meta = with stdenv.lib; {
+    description = "A C++ library of functions for DSP and Music Informatics purposes";
+    homepage = "https://code.soundsoftware.ac.uk/projects/qm-dsp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/raul/default.nix b/nixpkgs/pkgs/development/libraries/audio/raul/default.nix
new file mode 100644
index 000000000000..8acd6d3c6664
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/raul/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, boost, gtk2, pkgconfig, python, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "raul";
+  version = "unstable-2019-12-09";
+  name = "${pname}-${version}";
+
+  src = fetchgit {
+    url = "https://gitlab.com/drobilla/raul.git";
+    fetchSubmodules = true;
+    rev = "e87bb398f025912fb989a09f1450b838b251aea1";
+    sha256 = "1z37jb6ghc13b8nv8a8hcg669gl8vh4ni9djvfgga9vcz8rmcg8l";
+  };
+
+  nativeBuildInputs = [ pkgconfig wafHook ];
+  buildInputs = [ boost gtk2 python ];
+
+  meta = with stdenv.lib; {
+    description = "A C++ utility library primarily aimed at audio/musical applications";
+    homepage = "http://drobilla.net/software/raul";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/rtaudio/default.nix b/nixpkgs/pkgs/development/libraries/audio/rtaudio/default.nix
new file mode 100644
index 000000000000..53efa598079b
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2,  alsaLib, pulseaudio, rtmidi }:
+
+stdenv.mkDerivation rec {
+  version = "5.1.0";
+  pname = "rtaudio";
+
+  src = fetchFromGitHub {
+    owner = "thestk";
+    repo = "rtaudio";
+    rev = version;
+    sha256 = "1pglnjz907ajlhnlnig3p0sx7hdkpggr8ss7b3wzf1lykzgv9l52";
+  };
+
+  patches = [ ./rtaudio-pkgconfig.patch ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];
+
+  preConfigure = ''
+    ./autogen.sh --no-configure
+    ./configure
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
+    homepage =  "http://www.music.mcgill.ca/~gary/rtaudio/";
+    license = licenses.mit;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch b/nixpkgs/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch
new file mode 100644
index 000000000000..8536332d46d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch
@@ -0,0 +1,5 @@
+--- a/rtaudio.pc.in
++++ b/rtaudio.pc.in
+@@ -9 +9 @@ Version: @PACKAGE_VERSION@
+-Requires: @req@ 
++Requires.private: @req@ 
diff --git a/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix b/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix
new file mode 100644
index 000000000000..d30b1ce6c64c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "4.0.0";
+  pname = "rtmidi";
+
+  src = fetchFromGitHub {
+    owner = "thestk";
+    repo = "rtmidi";
+    rev = version;
+    sha256 = "1g31p6a96djlbk9jh5r4pjly3x76lhccva9hrw6xzdma8dsjzgyq";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ autoconf automake libtool libjack2 alsaLib ];
+
+  preConfigure = ''
+    ./autogen.sh --no-configure
+    ./configure
+  '';
+
+  meta = {
+    description = "A set of C++ classes that provide a cross platform API for realtime MIDI input/output";
+    homepage =  "http://www.music.mcgill.ca/~gary/rtmidi/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
new file mode 100644
index 000000000000..cec50290d09e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/sratom/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, lv2, pkgconfig, python3, serd, sord, wafHook }:
+
+stdenv.mkDerivation rec {
+  pname = "sratom";
+  version = "0.6.4";
+
+  src = fetchurl {
+    url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
+    sha256 = "0vh0biy3ngpzzgdml309c2mqz8xq9q0hlblczb4c6alhp0a8yv0l";
+  };
+
+  nativeBuildInputs = [ pkgconfig wafHook python3 ];
+  buildInputs = [ lv2 serd sord ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://drobilla.net/software/sratom";
+    description = "A library for serialising LV2 atoms to/from RDF";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/suil/default.nix b/nixpkgs/pkgs/development/libraries/audio/suil/default.nix
new file mode 100644
index 000000000000..c2496840b7d4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/suil/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
+, wafHook
+, withQt4 ? true, qt4 ? null
+, withQt5 ? false, qt5 ? null }:
+
+# I haven't found an XOR operator in nix...
+assert withQt4 || withQt5;
+assert !(withQt4 && withQt5);
+
+stdenv.mkDerivation rec {
+  pname = "suil";
+  version = "0.10.6";
+  name = "${pname}-qt${if withQt4 then "4" else "5"}-${version}";
+
+  src = fetchurl {
+    url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
+    sha256 = "0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06";
+  };
+
+  nativeBuildInputs = [ pkgconfig wafHook ];
+  buildInputs = [ gtk2 lv2 python serd sord sratom ]
+    ++ (lib.optionals withQt4 [ qt4 ])
+    ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
+
+  meta = with stdenv.lib; {
+    homepage = "http://drobilla.net/software/suil";
+    description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix b/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
new file mode 100644
index 000000000000..f980d42cd7dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/vamp-plugin-sdk/default.nix
@@ -0,0 +1,29 @@
+# set VAMP_PATH ?
+# plugins availible on sourceforge and http://www.vamp-plugins.org/download.html (various licenses)
+
+{ stdenv, fetchFromGitHub, pkgconfig, libsndfile }:
+
+stdenv.mkDerivation rec {
+  pname = "vamp-plugin-sdk";
+  version = "2.9";
+
+  src = fetchFromGitHub {
+    owner = "c4dm";
+    repo = "vamp-plugin-sdk";
+    rev = "vamp-plugin-sdk-v${version}";
+    sha256 = "1ay12gjqp2wzysg9k2qha3gd8sj5rjlfy4hsl923csi4ssiapsh1";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libsndfile ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Audio processing plugin system for plugins that extract descriptive information from audio data";
+    homepage = "https://vamp-plugins.org/";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.goibhniu maintainers.marcweber ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
new file mode 100644
index 000000000000..c819f355e0b8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl , alsaLib, }:
+
+stdenv.mkDerivation rec {
+  pname = "zita-alsa-pcmi";
+  version = "0.3.2";
+  src = fetchurl {
+    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
+  };
+
+  buildInputs = [ alsaLib ];
+
+  buildPhase = ''
+    cd source
+    make PREFIX="$out"
+
+    # create lib link for building apps
+    ln -s libzita-alsa-pcmi.so.$version libzita-alsa-pcmi.so
+
+    # apps
+    cd ../apps
+    CXXFLAGS+=" -I../source" \
+    LDFLAGS+=" -L../source" \
+    make PREFIX="$out"
+  '';
+
+  installPhase = ''
+    mkdir "$out"
+    mkdir "$out/lib"
+    mkdir "$out/include"
+    mkdir "$out/bin"
+
+    cd ../source
+
+    # source
+    install -Dm755 libzita-alsa-pcmi.so.$version \
+      "$out/lib/libzita-alsa-pcmi.so.$version"
+
+    # link
+    ln -s libzita-alsa-pcmi.so.$version \
+      "$out/lib/libzita-alsa-pcmi.so"
+    ln -s libzita-alsa-pcmi.so.$version \
+      "$out/lib/libzita-alsa-pcmi.so.0"
+
+    # header
+    install -Dm644 zita-alsa-pcmi.h \
+      "$out/include/zita-alsa-pcmi.h"
+
+    # apps
+    install -Dm755 ../apps/alsa_delay \
+      "$out/bin/alsa_delay"
+    install -Dm755 ../apps/alsa_loopback \
+      "$out/bin/alsa_loopback"
+  '';
+
+  meta = {
+    description = "The successor of clalsadrv, provides easy access to ALSA PCM devices";
+    version = version;
+    homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-convolver/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-convolver/default.nix
new file mode 100644
index 000000000000..2b7d89b30a17
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-convolver/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, fftwFloat }:
+
+stdenv.mkDerivation rec {
+  pname = "zita-convolver";
+  version = "4.0.3";
+  src = fetchurl {
+    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs";
+  };
+
+  buildInputs = [ fftwFloat ];
+
+  patchPhase = ''
+    cd source
+    sed -e "s@ldconfig@@" -i Makefile
+  '';
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "SUFFIX="
+  ];
+
+  postInstall = ''
+    # create lib link for building apps
+    ln -s $out/lib/libzita-convolver.so.${version} $out/lib/libzita-convolver.so.${stdenv.lib.versions.major version}
+  '';
+
+  meta = {
+    description = "Convolution library by Fons Adriaensen";
+    version = version;
+    homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix
new file mode 100644
index 000000000000..2881e5662180
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "zita-resampler";
+  version = "1.6.2";
+  src = fetchurl {
+    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "1my5k2dh2dkvjp6xjnf9qy6i7s28z13kw1n9pwa4a2cpwbzawfr3";
+  };
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "SUFFIX="
+  ];
+
+  patchPhase = ''
+    cd source
+    sed -e "s@ldconfig@@" -i Makefile
+  '';
+
+  fixupPhase = ''
+    ln -s $out/lib/libzita-resampler.so.$version $out/lib/libzita-resampler.so.1
+  '';
+
+  meta = {
+    description = "Resample library by Fons Adriaensen";
+    version = version;
+    homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}