音声に合わせて口や頭部を動かすリップシンクを行うAI「SadTalker」をWebUI(1111)の拡張機能として導入する方法を解説していきます。
なお、動作環境はWindowsを想定しています。
この拡張機能で何ができるの?
音声に合わせた口パク動画を生成できる!!
1. SadTalkerのインストールを行う
事前準備(前提)
- WebUI(1111)が普通に動く環境
- WebUIにExtensionタブがある
拡張機能をインストールする
この拡張機能はURLを使用してインストールできます。
以下のURLをコピペしてください。
https://github.com/Winfredy/SadTalker
なお、URLを使用した拡張機能のインストール方法はこちらを参照してください。
インストールし終えたら、念のためWebUI(1111)自体を再起動します。

このようにSadTalkerが表示されたらインストール成功です。
専用のモデルをダウンロード&配置
stable-diffusion-webui/models/SadTalker
にモデルを配置していきます。
まず、モデル用フォルダ「SadTalker」を作成します。

次に、Googleドライブにアクセスし、全てダウンロードします。
どれが必須か判別できた方はそれだけで良いですが、私はわからないので全部落としました。

そしてそっくりそのまま先程のフォルダ内に配置します。

モデル配置後WebUI(1111)を再起動して、配置したモデルを読み込ませます。
(モデル更新ボタンがないので)
2. SadTalkerの各種設定
UIの配置など

- 左側の上段:リップシンクしたい画像
- 左側の下段:リップシンクしたい音声
- 右側の上段:各種設定(後述)&生成ボタン
- 右側の下段:完成した動画 or Error(二次元画像はエラー度高めです)
各種設定

- Crop:写真の顔部分を切り取り動画生成
- Resize:画像をリサイズして動画生成
- Full:画像のフルサイズでで動画生成
- Remove head motion (works better with preprocess `full`):手の動きが少ないモード
- fullを選択したときにチェックして使用可能
- 顔だけの画像に対して使うと顔の動きが少なくなる
- Face enhancer:画像のぼやけを修正するモード。
- 生成される動画の品質が向上
- 所要時間アップ
3. SadTalker実演してみる
エラーが出たんだが?!→それアニメ絵ですか?
二次元画像はエラーになりやすいです。
ターミナルに以下のようなエラーが出た場合、目鼻口などの検出に失敗しています。
IndexError: index 0 is out of bounds for axis 0 with size 0
raise 'can not detect the landmark from source image'
TypeError: exceptions must derive from BaseException
他の文言でも、エラーの原因は多分検出失敗のため、実写で試してみて下さい。
実例 preprocessの設定ごと
アニメ絵は成功例が示せなかったので、適当に去年作った画像フォルダにあった数少ない実写風を選択。

この画像をリップシンクしてみます。
なお、声:音読さんです。
- preprocess:Crop
- Face enhancement:オフ
- preprocess:Crop
- Face enhancement:オン
- preprocess:Resize
- Face enhancement:オフ
- preprocess:Resize
- Face enhancement:オン
やっぱりFace enhancementがオンのほうが格段に高クオリティです!!
オンにしても2秒の動画化で10秒程度なので常にオンで良さそうです。
Fullの時はRemove head motionをオンオフしてみます。
- Remove head motion:オフ
- preprocess:Full
- Face enhancement:オン
- Remove head motion:オン
- preprocess:Full
- Face enhancement:オン
4. 口パクAI「SadTalker」をWebUI(1111)上で動かす方法と各種設定まとめ
- リポジトリURLから拡張機能をインストール
- モデルをダウンロード&配置
- リップシンク対象の画像と音声を指定
- 色々設定してGenerate
※アニメ絵系は顔のパーツ検出ができないようで、エラーが出ることが多いです。
リアル度高めの画像を使ってみてください。
二次元イラストに対応したら、RVCの音声学習と合わせて好きなキャラデザx好きな声が実現しそうでwktkですね!!
有用な拡張機能を布教しておきます。