/// <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)); }
/// <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)); }
/// <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ファイル生成しました"); }