DaVinci Resolveでボイロなどの合成音声を使った動画を作る際、多くの場合は音声だけではなく、その音声に合わせて字幕やキャラの画像を表示するよう設定が必要になる。
これが地味に手間が掛かって……。その手間を減らすための動画編集ソフトも存在する。
今回はその手間を減らすためのスクリプトを、DaVinci Resolveという動画編集ソフト向けに作成したので、使い方などについて書き記す。
もくじ
できること
- 既存の音声ファイルと文字列、画像を、DaVinci Resolveで現在表示しているタイムライン上に配置する。
- Voicevoxを利用して音声を生成し、生成した音声と字幕を画像と一緒にタイムライン上に配置する。
- キャラごとに画像位置、文字位置、文字色などを設定し、反映する。
必要なもの
DaVinci Resolve
プロユースにも耐えるという動画編集ソフト。動画編集だけでなく、色調整や音編集、VFX作成などもできる高性能さらしい。
以下からDLする。
https://www.blackmagicdesign.com/jp/products/davinciresolve
Python
プログラム言語。今回作成したスクリプトを動かすために必要。
以下からDLする。
https://www.python.org/downloads/
VoiceInserter
今回作成したスクリプト。名称募集中。
以下から、VoiceInserter_install.zipをダウンロードする。
https://github.com/GlintAugly/VoiceInserter/releases

DLしたzipを解答して、その中にあるinit.batを右クリック、「管理者として実行」を左クリックする。

ウィンドウが出てしばらくすると、Voicevoxなどの利用規約が出るので、画面上の指示に従って、同意、あるいは不同意する(不同意であっても、後述の既存音声ファイルの配置は行えます)。
ウィンドウが消えるとインストールは完了。
使い方
DaVinci Resolveのプロジェクトを開き、上部のメニューから[ワークスペース]->[スクリプト]->[VoiceInserter]をクリックする。

(初回のみ)キャラ名を入力するように言われるので、好きな文字列を入れる。(各種パラメーターの「セーブファイル名」のようなものなので、自分が喋らせるキャラと同じ名前にしておくと分かりやすいと思います)。

起動するので、画像の設定をしたり、各種パラメーターをイジったり、話したい文字列を入力したり、外部で作成した音声ファイルを設定したりして、右下の「挿入」を押すと、現在のタイムラインの現在時間上から、音声が終了するまで、音声・字幕・画像が表示されるように設定される(字幕・画像は表示しないようにも出来る)(画像は音声が終了しても表示し続けるようになっているが、音声終了とともに非表示にも出来る)。
挿入するトラックは、<キャラ名>Text、<キャラ名>Image、<キャラ名>Voiceにそれぞれ挿入する。キャラ名が異なる場合は、再生区間がかぶっても問題ないが、同じキャラ名で別の音声を挿入しようとすると、意図しない結果になる可能性が高い。
パラメーターに対するプレビュー機能が存在しないので、初回挿入時には画像パラメーターや字幕のパラメーターをあえていじらずに、表示画像の設定と音声パラメーター周りだけ調整した状態で「挿入」ボタンを押して、挿入された画像や字幕の、DaVinci Resolve内の対応するパラメーターを調整し、「タイムラインから取得」ボタンを押してそのパラメーターをスクリプト側に反映することで、2回目以降の挿入でパラメーターをあまりいじらないで良いようにするのが良いと思う。どのパラメーターがどこに対応しているかについては、以下「画面説明」中に記載している。

