################ # # "FliteFile2Wav.mscr" for MortScript # Ver.2007.02.29 # # by moyashi (komugi) # http://moyashi.air-nifty.com/ # # 英文音声合成ソフトウェアfliteで # テキストファイルを読み上げするスクリプト # # 動作環境: # Pocket PC / Windows Mobile # MortScript 4.0 R9以降 # ################ # Configure ######## # fliteのインストールパス s_flite_path =\ "\SD Card\FLITE\FLITE.EXE" # 読み上げテキストファイルパス s_text_path =\ "\FliteFile.txt" ################ Debug = 0 # flite存在確認 If(NOT fileExists(s_flite_path)) Message(\ "指定パスにfliteがありません" &\ "終了します",\ "ERROR") Exit EndIf # テキストファイルのパスに # 空白が含まれていたらエラー If(Find(s_text_path, " ") > 0) Message(\ "テキストへのパスに" &\ "空白が含まれています^NL^" &\ "空白の含まれないパスを指定してください",\ "ERROR") Exit EndIf # テキストファイル存在確認 If(NOT fileExists(s_text_path)) Message(\ "指定パスにテキストがありません" &\ "終了します",\ "ERROR") Exit EndIf If (Debug) Message(ReadFile(s_text_path)) EndIf s_wave_name =\ Input("保存wavファイル名を入力してください",\ "wavファイル名入力", false) If (s_wave_name eq "") Exit Else If (Find(ToLower(s_wave_name),\ ".wav") > 0) s_wave_name =\ "\" \ s_wave_name Else s_wave_name =\ "\" \ s_wave_name & ".wav" EndIf EndIf If (Debug) Message(s_wave_name) EndIf # 指定wavファイル名に # 空白が含まれていたらエラー If(Find(s_wave_name, " ") > 0) Message(\ "指定wavファイル名に" &\ "空白が含まれています^NL^" &\ "空白の含まれない名前を指定してください",\ "ERROR") Exit EndIf n_response = 1 If (FileExists(s_wave_name)) n_response =\ Question("ファイルを上書きしますか?",\ "確認", "OkCancel") EndIf s_buf =\ ReadFile(s_text_path) & "^NL^" If (Debug) Message(s_buf) EndIf Run(s_flite_path, """") If(n_response = 1) RunWait(s_flite_path,\ "-t """ & s_buf & """ """ &\ s_wave_name & """") Message(\ "wavファイルを保存しました^NL^" &\ s_wave_name,\ "完了") EndIf