66 lines
1.9 KiB
Nix
66 lines
1.9 KiB
Nix
|
|
{ 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 ];
|
|
};
|
|
}
|
|
|