画面説明(数字は上画像の赤字と連動している)
1.fileメニュー 現在は「新規キャラ追加」のみある。選択すると、初期設定画面と同じウィンドウが開き、名前を入力することで現在の画面とは別にパラメーターが保存できるタブが追加される。2人以上のキャラを使い分ける時に使用するといいはず。
2.キャラクタータブ 「新規キャラ追加」をすることで増えていく。このタブごとにパラメーターなどが保存される。
・画像まわり
3.画像プレビュー 現在選択されている表情のキャラ画像のプレビュー
4.表情設定リスト キャラ画像を選択する。Noneはデフォルトで存在して、画像を表示しないことになる。それ以外は、5.の表情追加で追加したキャラ画像が挿入されることになる。
5.表情追加 表情名を入力して「表情追加」ボタンを押すと、画像選択ウィンドウが出てくる。ここで選択した画像と表情名を紐付けて、4.表情設定のリストに追加する。実は表情名を入力しないで「表情追加」ボタンを押せば、画像選択後に表情名を入力出来る。この方が入力しやすいかも。
6.口パク表情追加ボタン 口パクをさせる場合に、「口を開いた」画像を設定する。口パク表情は、表情ごとに設定される。音声のボリューム比をによって、喋っていると判定された場合に、表情の上に重ねる形で表示される。基本的には表情と同じサイズを想定しているが、口だけの小さい画像を、位置を調整して表示することも可能。口パク表情を追加すると、位置調整のためのオフセット入力と口パク画像削除ボタンが出てくる。位置調整のオフセットは、Fusion設定中、Transform1ノードの[変形]/[センター]の値に対応している。
7.選択中の表情削除ボタン 選択中の(プレビューにでている)表情をリストから削除する。口パク表情を追加している場合、その情報も削除する。
8.挿入座標 画像を挿入する座標を指定する。「反転」にチェックが入っていると、画像を反転して表示する(当然ながら非対称なアクセサリーなどに注意)。タイムラインプロパティ上の[変形]/[位置]、[変形]/[反転]に対応
9.拡大率 画像を拡大/縮小して表示する。倍率なので、縮小させたい場合は0以上1未満の数字を入れる。タイムラインプロパティ上の[変形]/[ズーム]に対応
10.話している間だけ表示チェック チェックが入れられると、音声の終了フレームで表示もやめるように挿入する。ふと出てきてツッコミ終わったら消える、みたいな演出の時はチェックを入れる想定。チェックが外れていると、音声が終わった後にも同じ表情画像が表示され続けるようになっている。
11.タイムラインから取得 挿入座標と反転オプション・拡大率のパラメーターを、タイムラインの表示している画像クリップの対応しているパラメーターから取得する。まずはパラメーター設定せずに挿入して、位置などをタイムライン上で調整してからこのボタンを利用するのが良さそう。※口パク表情のオフセットは取得しないことに注意
・字幕周り
12.フォント・スタイル 表示する字幕のフォント・スタイルを設定する。フォントによっては日本語表示に対応していないこともあるので注意が必要(プレビュー表示はない)。Fusion設定中、Text1ノードのの[テキスト]タブ、[テキスト]/[フォント]に対応
13.文字揃え 特に複数行に表示する場合に、どこで揃えて表示するかを設定する。座標・文幅からも影響を受けるので注意。Fusion設定中、Text1ノードの[テキスト]タブ、[テキスト]/[アンカー(横)]に対応(左が-1、中央が0、右が1)
14.座標 字幕を表示する座標。タイムラインプロパティ上の[変形]/[位置]に対応。
15.文字サイズ・文幅 文字サイズおよび文の幅を設定する。文の幅は、自動改行が入るまでの幅のことで、スクリーンサイズに対する割合で設定する(1.0にすると画面ギリギリまで表示出来る)文字サイズはFusion設定中、Text1ノードの[テキスト]タブ、[テキスト]/[サイズ]に対応。文幅はFusion設定中、Text1ノードの[レイアウト]タブ、[レイアウト]/[幅]に対応([種類]がTextBoxでないと表示されない)
17.色(RGB)選択ボタン 文字色選択ウィンドウを表示するためのボタン。設定した値にボタンの色が変わる(黒にするとボタン上の文字が潰れるので注意)。Fusion設定中、Text1ノードの[テキスト]タブ、[テキスト]/[カラー]に対応。
18.枠線(内側)設定 文字を縁取りしたい場合、「有効化」にチェックを入れる。太さと色を設定出来る(色は黒にするとボタン上の文字が潰れるので注意)。Fusion設定中、Text1ノードの[シェード]タブ、[シェーディングエレメント]/[エレメントを選択]を2にした時の、[プロパティ]/[太さ]と[プロパティ]/[カラー]に対応([プロパティ]/[外観]は左から2番目)。
19.枠線(外側)設定 文字を縁取りして、さらにその外側を縁取りしたい場合、「有効化」にチェックを入れる。太さと色を設定出来る(色は黒にするとボタン上の文字が潰れるので注意)。枠線(内側)設定が無効化状態の場合は、枠線(内側)と同じように働く。Fusion設定中、Text1ノードの[シェード]タブ、[シェーディングエレメント]/[エレメントを選択]を5にした時の、[プロパティ]/[太さ](ただし、枠線(内側)で設定した太さを足した値になっている)と[プロパティ]/[カラー]に対応([プロパティ]/[外観]は左から2番目)。
20.影設定 文字に影を入れる場合、「有効化」にチェックを入れる。文字位置を(0, 0)基準にした、影の位置と影文字のサイズ(文字との比率)、影の色を設定出来る(色は黒にするとボタン上の文字が潰れるので注意)。Fusion設定中、Text1ノードの[シェード]タブ、[シェーディングエレメント]/[エレメントを選択]を6にした時の、[位置]/[オフセット]が位置、[サイズ]/[X]および[Y]が影文字サイズに、[プロパティ]/[カラー]が影色に対応([プロパティ]/[外観]は一番左)。
20.タイムラインから取得 12~19のパラメーターを、タイムライン上で現在表示している字幕の対応するパラメータから取得して上書きする。まずはパラメーター設定せずに挿入して、位置などをタイムライン上で調整してからこのボタンを利用するのが良さそう。
21.字幕を挿入する チェックが入っていると、音声挿入時に字幕を挿入する。心の声などで字幕を表示しないようにしたい場合、チェックを外すとよい。
・音声関係
22.voicevox出力タブ voicevoxを利用して音声を作成する場合に選択する。インストール時にvoicevoxを選択していなかった場合は表示されない。
23.既存ファイル使用タブ このスクリプトとは関係なく音声を作成した場合(VOICEROIDを使用しているなど)に選択する。下記画面のような表示がされる。「ファイル選択」から音声を選択し、「挿入」を押すと、現在選択されているフレームが開始となるように挿入される(字幕は選択したファイルと同名.txtファイルを探し、その中身を利用する)。音声はwavファイルのみ対応。

