SadTalkerが使えない 時の対処法【Stable Diffusion WebUI】

Stable Diffusion

 

突然、 SadTalkerが使えない 状態になりました。

これに気づいたのは、2024年3月上旬。ちょうど、Stable Diffusion WebUI AUTOMATIC1111のバージョンがV1.8.0にアップデートされた時でした。

WebUIがバージョンアップされた際には、すぐにアップデートして諸々の変更や新機能などを使ってみたい筆者としては、いつもどおりにWebUIのアップデートを行い、いつもどおりに変更点や新機能を試していました。

そして、アップデートから数日後にSadTalkerのタブが表示されていないことに気づきました。

Extensionsタブで拡張機能有効化の状態を確認後にWebUIを再起動してもSadTalkerのタブは表示されません。

果たして、再びSadTalkerは使えるようになるのでしょうか?

本記事では、使えなくなったSadTalkerを使えるようにする方法を解説します。

 

 

1.エラーメッセージ

インストールしてあるはずのSadTalkerのタブが表示されない場合、コマンドプロンプトには以下のようなエラーメッセージが表示されていると思います。

このエラーは、Stable Diffusion WebUI Forgeでも発生しているようです。

*** Error executing callback ui_tabs_callback for D:\stable-diffusion-webui\extensions\SadTalker\scripts\extension.py
Traceback (most recent call last):
File “D:\stable-diffusion-webui\modules\script_callbacks.py”, line 180, in ui_tabs_callback
res += c.callback() or []
File “D:\stable-diffusion-webui\extensions\SadTalker\scripts\extension.py”, line 172, in on_ui_tabs
from app_sadtalker import sadtalker_demo
File “D:\stable-diffusion-webui/extensions/SadTalker\app_sadtalker.py”, line 3, in
from src.gradio_demo import SadTalker
File “D:\stable-diffusion-webui/extensions/SadTalker\src\gradio_demo.py”, line 6, in
from src.generate_batch import get_data
File “D:\stable-diffusion-webui/extensions/SadTalker\src\generate_batch.py”, line 8, in
import src.utils.audio as audio
File “D:\stable-diffusion-webui/extensions/SadTalker\src\utils\audio.py”, line 1, in
import librosa
File “D:\stable-diffusion-webui\venv\lib\site-packages\librosa__init__.py”, line 211, in
from . import core
File “D:\stable-diffusion-webui\venv\lib\site-packages\librosa\core__init__.py”, line 9, in
from .constantq import * # pylint: disable=wildcard-import
File “D:\stable-diffusion-webui\venv\lib\site-packages\librosa\core\constantq.py”, line 1058, in
dtype=np.complex,
File “D:\stable-diffusion-webui\venv\lib\site-packages\numpy__init__.py”, line 338, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module ‘numpy’ has no attribute ‘complex’.
np.complex was a deprecated alias for the builtin complex. To avoid this error in existing code, use complex by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.complex128 here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: ‘complex_’?

 

目次に戻る

 

2.原因

 
今回は(も)、WebUIをv1.8.0にバージョンアップしたことが原因でした。

 
「今まで普通に使用できた拡張機能が、ある日突然使えなくなる。」

このような現象は、よくあることです。

今までにも、WebUIのバージョンアップによって使えなくなった拡張機能がいくつかあります。

こんな時は、WebUIのバージョンをひとつ前(拡張機能が動いていたバージョン)にダウングレードすれば、ほぼ使用できます。

 

目次に戻る

 

3.対処法(ダウングレード)

今回の場合、WebUIのバージョンをv1.7.0にダウングレードすれば、再びSadTalkerを使用できます。手順は以下のとおりです。

※この操作は自己責任でお願いします。

 

(1)WebUIのインストールフォルダでターミナルを開く

  1. エクスプローラーでStable Diffusion WebUIをインストールしたフォルダを開きます。
  2. エクスプローラー上で右クリックし、コンテキストメニューから「ターミナルを開く」を選択します。

※コマンドでディレクトリ移動ができる方は、コマンドプロンプトやターミナルを開いて stable-diffusion-webui に移動してもOKです。

SadTalkerが使えない 時の対処法:Stable Diffusion WebUIフォルダでターミナルを開く
SadTalkerが使えない 時の対処法:Stable Diffusion WebUIフォルダでターミナルを開く

 

(2)WebUIをダウングレードする

ターミナルで以下のコマンドを実行します。

git checkout cf2772fab0af5573da775e7437e6acdca424f26e

※「cf2772fab0af5573da775e7437e6acdca424f26e」は、WebUI v1.7.0のコミットハッシュです。

 

(3)WebUIを再起動する

v1.7.0のWebUIが起動し、SadTalkerタブが表示されます。無事に動画も生成できました。

SadTalkerが使えない 時の対処法:復活したSadTalker
SadTalkerが使えない 時の対処法:WebUIのダウングレードによって復活したSadTalker

 

WenUIのダウングレードについては、以下の記事で詳しく解説しています。コミットハッシュの取得方法なども解説していますので、ぜひお読みください。

 

 

目次に戻る

 

4.最新バージョンに戻す方法(アップグレード)

WebUIを古いバージョンにしたままだと、WebUI自体の最新機能が使えなかったり、ControlnetやAnimateDiffなどの最新機能が使用できなくなる場合があります。

WebUIを最新バージョンに戻す方法(アップグレード)については、以下の記事で解説していますので合わせてお読みください。

 

 

ちなみに、WebUI v1.8.0の最新のコミットハッシュは、以下の値です。

bef51aed032c0aaa5cfd80445bc4cf0d85b408b5 (2024/03/22現在)

 

目次に戻る

 

 

5.SadTalkerについて

SadTalkerは、静止画像と音声ファイルを組み合わせて動画化し、「画像を喋らせる」ことができる便利な拡張機能です。

筆者も日常的に使用している大変便利で貴重な拡張機能です。

SadTalkerの更新状況を確認したところ2023年10月で更新が止まっていますが、今後更新が再開し、WebUI v1.8.0に対応することを期待しましょう。

興味のある方は、試してみてください。

 

 

 

ページトップへ

コメント

タイトルとURLをコピーしました