Esempio n. 1
0
        /// <summary>
        /// メインウィンドウ初期設定
        /// </summary>
        public MainWindow()
        {
            InitializeComponent();
            //画面項目初期設定
            EntryText.Text         = "";
            ConfigFilePass.Content = System.AppDomain.CurrentDomain.BaseDirectory + "TTSVConfig.txt";
            EntryTextPass.Content  = System.AppDomain.CurrentDomain.BaseDirectory + "ENTRY";
            VSQXPass.Content       = System.AppDomain.CurrentDomain.BaseDirectory + "VSQX";
            WorkFilePass.Content   = System.AppDomain.CurrentDomain.BaseDirectory + "WORK";

            //設定ファイル存在チェック
            if (!System.IO.File.Exists(ConfigFilePass.Content.ToString()))
            {
                MessageBox.Show("設定ファイルTTSVConfig.txtが実行ファイルのフォルダにありません。TTSVを終了します。");
                this.Close();
            }
            ;

            //設定ファイル読み込み
            TTSVConfig TTSVCFG = new TTSVConfig(ConfigFilePass.Content.ToString());

            //設定ファイルの項目設定
            OpenJTalkOption.Content        = TTSVCFG.OpenJTalkOption;
            compID.Content                 = TTSVCFG.compID;
            vVoiceName.Content             = TTSVCFG.vVoiceName;
            Comment.Content                = TTSVCFG.Comment;
            BaseNoteNumValue.Content       = TTSVCFG.BaseNoteNum;
            MiddleNoteNumValue.Content     = TTSVCFG.MiddleNoteNum;
            TopNoteNumValue.Content        = TTSVCFG.TopNoteNum;
            NaturalEndNoteNumValue.Content = TTSVCFG.NaturalEndNoteNum;
            BottomNoteNumValue.Content     = TTSVCFG.BottomNoteNum;
            QuestionNoteNumValue.Content   = TTSVCFG.QuestionNoteNum;
            NoteSplitModeValue.Content     = TTSVCFG.NoteSplitMode;
            PrefixValue.Content            = TTSVCFG.Prefix;
            OpenJTalkOption.Content        = TTSVCFG.OpenJTalkOption;

            //設定ファイルに従い画面の背景色を変更する
            this.Background = new SolidColorBrush(Color.FromArgb(255, TTSVCFG.ColorR, TTSVCFG.ColorG, TTSVCFG.ColorB));
        }
Esempio n. 2
0
        /// <summary>
        /// 設定ファイル読み込みボタン
        /// </summary>
        private void SelectConfig_Click(object sender, RoutedEventArgs e)
        {
            // ダイアログのインスタンスを生成
            var dialog = new OpenFileDialog();

            // ファイルの種類を設定
            dialog.Filter = "テキストファイル (*.txt)|*.txt";

            // ダイアログを表示する
            if (dialog.ShowDialog() == true)
            {
                // 選択されたファイル名 (ファイルパス) をラベルに表示
                ConfigFilePass.Content = dialog.FileName;
            }

            //設定ファイル読み込み
            TTSVConfig TTSVCFG = new TTSVConfig(ConfigFilePass.Content.ToString());

            //設定ファイルの項目設定
            OpenJTalkOption.Content        = TTSVCFG.OpenJTalkOption;
            compID.Content                 = TTSVCFG.compID;
            vVoiceName.Content             = TTSVCFG.vVoiceName;
            Comment.Content                = TTSVCFG.Comment;
            BaseNoteNumValue.Content       = TTSVCFG.BaseNoteNum;
            MiddleNoteNumValue.Content     = TTSVCFG.MiddleNoteNum;
            TopNoteNumValue.Content        = TTSVCFG.TopNoteNum;
            NaturalEndNoteNumValue.Content = TTSVCFG.NaturalEndNoteNum;
            BottomNoteNumValue.Content     = TTSVCFG.BottomNoteNum;
            QuestionNoteNumValue.Content   = TTSVCFG.QuestionNoteNum;
            NoteSplitModeValue.Content     = TTSVCFG.NoteSplitMode;
            PrefixValue.Content            = TTSVCFG.Prefix;
            OpenJTalkOption.Content        = TTSVCFG.OpenJTalkOption;

            //設定ファイルに従い画面の背景色を変更する
            this.Background = new SolidColorBrush(Color.FromArgb(255, TTSVCFG.ColorR, TTSVCFG.ColorG, TTSVCFG.ColorB));
        }
