Разговор двоих: InfiniteTalk

<!-- lesson: wrapper-duo -->

Урок «wrapper-duo» в группе WanVideoWrapper списка уроков. Шагов: 8.

Сначала согласие

Правило то же: озвучивать можно только тех, кто согласен, их собственными голосами или голосами, на которые у вас есть разрешение. См. Правила содержимого.

Чему вы научитесь

Два человека на одной картинке говорят, каждый своим голосом.

Что понадобится

  • Урок продолжает Говорящее видео: InfiniteTalk. Карточка говорит об этом; это подсказка, а не замок.
  • Файлы моделей, которые урок проверяет:
    • модуль для нескольких говорящих (InfiniteTalk multi или MultiTalk): models/diffusion_models, например Wan2_1-InfiniteTalk_Multi_fp8_e4m3fn_scaled_KJ.safetensors.
  • Ноды: Multi/InfiniteTalk Model Loader, Load Audio, Multi/InfiniteTalk Wav2vec2 Embeds, WanVideo Sampler.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Два голоса в одном кадре (чтение)

    InfiniteTalk и MultiTalk умеют озвучить двоих сразу. Нужна картинка с двумя людьми и две записи голоса. Модель двигает губы каждого под его запись.

    Правило то же: озвучивать можно только тех, кто согласен, их собственными голосами или голосами, на которые у вас есть разрешение.

    Урок продолжает граф из урока «Говорящее видео: InfiniteTalk».

  2. Нужен граф говорящего видео

    На холсте должен быть граф из урока «Говорящее видео: InfiniteTalk»: ноды Multi/InfiniteTalk Model Loader, Load Audio, Multi/InfiniteTalk Wav2vec2 Embeds и WanVideo Sampler, а звук подключён ко входу audio_1.

    Если его нет, сначала пройдите тот урок.

  3. Проверьте модуль

    В ноде Multi/InfiniteTalk Model Loader в поле model должен стоять модуль для нескольких говорящих. У InfiniteTalk в имени такого файла есть слово multi, у MultiTalk модуль один на все случаи.

    Модуль single рассчитан на одного человека.

  4. Подберите картинку (чтение)

    В ноде с портретом выберите кадр, где оба человека видны крупно и стоят рядом: один в левой половине, другой в правой.

    Это важно. Пока не сказано иначе, первый голос достаётся тому, кто слева, второй тому, кто справа.

  5. Добавьте второй голос

    Добавьте ещё одну ноду Load Audio и выберите в поле audio запись второго человека, не ту же, что у первого. Её выход подключите ко входу audio_2 ноды Multi/InfiniteTalk Wav2vec2 Embeds.

  6. Вместе или по очереди (чтение)

    Поле multi_audio_type в ноде Multi/InfiniteTalk Wav2vec2 Embeds говорит, как сложить две записи:

    • para: обе звучат одновременно, с начала ролика. Подходит, если в каждой записи уже есть паузы на то время, пока говорит другой;
    • add: сначала целиком первая запись, потом вторая. Подходит для двух отдельных реплик.
  7. Кто каким голосом говорит (чтение)

    Голос со входа audio_1 получает человек в левой половине кадра, со входа audio_2 в правой. Если голоса перепутались, поменяйте местами записи.

    Когда люди стоят иначе, нужны маски: по одной на человека, ко входу ref_target_masks. Маску рисуют в редакторе масок ComfyUI.

    Входы audio_3 и audio_4 нужны для третьего и четвёртого говорящего. Им маски обязательны: сама нода делит кадр только на двоих.

  8. Граф готов (чтение)

    Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.

    Пока подбираете записи и картинку, берите реплики по несколько секунд.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 2, Нужен граф говорящего видео:
    • нода Multi/InfiniteTalk Model Loader.
    • нода Load Audio.
    • нода Multi/InfiniteTalk Wav2vec2 Embeds.
    • нода WanVideo Sampler.
    • AUDIO ноды Load Audio (первый голос) во вход audio_1 ноды Multi/InfiniteTalk Wav2vec2 Embeds.
    • multitalk_embeds ноды Multi/InfiniteTalk Wav2vec2 Embeds во вход multitalk_embeds ноды WanVideo Sampler.
  • Шаг 3, Проверьте модуль:
    • в поле model ноды Multi/InfiniteTalk Model Loader стоит файл такого вида: модуль для нескольких говорящих (InfiniteTalk multi или MultiTalk); такой файл лежит в models/diffusion_models, например Wan2_1-InfiniteTalk_Multi_fp8_e4m3fn_scaled_KJ.safetensors.
  • Шаг 5, Добавьте второй голос:
    • нода Load Audio.
    • AUDIO ноды Load Audio (второй голос) во вход audio_2 ноды Multi/InfiniteTalk Wav2vec2 Embeds.
    • audio ноды Load Audio (второй голос): не тот же файл, что в поле audio ноды Load Audio (первый голос).

Частые ошибки

  • Модуль single: двигается только одно лицо.
  • Голоса перепутаны: поменяйте записи местами или возьмите маски.
  • Длинные записи, пока идёт подбор: берите реплики по несколько секунд.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/Wrapper-Duo.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.