summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBart Brouns <bart@magnetopon.nl>2015-05-30 17:18:54 +0200
committerBart Brouns <bart@magnetopon.nl>2015-05-31 14:49:13 +0200
commit5d53b9d278b89c5e0a97bff92fc78023561ed9c8 (patch)
treeb6d4e85929797eb7e761e60fb44eabbcc1dc6030 /pkgs
parent7c09d9d2915317580e14733cde839f88b08a5718 (diff)
init VoiceOfFaust at v0.7
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/VoiceOfFaust/default.nix65
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/applications/audio/VoiceOfFaust/default.nix b/pkgs/applications/audio/VoiceOfFaust/default.nix
new file mode 100644
index 0000000000000..17cb680c58c7c
--- /dev/null
+++ b/pkgs/applications/audio/VoiceOfFaust/default.nix
@@ -0,0 +1,65 @@
+
+{ stdenv, pkgs, callPackage, fetchFromGitHub, faust2jack, helmholtz, mrpeach, puredata-with-plugins }:
+stdenv.mkDerivation rec {
+  name = "VoiceOfFaust-${version}";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "magnetophon";
+    repo = "VoiceOfFaust";
+    rev = "v${version}";
+    sha256 = "14jjs7cnhg20pzijgblr7caspcpx8p8lpkbvjzc656s9lqn6m9sn";
+  };
+
+  plugins = [ helmholtz mrpeach ];
+
+  pitchTracker = puredata-with-plugins plugins;
+
+  buildInputs = [ faust2jack ];
+
+  runtimeInputs = [ pitchTracker ];
+
+  patchPhase = ''
+    sed -i "s@pd -nodac@${pitchTracker}/bin/pd -nodac@g" launchers/synthWrapper
+    sed -i "s@../PureData/OscSendVoc.pd@$out/PureData/OscSendVoc.pd@g" launchers/synthWrapper
+  '';
+
+  buildPhase = ''
+    faust2jack -osc classicVocoder.dsp
+    faust2jack -osc CZringmod.dsp
+    faust2jack -osc FMsinger.dsp
+    faust2jack -osc FOFvocoder.dsp
+    faust2jack -osc Karplus-StrongSinger.dsp
+    faust2jack -osc -sch -t 99999 Karplus-StrongSingerMaxi.dsp
+    faust2jack -osc PAFvocoder.dsp
+    faust2jack -osc -sch -t 99999 stringSinger.dsp
+    faust2jack -osc subSinger.dsp
+    # doesn't compile on most systems, too big:
+    #faust2jack -osc -sch -t 99999 VocSynthFull.dsp
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp launchers/* $out/bin/
+    cp classicVocoder $out/bin/
+    cp CZringmod $out/bin/
+    cp FMsinger $out/bin/
+    cp FOFvocoder $out/bin/
+    cp Karplus-StrongSinger $out/bin/
+    cp Karplus-StrongSingerMaxi $out/bin/
+    cp PAFvocoder $out/bin/
+    cp stringSinger $out/bin/
+    cp subSinger $out/bin/
+    #cp VocSynthFull $out/bin/
+    mkdir $out/PureData/
+    cp PureData/OscSendVoc.pd $out/PureData/OscSendVoc.pd
+  '';
+
+  meta = {
+    description = "Turn your voice into a synthesizer";
+    homepage = https://github.com/magnetophon/VoiceOfFaust;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 915a07ffca531..d67eff7004eea 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12742,6 +12742,8 @@ let
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
+  VoiceOfFaust = callPackage ../applications/audio/VoiceOfFaust { };
+
   vorbisTools = callPackage ../applications/audio/vorbis-tools { };
 
   vue = callPackage ../applications/misc/vue { };