リップシンク支援Pythonスクリプト RPPtoEXO(Lyric) (REAPER→Aviutl)

皆さんごきげんよう。まいまいです。

今回は、人力系音MADで多用する表現のリップシンク(歌声に合わせて口の形を変える表現)を一部自動化するPythonスクリプトを作ったので公開します。

今回作ったスクリプトは、Pythonの実行環境が必要になります。GUIとか作って使いやすいようにすることもできましたが、面倒なのでパスです。sry

概要

今回作ったスクリプトは、REAPERのプロジェクトファイル内の歌詞情報を参照し、歌詞の母音に対応した動画ファイルをタイミングを合わせて配置したEXOファイル(Aviutlで利用できる形式)を生成するものです。

ダウンロードは私のGithubページから可能です。

GitHub – maimai22015/RPPtoEXO-Lyric-: 自動リップシンクスクリプト(REAPER,Aviutl使用)
自動リップシンクスクリプト(REAPER,Aviutl使用). Contribute to maimai22015/RPPtoEXO-Lyric- development by creating an account on GitHub.
github.com
No Image

事前準備

まず前提としてPythonの実行環境を用意してください。追加で導入が必要なライブラリは無いはずです。

Python実行環境が無い人向けにGoogle collabのノートを作るかも知れませんが期待しないでください。

REAPER上での準備

まず、MIDIを用意します。

テーマ適用してるのでちょっと画面違います

矢印で記したボタンを押して楽譜エディタを開きます。

適当な音符を選択し、右クリックから歌詞を選び、音符ごとに歌詞をひらがなで入力します。

音符ごと、ひらがなの入力じゃないと生成に失敗します。

次に、MIDIを選択して、midi2itemスクリプトを実行し、メディアオブジェクトを生成します。

ここまでできたらREAPER上での準備は完了です。

ちなみに、スクリプトで見ているのは歌詞のテキストと、メディアオブジェクトの開始・終了タイミングだけなので、MIDIの音程や音符の位置はどうでもいいです。MIDIなんて作ってないよって人は、空のMIDIアイテムを一番上のトラックに配置し、メディアオブジェクトの数だけ適当な長さの音符を配置して歌詞を入力してください。

スクリプトの設定

現時点で一般公開向けに親切な設計にしていないので、実行の前にスクリプトを直接弄ることが必須になります。

GithubからDLしたファイル群のうち、setting.pyをテキストエディタで開きます。

次のように書き換えてください。

RPPpath = r"RPPファイルのあるパス"
TEMPLATEPath = r"template.exoのパス"
LIPPath = r"あ、い、う、え、お、んの形の口パクの動画ファイルのパス。フォルダのパス\*.aviと設定。"
ExportPath = "書き出す先のexoファイル"
FPS = 60

これで準備完了です。

実行

script.pyを実行してください。setting.pyで設定したexoファイルが生成されるはずです。

細々した説明

透過avi以外で実行しようとするとエラーが出るので、templete.exoを編集して、二箇所の「アルファチャンネルを読み込む=1」を「アルファチャンネルを読み込む=0」に書き換えてください。

他にもtemplete.exo編集すると好きなようにできます。書かれてる内容から察して編集してください。


なんか他に書くべきことがあった気がするけど思い出せないので終わります。思い出したら追記する。

ノシ

コメントする?

メールアドレスが公開されることはありません。