Bladean Mericle 氏のところで 『SofTalkを動かすことまで面倒みようという改造』を施された
めりくるくるりん: SofTalkバッチコマンドジェネレータを改造してみた
が公開されています。ここのものより便利かも。

※Softalk ver 1.85 に対応しました。
  SofTalk バッチコマンドジェネレータ ver0152版はこちら

ID番号と台詞を入力
書式:(ID番号)(タブ文字)(台詞)
例):26 てすと
声色
Speed
Volume
ファイル名のprefix
ファイル名
ID番号の桁数

SofTalkの場所

出力先フォルダ

バッチリスト

概要

Softalk(音声合成・読み上げツール)を使ってリストからダミーボイス出力する為のコマンドラインを生成します。 エクセルで作成したリストから、コピペで楽にコマンドラインリストに変換する為に作成。
※ Softalk ver0154 以降では、このジェネレータで生成したバッチコマンドは動作しません。ver0152で動作することを確認しています。ver0152を使用してください。
※Softalk ver 1.85 に対応しました。

使い方

  1. SofTalkを入手して任意の場所に展開した後、Softalkを起動して「オプション」→「環境設定」→「その他」の「引数をファイル名/オプションとして処理する」にチェックを入れます。
    オプションメニューが文字化けする場合はVB6ランタイムライブラリsp6が必要になるようです。SofTalk Q&AのA04参照。
  2. SofTalk バッチコマンドジェネレータの「softalkの場所」入力欄に softalk.exe のパスを入力します。
  3. 「出力先フォルダ」にボイスファイルを出力したいフォルダの親フォルダまでのパスを入力します。
    例) N:\project\000_ダミーボイス\てすとフォルダ名 に出力する場合には N:\project\000_ダミーボイス
上記が下準備。後は「ID番号と台詞を入力」入力欄に書式通りのリストをコピペして「生成」ボタンを押すと「バッチリスト」欄に結果が出力される。
出力されたバッチリストをテキストファイル等にペーストし、 (任意のファイル名).bat のように拡張子 bat として保存し、そのファイルを実行すると softalk を使用したボイス出力開始。後は終了するのを待つだけ。

「ID番号と台詞を入力」入力欄に入力するデータの書式は以下。
出力するフォルダ名 出力するファイル名(前部分)
出力するファイル名に使用するID番号(半角数字) 台詞
12 ここが台詞
557 じゃべるよーん
上記のような感じ。
エクセルの表を必要な部分コピー&ペーストしたときのセルの区切り文字がタブ文字だったので、データの区切り(「出力するフォルダ名」と「出力するファイル名(前部分)」、「出力するファイル名に使用するID番号(半角数字)」と台詞)はタブ文字です。
「一括変換モード」と「一括変換モードでフォルダを振り分ける」にチェックを入れておくと、 「出力先フォルダ」+ リストの先頭で入力した「出力するフォルダ名」に 「ファイルのprefix」+リストの先頭で入力した「出力するファイル名(前部分)」+「出力するファイル名に使用するID番号(半角数字)」.wavで出力される。



20090206追記:
「ID番号と台詞を入力」欄の「全消去」ボタンをつけた。
以下書き忘れていたこと。

細かいことなど

  • 「ID番号と台詞を入力」2行目以降では、「ID番号(タブ文字)台詞」のルールに該当しない文字列は全て無視する。
  • 「ID番号の桁数」の設定は、指定した桁数に満たないID番号があった場合に、 指定した桁数になるように頭を0で埋める。
    例) ID番号が「26」で「ID番号の桁数」が「5桁」の場合、「00026」として出力される。
  • ID番号が0で始まる数値だった場合、頭の0を削除してから上記処理が行われる。
    例) ID番号が「00000026」で「ID番号の桁数」が「5桁」の場合、「00026」として出力される。
  • ID番号が0以外で始まる数値で「ID番号の桁数」の設定桁数をオーバーする場合には何もしない。
    例) ID番号が「26」で「ID番号の桁数」が「3桁」の場合、「026」として出力され、
    ID番号が「1026」で「ID番号の桁数」が「3桁」の場合、「1026」として出力される。
  • 「ファイル名」の設定文字列は、可能な限り小文字化して出力される。
  • 2009/02/07追加「ファイル名」と「ID番号」の先頭と後ろの半角・全角スペースは削除される。
  • 2009/03/08追加「数字以外を含む文字列をID番号と認識しない 」にチェックを入れると、ID番号に数字以外の文字列が含まれている場合に、その行にセリフがあってもコマンドライン出力はされなくなる。(見出し行を出力したくない場合 チェックを入れる)
