private static void run(FormGenerateKeySound.PrepareStartArgument arg) { String singer = arg.singer; double amp = arg.amplitude; String dir = arg.directory; bool replace = arg.replace; // 音源を準備 if (!Directory.Exists(dir)) { System.IO.Directory.CreateDirectory(dir); } for (int i = 0; i < 127; i++) { string path = Path.Combine(dir, i + ".wav"); Console.Write("writing \"" + path + "\" ..."); if (replace || (!replace && !File.Exists(path))) { try { FormGenerateKeySound.GenerateSinglePhone(i, singer, path, amp); if (File.Exists(path)) { try { Wave wv = new Wave(path); wv.trimSilence(); wv.monoralize(); wv.write(path); } catch (Exception ex) { serr.println("Program#run; ex=" + ex); } } } catch (Exception ex) { serr.println("Program#run; ex=" + ex); } } sout.println(" done"); } }
static void Main( string[] args ) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault( false ); AppManager.init(); String singer = "Miku"; object locker = new object(); double amp = 1.0; String dir = Path.Combine( Application.StartupPath, "cache" ); bool replace = true; int search = -1; int arguments = 0; while ( search + 1 < args.Length ) { search++; switch ( args[search].ToLower() ) { case "-help": case "-h": case "/help": case "/h": case "-?": case "/?": case "--h": case "--help": arguments++; ShowHelp(); return; case "-amplify": case "-a": case "/amplify": case "/a": if ( search + 1 < args.Length ) { double t_amp = amp; if ( double.TryParse( args[search + 1], out t_amp ) ) { if ( t_amp < 0.0 ) { Console.WriteLine( "error; amilify coefficient must be >= 0. specified value was \"" + t_amp + "\"" ); return; } amp = t_amp; } else { InvalidNumberExpressionAt( args[search + 1] ); return; } } else { TooFewArgumentFor( args[search] ); return; } arguments++; search++; break; case "-singer": case "-s": case "/singer": case "/s": if ( search + 1 < args.Length ) { singer = args[search + 1]; } else { TooFewArgumentFor( args[search] ); return; } arguments++; search++; break; case "-dir": case "-d": case "/dir": case "/d": if ( search + 1 < args.Length ) { dir = args[search + 1]; } else { TooFewArgumentFor( args[search] ); return; } arguments++; search++; break; case "-replace": case "-r": case "/replace": case "/r": replace = true; arguments++; break; default: Console.WriteLine( "error; unknown option \"" + args[search] + "\"" ); return; } } if ( arguments == 0 ) { Application.Run( new FormGenerateKeySound( false ) ); } else { FormGenerateKeySound.PrepareStartArgument arg = new FormGenerateKeySound.PrepareStartArgument(); arg.singer = singer; arg.amplitude = amp; arg.directory = dir; arg.replace = replace; run( arg ); } }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AppManager.init(); String singer = "Miku"; object locker = new object(); double amp = 1.0; String dir = Path.Combine(Application.StartupPath, "cache"); bool replace = true; int search = -1; int arguments = 0; while (search + 1 < args.Length) { search++; switch (args[search].ToLower()) { case "-help": case "-h": case "/help": case "/h": case "-?": case "/?": case "--h": case "--help": arguments++; ShowHelp(); return; case "-amplify": case "-a": case "/amplify": case "/a": if (search + 1 < args.Length) { double t_amp = amp; if (double.TryParse(args[search + 1], out t_amp)) { if (t_amp < 0.0) { Console.WriteLine("error; amilify coefficient must be >= 0. specified value was \"" + t_amp + "\""); return; } amp = t_amp; } else { InvalidNumberExpressionAt(args[search + 1]); return; } } else { TooFewArgumentFor(args[search]); return; } arguments++; search++; break; case "-singer": case "-s": case "/singer": case "/s": if (search + 1 < args.Length) { singer = args[search + 1]; } else { TooFewArgumentFor(args[search]); return; } arguments++; search++; break; case "-dir": case "-d": case "/dir": case "/d": if (search + 1 < args.Length) { dir = args[search + 1]; } else { TooFewArgumentFor(args[search]); return; } arguments++; search++; break; case "-replace": case "-r": case "/replace": case "/r": replace = true; arguments++; break; default: Console.WriteLine("error; unknown option \"" + args[search] + "\""); return; } } if (arguments == 0) { Application.Run(new FormGenerateKeySound(false)); } else { FormGenerateKeySound.PrepareStartArgument arg = new FormGenerateKeySound.PrepareStartArgument(); arg.singer = singer; arg.amplitude = amp; arg.directory = dir; arg.replace = replace; run(arg); } }