文書/MMM 口パク&字幕 のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
MikuMikuMoving用プラグイン『口パク&字幕』(ruche.mmm.LipAndCap.dll)の使用方法マニュアル。

#contents

*この文書について [#about-page]

この文書では、[[MikuMikuMoving用プラグイン『口パク&字幕』>ダウンロード#mmm-plugin]]の使い方を解説します。

現在は下記の環境に基づいて記載しています。

-[[MikuMikuMoving>https://sites.google.com/site/mikumikumoving/]] version 1.2.1.1
-ruche.mmm.LipAndCap.dll version 1.0

過去からの更新箇所については[[更新履歴>#history]]を参照してください。

この文書はプラグイン導入済みの環境を前提に記載されています。~
プラグインのインストール手順については同梱のreadme.txtを参照してください。

*プラグイン概要 [#about-plugin]

『口パク&字幕』では次のことが行えます。

:入力文(読み仮名)に合わせたモデルの口パクモーフ設定|
--漢字や数値入りの入力文を読み仮名に逆変換可能。(漢字はうまくいかない場合もある)
--プリセット設定によりモデル毎に異なるモーフ設定が可能。
:入力文を字幕として挿入(MikuMikuMoving標準の字幕機能を利用)|
--モデル非選択状態でも字幕のみの設定が可能。
--プリセット設定により様々な表示内容の字幕を簡単に切替可能。
--口パクと同時に設定する場合、口パク中は字幕が消えないように自動で長さ補正されます。

利用サンプルは紹介動画をご覧ください。

#nicovideo(sm20994580)

*設定開始までの手順 [#pre-edit]

+~口パクを設定したいモデルを選択します。~
なお、字幕のみ設定したい場合はモデルを選択しなくとも構いません。
#ref(pre01.png,nolink,モデル選択);
+~口パクと字幕を挿入したい位置にフレームマーカーを移動させます。
#ref(pre02.png,nolink,フレームマーカー位置設定);
+~プラグインメニューから『口パク&字幕』を選択すると[[設定画面>#dialog]]が開きます。
#ref(pre03.png,nolink,プラグインメニューの『口パク&字幕』を選択);

*設定画面 [#dialog]

**メイン画面 [#dialog-main]

メインの設定画面です。~
プリセットを準備し終えた後はこの画面だけ操作することになります。

なお、モデルを選択せずにこの画面を開いた場合、口パク関連設定(②〜⑩)は無効となり編集できなくなります。

#ref(dialog01.png,nolink,口パク&字幕);

:①「入力文」テキストボックス|
--字幕として表示する文章を入力します。改行も可能です。
--ここに入力した文章から口パク用の読み仮名を作成することもできます。
:②「口パク」チェックボックス|
--モデルに口パクを設定する場合はチェックを入れます。
--チェックを外した場合、以降の口パク関連設定値は無視されます。
:③「↓入力文を読み仮名に変換」ボタン|
--「入力文」テキストボックスの内容を読み仮名(カタカナ)に変換して「読み仮名」テキストボックスに設定します。
--「読み仮名」テキストボックスの内容は上書きされます。
--漢字や「1234」といった数値も変換してくれますが、漢字は正確に変換できない場合もあります。~
また、英単語は変換できず、アルファベットの羅列として解釈されます。(例:「the」→「ティーエッチイー」)
--接続詞の「は」や「へ」はそのまま「ハ」や「ヘ」に変換されてしまいます。~
「ハ」については手作業で「ワ」に直さないと口パクにやや違和感が出るかもしれません。
:④「自動変換」チェックボックス|
--チェックを入れた状態だと、「↓入力文を読み仮名に変換」ボタンを押さずとも、「入力文」テキストボックスの内容が変更されると自動的に「読み仮名」テキストボックスに反映されます。
:⑤「読み仮名」テキストボックス|
--口パクモーフの元となる読み仮名をひらがなまたはカタカナで入力します。
--漢字や英数字は「ん」(閉口)と同等の扱いになります。
--「。」や「,」などの文字で少し間を空けることができます。
:⑥「口パクデータ」テキストボックス|
--内部で生成された口パクデータを文字列化したものです。
--「読み仮名」テキストボックスの内容が変更されると自動的に更新されます。
--直接書き換えることはできません。
--読み仮名からの変換ルーチンについては[[読み仮名のカテゴリ>#detail-lip-category]]や[[拗音や連続母音の変換処理>#detail-lip-small-vowel]]を参照してください。
:⑦プリセット選択コンボボックス(口パク)|
--「あ」〜「お」の口形状に対してどのようなモーフを設定するか定めたプリセットを選択します。
--既定では「デフォルト」しかありませんが、[[口パクプリセット編集画面>#dialog-lip]]で自由に追加・変更できます。
--モデルによって最適な口形状は異なるため、基本的にはモデルの数だけプリセットを作成することになります。
--メイン画面を開いた直後は、対象モデルに対して前回適用したプリセットが初期選択された状態になります。
---これにより、複数モデルを並行して口パクさせる場合にもスムーズに編集できます。
:⑧「プリセット編集」ボタン(口パク)|
--[[口パクプリセット編集画面>#dialog-lip]]を開きます。
:⑨長さ種別コンボボックス(口パク)|
--口パクのフレーム数設定方法を選択します。
--「1音あたり」を選択した場合、1音分の口パクにかかるフレーム数を長さフレーム数アップダウンで設定します。
---文字種別や長音などにより長さは前後するため、読み仮名の文字数から総フレーム数を単純計算することはできません。
--「入力文全体で」を選択した場合、読み仮名すべてを読み終えるまでのフレーム数を長さフレーム数アップダウンで設定します。
---読み仮名の文字数に対してフレーム数が少なすぎる場合、超過分は切り捨てられます。(OKボタン押下時に確認されます)
---既存のボイスデータの長さに合わせて口パクさせたい場合に便利かもしれませんが、1音あたりのフレーム数を均等に割り振るだけであるため、ボイスデータが長いほど口パクとのタイミングがずれやすくなります。
:⑩長さフレーム数アップダウン(口パク)|
--長さ種別コンボボックスで選択した長さ種別に応じたフレーム数を入力します。
:⑪「字幕」チェックボックス|
--字幕を挿入する場合はチェックを入れます。
--チェックを外した場合、以降の字幕関連設定値は無視されます。
:⑫プリセット選択コンボボックス(字幕)|
--字幕の位置やフォントなどの設定値を定めたプリセットを選択します。
--既定では「デフォルト」しかありませんが、[[字幕プリセット編集画面>#dialog-cap]]で自由に追加・変更できます。
--メイン画面を開いた直後は、対象モデルに対して前回適用したプリセットが初期選択された状態になります。
:⑬「プリセット編集」ボタン(字幕)|
--[[字幕プリセット編集画面>#dialog-cap]]を開きます。
:⑭「位置を上書き→」チェックボックス|
--字幕プリセットの設定値のうちX位置とY位置を上書きしたい場合はチェックを入れます。
:⑮「X位置」アップダウン&br;⑯「Y位置」アップダウン|
--「位置を上書き→」チェックボックスをチェックした場合に、上書きするX位置とY位置を入力します。
:⑰長さ固定フレーム数アップダウン&br;⑱長さ可変フレーム数アップダウン|
--字幕の表示フレーム数を入力します。
--フレーム数は ⑰の値+入力文の文字数×⑱の値 により決定されます。
--口パクと同時に設定する場合、口パクの総フレーム数よりも字幕の表示フレーム数が短くならないように補正されます。
:⑲フェードインフレーム数アップダウン&br;⑳フェードアウトフレーム数アップダウン|
--字幕のフェードインおよびフェードアウトにかかるフレーム数を入力します。
--両者の合計値が字幕の表示フレーム数より長くなる場合、比率を保ったままフレーム数が短縮されます。

**口パクプリセット編集画面 [#dialog-lip]

[[メイン画面>#dialog-main]]の口パクプリセット編集ボタンを押すことで表示される画面です。

#ref(dialog02.png,nolink,口パクプリセット編集);

:①プリセットリスト|
--既存のプリセットの一覧が表示されます。
:②「↑」ボタン&br;③「↓」ボタン|
--選択中のプリセットのリスト内での位置を前後させます。
:④「編集 >>」ボタン|
--選択中のプリセットの内容を「プリセット名」テキストボックスおよび各モーフ設定ページに反映させます。
--現在のプリセット名および各モーフ設定は完全に上書きされます。
:&#9316;「<< 適用」ボタン|
--「プリセット名」テキストボックスおよび各モーフ設定ページの内容でリストを更新します。
--既存のプリセット内に同じプリセット名が存在する場合、確認後に上書きします。
--新しいプリセット名の場合はプリセットが新規登録されます。
:&#9317;「×削除」ボタン|
--選択中のプリセットを削除します。
:&#9318;「プリセット名」テキストボックス|
--編集中のプリセットの名前を指定します。
:&#9319;口形状タブ|
--口形状を表すタブページです。
--口形状は「あ」〜「お」および「閉口」がありますが、「閉口」については編集できず、必ずモーフ無しとなります。
:&#9320;モーフ設定ページ|
--口形状タブで選択した口形状に対してどのようにモーフを付けるかを指定します。
--1つの口形状に対して最大10個までモーフ名とそのウェイト値(0.00〜1.00)を指定できます。
--モーフ名が空欄のものは無視されます。
--[[モデルに存在しないモーフの扱い>#detail-lip-invalid-morph]]も参照してください。
--口形状の表示確認にはMikuMikuMoving作者様が開発した [[Face And Lips>https://sites.google.com/site/moggproject/home]] というツールがとても便利です。

**字幕プリセット編集画面 [#dialog-cap]

[[メイン画面>#dialog-main]]の字幕プリセット編集ボタンを押すことで表示される画面です。

#ref(dialog03.png,nolink,字幕プリセット編集);

:&#9312;プリセットリスト|
--既存のプリセットの一覧が表示されます。
:&#9313;「↑」ボタン&br;&#9314;「↓」ボタン|
--選択中のプリセットのリスト内での位置を前後させます。
:&#9315;「編集 >>」ボタン|
--選択中のプリセットの内容を「プリセット名」テキストボックスおよび字幕設定ページに反映させます。
--現在の字幕設定は完全に上書きされます。
:&#9316;「<< 適用」ボタン|
--「プリセット名」テキストボックスおよび字幕設定ページの内容でリストを更新します。
--既存のプリセット内に同じプリセット名が存在する場合、確認後に上書きします。
--新しいプリセット名の場合はプリセットが新規登録されます。
:&#9317;「×削除」ボタン|
--選択中のプリセットを削除します。
:&#9318;「プリセット名」テキストボックス|
--編集中のプリセットの名前を指定します。
:&#9319;字幕設定ページ|
--字幕の位置やフォントといった各種パラメータを指定します。
--位置やサイズの指定に関しては[[字幕プリセットの位置・サイズ設定>#detail-cap-pixel]]も参照してください。
--位置やフォントサイズについてはここで細かく指定するよりも、字幕を挿入してしまってから本体側で修正する方が手っ取り早いかもしれません。

*その他詳細 [#detail]

**読み仮名のカテゴリ [#detail-lip-category]

読み仮名は1文字ごとに次の表に従ってカテゴライズされ、口パクデータに変換されます。

|~カテゴリ名|~説明|~カテゴライズされる読み仮名|h
|LEFT:~ア|普通の「あ」。直前の口形状から直接遷移する。&br;直前の口形状も「あ」の場合、遷移する前に口を3割閉じる。|アカサタナハヤラガザダァャヵ|
|LEFT:~イ|普通の「い」。直前の口形状から直接遷移する。&br;直前の口形状が「い」の場合も特に口を閉じたりはしない。|イキシチニヒリギジヂィ|
|LEFT:~ウ|普通の「う」。直前の口形状から直接遷移する。&br;直前の口形状も「う」の場合、遷移する前に口を1割閉じる。|ウクスツヌフユルグズヅゥュ|
|LEFT:~エ|普通の「え」。直前の口形状から直接遷移する。&br;直前の口形状も「え」の場合、遷移する前に口を3割閉じる。|エケセテネヘレゲゼデェヶ|
|LEFT:~オ|普通の「お」。直前の口形状から直接遷移する。&br;直前の口形状も「お」の場合、遷移する前に口を3割閉じる。|オコソトノホヨロゴゾドォョ|
|LEFT:~マ|口形状は「あ」だが、遷移する前に口を閉じる。|マバパ&#12535;|
|LEFT:~ミ|口形状は「い」だが、遷移する前に口を閉じる。|ミビピ&#12536;|
|LEFT:~ム|口形状は「う」だが、遷移する前に口を閉じる。|ムブプヴ|
|LEFT:~メ|口形状は「え」だが、遷移する前に口を閉じる。|メベペ&#12537;|
|LEFT:~モ|口形状は「お」だが、遷移する前に口を閉じる。|モボポ&#12538;|
|LEFT:~ワ|口形状は「あ」だが、遷移する前に口を半分閉じる。|ワヮ|
|LEFT:~ヰ|口形状は「い」だが、遷移する前に口を半分閉じる。|ヰ|
|LEFT:~ヱ|口形状は「え」だが、遷移する前に口を半分閉じる。|ヱ|
|LEFT:~ヲ|口形状は「お」だが、遷移する前に口を半分閉じる。|ヲ|
|LEFT:~長音|直前の口形状を1音分継続させる。|ーー〜〜|
|LEFT:~促音|~|ッ!!|
|LEFT:~持続|直前の口形状から1音分ゆっくり閉口する。&br;持続系カテゴリ文字が連続すると更にゆっくり閉口する。|‥…―|
|LEFT:~持続x0.5|直前の口形状から半音分ゆっくり閉口する。&br;持続系カテゴリ文字が連続すると更にゆっくり閉口する。|・・|
|LEFT:~閉口x1.5|1.5音分の長さだけ口を閉じる。|。.?;;::_|
|LEFT:~閉口|1音分の長さだけ口を閉じる。|ン、, (および全角スペース、改行)|
|LEFT:~閉口x0.5|半音分の長さだけ口を閉じる。|., (および半角スペース)|

どこにもカテゴライズされない読み仮名(漢字、英数字、記号など)は「閉口」カテゴリとして扱われます。

ただし、拗音(ャュョ等)や連続する母音(「アアア」等)については、このカテゴライズよりも前に[[拗音や連続母音の変換処理>#detail-lip-small-vowel]]が適用されます。

**拗音や連続母音の変換処理 [#detail-lip-small-vowel]

読み仮名を口パクデータに変換する際、[[読み仮名のカテゴリ>#detail-lip-category]]を分けるよりも前にこれらの処理が行われます。

***拗音の単音化または大文字化 [#detail-lip-small-conv]

拗音(ャュョ等)を、その直前の文字に応じて単音化または大文字化します。

:単音化|拗音と合わせて1音扱いとなる文字の組み合わせを、同等の口形状となる単体文字に変換します。~
例えば「ファ」を「ハ」に、「キャ」を「カ」に変換します。
:大文字化|拗音と合わせても1音にならない場合、拗音を大文字化します。~
例えば「マァ」を「マア」に、「ドャ」を「ドヤ」に変換します。

単音化する組み合わせの一覧表は次の通りです。~
この表に無い組み合わせの場合は大文字化されます。

|~拗音文字|~直前の文字|~変換される文字(直前の文字に対応)|h
|LEFT:~ァ|フブヴ|ハバ&#12535;|
|LEFT:~ィ|フブヴ|ヒビ&#12536;|
|LEFT:~ゥ|>|(無し)|
|LEFT:~ェ|フブヴ|ヘベ&#12537;|
|LEFT:~ォ|フブヴ|ホボ&#12538;|
|LEFT:~ャ|キシチニヒミリギジヂビピ|カサタナハマラガザダバパ|
|LEFT:~ュ|キシチニヒミリギジヂビピ|クスツヌフムルグズヅブプ|
|LEFT:~ョ|キシチニヒミリギジヂビピ|コソトノホモロゴゾドボポ|

***連続母音の長音化 [#detail-lip-vowel-conv]

連続する母音を長音に変換します。~
次の表にいくつか例を示します。

|~読み仮名|~変換された読み仮名|h
|アアアア|アーーー|
|ヒイイイ|ヒーーー|
|ウーウー|ウーーー|
|ベエー|ベーー|
|モーオー|モーーー|

**モデルに存在しないモーフの扱い [#detail-lip-invalid-morph]

選択した口パクプリセットにおいて対象モデルに存在しないモーフ名が指定されていた場合、その指定は無視されます。

ただし''モーフ名「え」だけは例外''で、対象モデルに「え」のモーフが存在しない場合、「あ」と「い」のモーフにウェイト値を半分にして割り振られます。~
例えば【モーフ名:え/ウェイト値:0.80】としていた場合、【モーフ名:あ/ウェイト値:0.40】と【モーフ名:い/ウェイト値:0.40】の2つを指定している状態と同じになります。

既に「あ」や「い」を指定している場合はそこにウェイト値が加算されます。~
対象モデルに「あ」や「い」のモーフも存在しない場合は他のモーフと同様に無視されます。

「え」を「あ」と「い」の合成で代用するモデルが多く存在するため、このような処理になっています。

**字幕プリセットの位置・サイズ設定 [#detail-cap-pixel]

字幕プリセットの設定には、位置やサイズをピクセル単位で指定するものがいくつかあります。

-X位置
-Y位置
-行間
-字間
-縁取り幅
-影距離

これらの指定値は、''編集スクリーンのサイズではなく、本体設定の「出力スクリーンサイズ」を基準として計算されます。''

つまり例えば出力スクリーンサイズを 400x300 に設定しており、編集スクリーンのサイズをその倍の 800x600 にして編集している場合、プリセットで指定した位置・サイズ値も倍になって編集スクリーンに反映されます。~
プリセットで字幕のX位置を 50 と指定していた場合、編集スクリーン上ではX位置は 100 となるわけです。~
当然ながら、実際に動画や静止画として出力する際には指定通りの位置・サイズで出力されるようになります。

ただし、MikuMikuMovingの仕様(version 1.2.1.1 時点)により、字幕配置後に編集スクリーンのサイズを変更すると、XY位置以外は正しく追従してくれません。~
字幕を用いる場合、編集スクリーンのサイズは変更しないようにしましょう。~
また、最初から出力スクリーンサイズと編集スクリーンのサイズを揃えておくことを強く推奨します。(MikuMikuMovingのマニュアルでも推奨されています)

*更新履歴 [#history]

:2013-05-30|
--初版。