あと「一括変換モード」の動作など

「一括変換モード」にチェックを入れていない場合

  • 「ファイル名」に入力されている文字列がファイル名に使用される。
    例) 「ファイル名のprefix」に「test」、「ファイル名」に「てすと」、「ID番号と台詞を入力」の一行目に「029 じゃべる」と入力して「生成」した場合 testてすと_029.wav と出力される。
  • 「ID番号と台詞を入力」一行目に「出力するフォルダ名 出力するファイル名(前部分)」があっても無視される。

「一括変換モード」にチェックを入れていた場合

  • 「ID番号と台詞を入力」一行目に「出力するフォルダ名 出力するファイル名(前部分)」があると、 それぞれ「出力先フォルダ名」と「ファイル名」に反映される。
    また、「生成」後に「バッチファイル名」欄が表示され「出力するフォルダ名.bat」が表示されるようになる。
    (バッチファイルの命名の簡略化のため)
  • 「ID番号と台詞を入力」一行目の書式は以下のどちらでもよい。
    例1) タブ文字出力するフォルダ名タブ文字出力するファイル名(前部分)
    例2)出力するフォルダ名タブ文字出力するファイル名(前部分)
  • 「出力先フォルダ」内に「ID番号と台詞を入力」の一行目の「出力するフォルダ名」でフォルダを作成し、 そのフォルダ内にwavファイルを作成する。
  • 「一括変換モードでフォルダを振り分ける」にチェックが入れられている場合、 初回の「生成」時のフォルダを基準に次回以降のフォルダ作成が行われる。
  • 「一括変換モードでフォルダを振り分ける」にチェックが入れられていない場合、 「ID番号と台詞を入力」一行目の「出力するフォルダ名」が「出力先フォルダ名」に加算されてゆく。

softalk.exeの場所、出力先フォルダの設定を毎回入力するのがめんどくさい場合は SofTalk バッチコマンドジェネレータ ローカル版をダウンロード。
ソースの最初の方にそれらを設定できるようにしてあるので書き換えて使うと便利かも。
(ver0152対応版です)

20090207追記:
「一括変換モード」で、一行目もコマンドラインリストとして出力されてしまっていたので、出力されないように修正。
あと、ローカル版へのリンクを一番上にも表示するようにした。

20090308追記:
エクセルのセル内に改行があるリストを元に「生成」した場合に、セル内の改行以降の文字列が無視されていたのを修正。
それに伴い、半角“"”(ダブルクォーテーション)は、全角“。”(句点)に変換して出力するようにした。
あと「数字以外を含む文字列をID番号と認識しない 」チェックボックスを追加。
これの使い方は、エクセル表でID番号に当たるセルとセリフに当たるセルの両方に文字が入っている行があり、 この行をセリフとしてコマンドラインに出力したくない場合(見出しを書いた行など)にチェックを入れる。

20090317追記:
使い方 に、batファイルに保存して実行するところまでより詳しく解説を追加。(余計なお世話?)

20090502追記:
IEとOperaで正常に動作していなかった(コマンドライン中に改行が入ってしまうことがある)のを修正。

20090530追記:
Operaで表示が崩れていたのを修正。

20090617追記
このジェネレータで生成したバッチコマンドを新バージョンの ver0161(VB.NET版)とver0155(VB6.0版)で使ってみたところ正常に動作しなかった。
原因は ver0154 でコマンドラインオプションの仕様が変更されたこと。
いろいろ調べてみたものの、現在のところ解決策は見つからない。 ネックな部分は以下。
  • バッチファイルを実行してSoftalkがコマンドラインを受けるとSoftalkが起動するようになった(ver0152 では起動しなかった)けど、wav出力が終わってもSoftalkが終了しなくなった。
  • ver0154 でコマンドラインオプション /close (Softalkの終了)が追加されたけど、readme.txt によると 〇実行オプションはファイル名や他のオプションと同時に指定することはできません。とあり、wav出力のコマンドラインに入れてもsoftalkは終了しない。
    "N:\project\softalk\SofTalk.exe" /T:2 /S:100 /V:20 /R:N:\project\softalk\vtestfilename_028.wav /W:テスト文章
    "N:\project\softalk\SofTalk.exe" /close
    readme.txtを参考に上記のようにバッチファイルに記述して実行しても、 一行目の実行で止まってしまう。
    これはバッチファイルの実行が一行単位で、その行で実行したアプリケーションが終了しないとその行のコマンドが終了したと認識されない為(バッチファイルの仕様)で二行目の /close が実行されない。
