Exemple #1
0
        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");
            }
        }
Exemple #2
0
 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 );
     }
 }
Exemple #3
0
        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);
            }
        }