24.ボイスキャラおよびスタイル選択 voicevoxのキャラとスタイルを選択する。疑問文時の文末上げは正直よく分かってない。
25.各種パラメーター voicevoxのパラメーターを調整する。VOICEVOXクライアントの右側に表示されているものと同じ。
26.出力先フォルダ選択 作成した音声ファイルが出力される先を設定する。出力されるタイミングは「挿入」ボタンを押した時で、話す文字列がファイル名になる。
27.話す内容のダイアログ 話させる文章を入力する。
28.再生ボタン 27似文章を入力した後に押すと、音声データが作成されて再生される。
29.アクセント等設定 作成された音声データのアクセント・イントネーション・長さを設定する。基本的にはVOICEVOXクライアントの下部分で設定出来るものと同じだが、アクセント設定が「イントネーション」設定画面に映っている(各文字の上のラジオボタン)アクセント句分割は「><」ボタン(イントネーション設定画面のみ)、アクセント句結合は「<>」ボタン、アクセント句削除は「削除」ボタンで行う。
30.辞書編集ボタン 辞書編集ウィンドウを表示するボタン。基本的な機能はVOICEVOXクライアントの[設定]->[読み方&アクセント辞書]の機能と同じ(はず)。
31.秒数表示 現在作成されている音声データの再生秒数。「再生」ボタンを押した後に話速やイントネーションなどを変更した場合、再度「再生」ボタンを押さないと更新されない。特定フレーム間に発言を抑えたい場合に参考にする。
32.挿入ボタン 音声データを出力先フォルダにwavファイルとして出力し、これまで設定した画像・字幕パラメーターに従って、画像・字幕・音声をタイムラインの現在時間上に挿入する。「再生」ボタンを押さずに「挿入」ボタンを押した場合、このタイミングで音声データを作成する。
コメント