む~ん……。
ということで「概要」に ver0154 以降では正常に動作しない、ver0152で動作することを確認している旨の文章を追加。ver0152で使ってください。
↑ver0152対応版の話です。(20101020追記)


20101020追記
コメント欄で、コマンドの頭に "start" を入れることによって最新版でも動作することを教えていただいたので、"start" を入れたコマンドラインを出力するように修正。
動作確認バージョンは ver 1.85 になります。
古いもの(ver0152で動作)はSofTalk バッチコマンドジェネレータ ローカル版を残しておきます。


関連エントリ:(↑新 古↓)
関連記事
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Comment
    管理人のみ閲覧できます  /  [] #
このコメントは管理人のみ閲覧できます
2010.09.22 Wed 21:12 [Edit]
     /  [URL] #qbIq4rIg
非表示でコメントしてしまいました。
お手すきの際にでも対応していただければ幸いです。
2010.09.22 Wed 21:30 [Edit]
     /  寝込み屋 [URL] #6GgKOieI
間違ってSecretモードで書込みされたようなので引用させていただきますね。

> 各行の先頭にstartをつければ最新版でも動きますよ。
> 初期状態で作成されるバッチを例にとると、以下の通りになります。
>
> cd "C:\Documents and Settings\test\デスクトップ\softalk"
> start SofTalk.exe /T:2 /S:100 /V:20 /R:C:\Documents and Settings\test\デスクトップ\softalk\000_ダミーボイスてすとフォルダ名\vtestfilename_028.wav /W:テスト文章
> start SofTalk.exe /T:2 /S:100 /V:20 /R:C:\Documents and Settings\test\デスクトップ\softalk\000_ダミーボイスてすとフォルダ名\vtestfilename_069.wav /W:ちゃんとパースできるか
>
> あと公式サイトが移転しました。
> www35.atwiki.jp/softalk/

おお、なんと!FAQでも確認しました。
www35.atwiki.jp/softalk/pages/16.html#id_2873235a
これ、いつから載ってたんでしょう?見落としてただけかな……。
ともかく、情報ありがとうございます。
近いうちに対応……できればいいなぁ……。
2010.09.23 Thu 02:20 [Edit]
    管理人のみ閲覧できます  /  [] #
このコメントは管理人のみ閲覧できます
2011.05.30 Mon 13:06 [Edit]
     /  寝込み屋 [URL] #-
どうもはじめまして。
ライセンスについて特に表記してなかったですが、
・お金を取るようなアプリケーション
・アプリケーションを公開したのにソースを公開しない
・第三者の改変禁止
・第三者が改変したものの公開禁止
上記四点にあてはまらないのなら、自由にしてもらって問題ありません。
もちろん公開・再配布OKです。

改造されたものをちょっと見させていただきましたが、直接生成できそうな感じでよさそうですね。
公開されたらURLを教えていただけると助かります。
2011.06.01 Wed 00:52 [Edit]
    管理人のみ閲覧できます  /  [] #
このコメントは管理人のみ閲覧できます
2011.06.02 Thu 18:04 [Edit]
※コメントスパム防止の為半角httpと全角wをNGワードに設定してあります。






(編集・削除用)

 

管理者にだけ表示を許可
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Trackback
http://nekomimya.blog28.fc2.com/tb.php/173-16682c18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ブログ表示設定
横:
縦:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
プロフィール

寝込み屋(nekomimya)

Author:
寝込み屋(nekomimya)
twitter:
寝込み屋(@nekomimya)

リンクはご自由に。外すのもご自由に。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ブログ内検索
ブログ内検索(Google)
※要JavaScript、別ウィンドウで結果表示
ブログ内検索(FC2)
※検索結果が表示されないことがあり
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
最近の記事
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
最近のコメント
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
最近のトラックバック
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
月別アーカイブ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
カテゴリ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
RSSフィード
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
リンク
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FC2リンク
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    FC2カウンター
    閲覧者数合計


    現在の閲覧者数
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    最近の画像
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    検索フォーム