Esempio n. 3
0
        /// <summary>
        /// VSQXファイル生成ボタン
        /// </summary>
        private void MakeVSQX_Click(object sender, RoutedEventArgs e)
        {
            //ファイル名用の現在時刻タイムスタンプを取得する
              string NowString = DateTime.Now.ToString("yyyyMMdd_HHmmss_");

            string EntryString;

            //ファイル名用にテキストボックスの先頭10文字を取得する
            if (EntryText.Text.Length >= 10)
            {
                EntryString = EntryText.Text.Substring(0, 10);
            }
            else
            {
                EntryString = EntryText.Text;
            }

            //設定ファイル読み込み
            TTSVConfig TTSVCFG = new TTSVConfig(ConfigFilePass.Content.ToString());

            //ファイル名フルパスを設定する
            string EntryTextFileName = EntryTextPass.Content + "\\" + TTSVCFG.Prefix + NowString + EntryString + ".txt";
            string TraceFileName     = WorkFilePass.Content + "\\" + TTSVCFG.Prefix + NowString + "Trace.txt";
            string VSQXFileName      = VSQXPass.Content + "\\" + TTSVCFG.Prefix + NowString + EntryString + ".vsqx";
            string AnalysisFileName  = WorkFilePass.Content + "\\" + TTSVCFG.Prefix + NowString + "Analysis.xml";
            string LabelFileName     = WorkFilePass.Content + "\\" + TTSVCFG.Prefix + NowString + "Label.xml";

            //入力テキストをファイルに保存する
            StreamWriter swEntry = new StreamWriter(EntryTextFileName, false, Encoding.GetEncoding("Shift_JIS"));

            swEntry.WriteLine(EntryText.Text);
            swEntry.Close();

            //OpenJTalkを起動する
            ProcessStartInfo OJInfo = new ProcessStartInfo();

            OJInfo.FileName        = System.AppDomain.CurrentDomain.BaseDirectory + "open_jtalk.exe";
            OJInfo.Arguments       = TTSVCFG.OpenJTalkOption + " -ot " + "\"" + TraceFileName + "\"" + " " + "\"" + EntryTextFileName + "\""; // コマンドパラメータ(引数)
            OJInfo.CreateNoWindow  = true;                                                                                                    // コンソール・ウィンドウを開かない
            OJInfo.UseShellExecute = false;                                                                                                   // シェル機能を使用しない

            Process OJP = Process.Start(OJInfo);

            OJP.WaitForExit();  // プロセスの終了を待つ

            //TI2VSQXを起動する
            ProcessStartInfo TIInfo = new ProcessStartInfo();

            TIInfo.FileName  = System.AppDomain.CurrentDomain.BaseDirectory + "TI2VSQX.exe";
            TIInfo.Arguments = "\"" + ConfigFilePass.Content + "\"" + " " +
                               "\"" + TraceFileName + "\"" + " " +
                               "\"" + AnalysisFileName + "\"" + " " +
                               "\"" + LabelFileName + "\"" + " " +
                               "\"" + VSQXFileName + "\"";
            TIInfo.CreateNoWindow  = true;   // コンソール・ウィンドウを開かない
            TIInfo.UseShellExecute = false;  // シェル機能を使用しない

            Process TIP = Process.Start(TIInfo);

            TIP.WaitForExit();  // プロセスの終了を待つ

            MessageBox.Show("VSQXファイル生成しました");
        }