imadedede のブログ

今出川潤の出張所。

yukktalk の処理を助けるツールを作ってみた

ゆっくいち!

これは、動画製作ソフト yukktalk の Step1 での作業を補助するためのツールです。
ダウンロード

2012/10/28 更新

ver.1.3.0
・字幕
 形態素改行。
・そのほか
 辞書サイズを改善。台本タイトルを台本のファイル名から取得。

インストール

Vista 以降の人は、解凍してすぐ使えます。

Windows XP 以前の人は .NET 2.0 が必要です。
たぶんここらへん
http://www.microsoft.com/ja-jp/download/details.aspx?id=1639
http://www.microsoft.com/ja-jp/download/details.aspx?id=5913

アンインストールはゴミ箱に捨てるだけです。

あと前提として、 yukktalkAviUtl棒読みちゃんがインストール済みの環境を想定してます。

使い方

1. 台本テキストを用意します。
2. 台本テキストを EXE ファイルにドラッグ&ドロップします。
3. できたファイルを見直して、足りない部分を書き足します。
4. yukktalk の Step2 に進みます。

複数ファイルを同時に投げてもオッケーです。
たぶん「送る」に登録しても動くと思います。


台本テキストの書式について

台本の素.txt を実際に変換してみればだいたいわかると思います。
わかった人はこのセクションを読む必要ないです。

この「ゆっくいち!」は、普通に書いたシナリオを yukktalk で使えるように変換できればいいなあ、と思ったのが開発の動機です。
なので、だいたい一般的なシナリオの書き方に沿っていると思います。
具体的に例を挙げてみます。

カギ括弧

ゆっくり霊夢「ゆっくりしていってね!」

こう書いたときは、カギ括弧の手前を発言者として抜き取り、カギ括弧の内側を発言内容として抜き取っています。
字幕にも棒読みちゃん用台本にも、カギ括弧の中身が渡されます。

◆ゆっくり霊夢
[字幕]ゆっくり霊夢
[字幕]ゆっくりしていってね!
[音声]ゆっくりしていってね!

まる括弧

ゆっくり霊夢(どういうことなの……?)

こう書いたときは、マル括弧の手前を発言者として抜き取り、マル括弧つきの台詞を字幕として抜き取り、マル括弧の内側を棒読みちゃん用台本として抜き取っています。

◆ゆっくり霊夢
[字幕]ゆっくり霊夢
[字幕](どういうことなの……?)
[音声]どういうことなの……?

カギ括弧付きの字幕

もし字幕をカギ括弧付きで表示したいときは

ゆっくり霊夢:「ゆっくりしていってね!」

のように、カギ括弧と名前の間に全角コロンを挟んで下さい。これで、字幕にはカギ括弧つきで表示されるはずです。

◆ゆっくり霊夢
[字幕]ゆっくり霊夢
[字幕]「ゆっくりしていってね!」
[音声]ゆっくりしていってね!

名前にまる括弧つき

では、次のようなときはどう変換されるでしょうか。

村人(ゆっくり霊夢)「なんでしょうかな」

これは、このように変換します。

◆ゆっくり霊夢
[字幕]村人(ゆっくり霊夢)
[字幕]なんでしょうかな。
[音声]なんでしょうかな。

個人的に、動画の制作中に悩んだのはこういう表記のときです。このときは、発言者の括弧の内側を発言者として抜き出し、そして皮とゆっくり霊夢の声を統一しました。
ですがニコニコで他の方の動画を拝見している限り、それをあえて別々にする方も見受けられます。なので、そこらへんは設定で変えられるようになってます。


設定.txt について

書いてあるとおりです。
いろいろいじってみて下さい。
上記の作例では常に発言者を字幕表示しておりますが、設定で消すことはできます。

その他

MeCab 対応などは Python 版の方を使って下さい。他にもあっちの方が高機能な気がします。
将来的にはたぶんこっちも対応するんじゃないかな、とは思います。

2012年10月2日追記

棒読みちゃんの台詞部分の読み解析機能つきました。

たぶん今はあっちの Python スクリプトよりもこっちの方が高機能です。

サポート

とりあえずここのコメント欄にでも。


ツイッターとかはこらら
@imadedede

使用したライブラリなど

カタカナひらがな変換

kanaxs_ex-1.0.1.cs

http://wiki.dobon.net/index.php?free%2FkanaxsCSharp#extension

Copyright (c) 2011, DOBON! http://dobon.net
kanaxs_ex-1.0.1.cs は 修正 BSDライセンスで保護されています。

形態素解析

LibNMeCab.dll

http://sourceforge.jp/projects/nmecab/

NMeCab was ported from MeCab by Tsuyoshi Komuta, and is released under
any of the GPL (see the file GPL) or the LGPL (see the file LGPL).

MeCab is copyrighted free software by Taku Kudo and
Nippon Telegraph and Telephone Corporation, and is released under
any of the GPL (see the file GPL), the LGPL (see the file LGPL), or the
BSD License (see the file BSD).

LibNMeCab.dll は GPL / LGPL のデュアルライセンスで保護されています。
「ゆっくいち!」では LGPL にのっとり、動的なリンクで利用しています。

