AUTOMATIC1111 版 Stable Diffusion WebUI の拡張機能として、音声に合わせた口パク動画を生成する AI「SadTalker」についてご紹介します。
※アイキャッチ画像は Stable Diffusion で生成しました。
SadTalkerのインストール
MacOS、Linux に SadTalker をインストールします。
まずは、AUTOMATIC1111 版 Stable Diffusion WebUI が動作することが前提になります。
インストールに付いては以下の記事をご覧ください。
FFMpegをインストールする
まず、FFMpeg が必要になります。
- FFMpeg をインストールするには Homebrew が必要になります。以下の記事を参考に Homebrew をインストールしてください。https://gift-by-gifted.com/homebrew/
- 以下のコマンドをターミナルに入力して実行してください。
brew install ffmpeg
- 以下のコマンドを実行してバージョンが表示されたら、インストール完了です。
ffmpeg -version
SadTalker Extensionのインストール
- WebUI を起動し「Extensions」タブから「Install from URL」タブを選択。
- 「URL for extension’s git repository」に下記のURLを入力し「Install」を選択しましょう。
https://github.com/Winfredy/SadTalker
- WebUI を再起動してください。
- 「SadTalker」のタブが増えていれば導入は成功です。
次に専用のモデルをダウンロードして配置します。
- 「stable-diffusion-webuiextensionsSadTalker 」フォルダ内に「checkpoints」 フォルダを新規作成します。
- 以下の Google ドライブにあるフォルダ2個、ファイル8個を全部選択してダウンロードします。
sadtalker_checkpoints - Google ドライブ
ダウンロードしたモデルは、解凍後、先ほど作成した「stable-diffusion-webuiextensionsSadTalkercheckpoints」フォルダに配置します。
- 配置したモデルを読み込ませるために WebUI を再起動します。
最後に、環境を編集します(macOS の場合)
- 「stable-diffusion-webui」フォルダにある「webui-macos-env.sh」をテキストエディタで編集します。
- 以下の1行を追加します。パスはご自分の環境に合わせて変更してください。
export SADTALKER_CHECKPOINTS=/Users/user/stable-diffusion-webui/extensions/SadTalker/checkpoints
SadTalkerの設定
UIの配置は以下の通りです。
左上:アニメーションにする画像
左下:アニメーションにする音声
右:各種設定と生成ボタン
主な設定項目は以下の通りです
Crop:顔部分を切り取って動画を生成します。
Resize:画像をリサイズして動画を生成します。
Full:フルサイズの画像で動画を生成します。
Remove head motion (works better with preprocess full
):手の動きが少なくなる設定。
Face enhancer:ぼやけた画像を修正します。動画の品質が向上しますが、所要時間が増えます。
SadTalkerの実行
- ①に喋らせたい画像をアップロードします。
- ②に喋らせたい音声をアップロードします。
- 設定をし、「Generate」を選択します。
しばらく待つと、動画が生成されます。
検証
以下の動画と音声から、
生成した動画が以下になります。
まとめ
簡単な方法でリップシンクアニメーションが生成できる、SadTalker をご紹介しました。
ただ現在では、アニメ絵などは顔のパーツ検出が難しく、エラーが出やすいです。将来的には、二次元イラストに対応し、音声学習と合わせて、好きなキャラクターデザインと声を組み合わせることが可能になるでしょう。