形態素解析用辞書

NAIST Japanese Dictionary

http://sourceforge.jp/projects/naist-jdic/

Copyright (c) 2009, Nara Institute of Science and Technology, Japan.
NAIST Japanese Dictionary は広告条項無しの BSD ライセンスで保護されています。

バージョン履歴

New! 2012/10/28 ver.1.3.0 ダウンロード
・字幕
 形態素改行。
・そのほか
 辞書サイズを改善。台本タイトルを台本のファイル名から取得。

2012/10/09 ver.1.2.0
・字幕
 半角文字は文字幅0.5として計算する設定を追加。

2012/10/03 ver.1.1.0
・そのほか
 設定.txt の読み込みを改善。
 読み解析と形態素置換の設定を改善。

2012/10/02 ver.1.0.0
棒読みちゃん用台本
 読み解析。形態素置換。
・そのほか
 エラーメッセージを修正。


2012/09/28 ver.0.4.1 ダウンロード
・全体
 アイコン変更

2012/09/28 ver.0.4.0
・全体
 エフェクトリスト。置換の不具合修正
・字幕
 置換の不具合修正
・設定.txt
 エフェクト設定を yukktalk 4f 台本を元に追加。

2012/09/26 夜くらい ver.0.3.0
・全体
 キャラ設定
・字幕
 表示速度の変更
・設定.txt
 キャラ設定を yukktalk 4f 台本を元に追加。
・そのほか
 台本の素を修正。設定.txt読み込みの不具合修正。

2012/09/26 ver.0.2.0
・全体
 置換。台本変換。
・字幕について
 置換。折り返し。禁則処理。はてな後空白。
棒読みちゃん用台本について
 置換
・そのほか
 初リリース

yukktalk の処理を助けるスクリプトを作ってみた

2012年10月2日追記

Windows アプリにしました。こちらをおすすめします。



yukktalk の処理を助けるスクリプトを作ってみました。

ダウンロード

ゆっくいち

yukktalk を便利にする Python スクリプトです。

これを使うと、 yukktalk の Step1 での作業が少し楽になります。

台本形式のテキストを yukktalk での Step1 の書式に変換します。

yukktalk の Step1 を助けるのでゆっくいちです。

Python 2.7.3 で動作確認してます。

使い方

Python をインストール

Windows 版。64bit でも動きますが、 MeCab (後述)を使うなら 32bit 版をインストールして下さい。
インストール後はパスを通しといてください。

Python スクリプトとして使う

コマンドプロンプトとかから Python スクリプトとして使ってください。

python yukk_ichi.py 台本テキスト.txt

ファイル名とかは適時読みかえて下さい。

できたファイルに適切なヘッダをつける

これだけだとまだ Step2 には足りないので、設定などのヘッダを手動でつけます。

◎タイトル/シーン
※共通,設定いろいろ・・・

これを追加すれば、 yukktalk の Step1 用台本として使えます。 Step2 に進んでください。

何が嬉しいの?

  • 台本を好きなエディタで書ける。
  • 字幕を自動で折り返しできる。

他にもいろいろおせっかいな機能付き。

使用例

変換前

霊夢「こんな感じで文章を書くと」
魔理沙「yukktalk書式に出力するよ!」
霊夢,効果=エコー「エコー指定だってかかるよ!」
魔理沙:「あえて括弧付きにしてみたり」
魔理沙,間=1.0「……とか間をとってみたり」
霊夢「そんな感じで変換できるよ」

変換後

◎

※魔理沙=,
※霊夢=,

◆霊夢
[字幕]霊夢
[字幕]こんな感じで文章を書くと。
[音声]こんな感じで文章を書くと
◆魔理沙
[字幕]魔理沙
[字幕]yukktalk書式に出力するよ!
[音声]yukktalk書式に出力するよ!
◆霊夢,効果=エコー
[字幕]霊夢
[字幕]エコー指定だってかかるよ!
[音声]エコー指定だってかかるよ!
◆魔理沙
[字幕]魔理沙
[字幕]「あえて括弧付きにしてみたり」
[音声]あえて括弧付きにしてみたり
◆魔理沙,間=1.0
[字幕]魔理沙
[字幕]……とか間をとってみたり。
[音声]…とか間をとってみたり
◆霊夢
[字幕]霊夢
[字幕]そんな感じで変換できるよ。
[音声]そんな感じで変換できるよ

ソースコード内で設定は変えられるので、いろいろ改造してみてください。

おまけ

MeCab 対応について

Python から MeCab を使って、音声台本の漢字の一部をカタカナに変換することができます。

Python

import MeCab

できる環境なら、 MeCab を使って棒読みちゃん用の音声台本部分を変換します。
MeCab を使うと「わ」と読む「は」と、「え」と読む「へ」は、ほぼ完璧に変換します。

UTF-8 辞書での動作確認しかしてません。

ここらへん参考にしました

ここらへんで紹介されている方法で MeCab Python をインストールするなら、 32bit Python でないとエラーがでると思います。

今後の予定

設定項目が多すぎるので GUI で設定できるようにしたい。
C# 難しい。