Float - липс синк и говорящая голова на реал-тайм скорости
- на вход картинка 512х512
- лицо должно занимать 60% кадра и смотреть прямо. Если есть обрезка головы, например, макушка, на выходе будут сильные артефакты
- нет video2video, на вход только картинка
- поддерживает 7 эмоций, можно задавать вручную: 'angry', 'disgust', 'fear', 'happy', 'neutral', 'sad', 'surprise' (гнев", "отвращение", "страх", "радость", "нейтральность", "грусть", "удивление"). По умолчанию использует смешанные эмоции.
- аниме лица не анимирует
- скорость на 3090 почти реалтайм: 39 секунд аудио за 41 секунду обработки
- жрет всего 3.3 гига VRAM при 20 секундах аудио
- в комфи ставится через manager по URL без всяких танцев с бубном
Надо бы сделать в комфи авто-вырезалку квадратного портрета с последующей склейкой обратно поверх исходного лица.
код: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
ноды для comfy: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
видео примеры: https://deepbrainai-research.github.io/float/
- на вход картинка 512х512
- лицо должно занимать 60% кадра и смотреть прямо. Если есть обрезка головы, например, макушка, на выходе будут сильные артефакты
- нет video2video, на вход только картинка
- поддерживает 7 эмоций, можно задавать вручную: 'angry', 'disgust', 'fear', 'happy', 'neutral', 'sad', 'surprise' (гнев", "отвращение", "страх", "радость", "нейтральность", "грусть", "удивление"). По умолчанию использует смешанные эмоции.
- аниме лица не анимирует
- скорость на 3090 почти реалтайм: 39 секунд аудио за 41 секунду обработки
- жрет всего 3.3 гига VRAM при 20 секундах аудио
- в комфи ставится через manager по URL без всяких танцев с бубном
Надо бы сделать в комфи авто-вырезалку квадратного портрета с последующей склейкой обратно поверх исходного лица.
код: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
ноды для comfy: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
видео примеры: https://deepbrainai-research.github.io/float/
🔥25👍6🤡3😁2
T-one STT (распознавание речи на русском) под виндой (без WSL и докера) на CPU
- размер очень маленький - 71M параметров (whisper large - 1500M), поэтому быстрый.
- по первым ощущениям, уровень ошибок на уровне whisper-large.
- но по метрикам превосходит все существующие модули распознавания речи для русского.
- по умолчанию работает на CPU и довольно быстро. Намного быстрее виспера на cpu
- на ГПУ запускать лень, надо triton-inference-server поднимать. Пишут, что для GPU нужно 8 GB vram
- не ставит знаки препинания (а виспер ставит)
- обычное голосовое сообщение умеренного качества, записанное на улице, длиной 74 секунды он распознал за 12 секунд на CPU. Работает потоково. Первая фраза появилась уже через 1 секунду. Итого: 10 ошибок, в основном, пропуск слов, которые плохо слышно, иногда неверные окончания.
Установка под виндой
(для linux или wsl - используйте официальную инструкцию)
По умолчанию демо работает на CPU. Чтобы запустить на GPU нужно ставить TensorRT и triton-inference-server. Там свои сложности, под винду есть только некоторые версии сервера. Официальная инструкция (я не тестил) https://github.com/voicekit-team/T-one/blob/main/docs/triton_inference_server.ru.md
гитхаб: https://github.com/voicekit-team/T-one
HF: https://huggingface.co/t-tech/T-one
- размер очень маленький - 71M параметров (whisper large - 1500M), поэтому быстрый.
- по первым ощущениям, уровень ошибок на уровне whisper-large.
- но по метрикам превосходит все существующие модули распознавания речи для русского.
- по умолчанию работает на CPU и довольно быстро. Намного быстрее виспера на cpu
- на ГПУ запускать лень, надо triton-inference-server поднимать. Пишут, что для GPU нужно 8 GB vram
- не ставит знаки препинания (а виспер ставит)
- обычное голосовое сообщение умеренного качества, записанное на улице, длиной 74 секунды он распознал за 12 секунд на CPU. Работает потоково. Первая фраза появилась уже через 1 секунду. Итого: 10 ошибок, в основном, пропуск слов, которые плохо слышно, иногда неверные окончания.
Установка под виндой
(для linux или wsl - используйте официальную инструкцию)
git clone https://github.com/voicekit-team/T-one.git
cd T-one
python -m venv .venv
.venv\Scripts\activate
в файле pyproject.toml удаляем или комментируем (#) строчку 16:
"kenlm (>=0.2.0,<1.0.0)",
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.sh
vcpkg integrate install
vcpkg install kenlm
cd ..
pip install poetry
poetry lock
poetry install -E demo
pip install kenlm
uvicorn --host 127.0.0.1 --port 8081 tone.demo.website:app --reload
открываем 127.0.0.1:8081 в браузере
По умолчанию демо работает на CPU. Чтобы запустить на GPU нужно ставить TensorRT и triton-inference-server. Там свои сложности, под винду есть только некоторые версии сервера. Официальная инструкция (я не тестил) https://github.com/voicekit-team/T-one/blob/main/docs/triton_inference_server.ru.md
гитхаб: https://github.com/voicekit-team/T-one
HF: https://huggingface.co/t-tech/T-one
1👍29🔥6❤4🤔3
Wan2.2 A14B 3-шаговый воркфлоу для t2v, t2i, img2img и апскейла видео
- 3 шага подходят для малого числа кадров: от 1 до 65 при 720р. При 81+ кадре этого уже не хватает, будет цветной шум, надо больше шагов. Чем больше разрешение и число кадров - тем больше шагов. Для 480р трёх шагов хватит на 81 кадр.
- если виден цветной шум: увеличить силу лоры FusionX у обоих моделей, либо увеличить число шагов.
- фото лучше делать в разрешении 1920х1080 и 1080х1536. Детализация офигенная. Пример в хайрез: https://raw.githubusercontent.com/Mozer/comfy_stuff/refs/heads/main/output/ComfyUI_06056_.png
- Вертикальные фото/видео с высотой больше 1500 лучше не делать, будут искажения геометрии.
- в исходном воркфлоу от comfy anonymous стоят верные настройки для передачи шума между сэмплерами. В популярных на реддите воркфлоу на 4 шага - стоят неканонические зачения. В них страдает детализация и текстура кожи.
- малая модель на 5B мне не понравилась, похожа на 1.3b по качеству.
- странный факт: 5B работает в 24fps и A14B в 16fps
- промпты для видео брал с сайтов Вана: https://wan.video/explore и flow tv (Veo): https://labs.google/flow/tv/channels
- cсылки на Лоры (fusionx, lightxt2, smartphone) внутри воркфлоу.
- озвучку делал в mmaudio: https://huggingface.co/spaces/hkchengrex/MMAudio
- если не считать отсутствие звука и речи, то визуально ван 2.2 очень похож на veo3.
- с img2img прикольно переделывать аниме в реализм и обновлять графику старым играм (можно попроботь через video2video для старых игр). Регулировать силу исходной картинки приходится с помощью числа шагов и их соотношения на первом сэмплере.
- апскейл видео слегка меняет лицо. чем больше шагов тем чётче картинка, но дальше от оригинала. 1+2 и 1+3 шага - оптимальны.
- weight_dtype fp8e5m не работает на 3090 (шумит), используйте fp8_e4m3fn_fast
- старые лоры - работают.
Скорость на 3090:
- видео 1280x720 49 кадров, 1+2 шага: 6 минут с интерполяцией
- фото 1920х1088 2+2 шага: 1 минута
- video2video 480p 97 кадров 1+3 шага: 6 минут с интерполяцией
- на 16 гигах врам пойдет, но не надо ставить разрешение 720р и 121 кадр - иначе время генерации будет 14 часов.
- ещё ждём teaCache для скорости.
Примеры промптов:
- Икеа:
- Бабка и яма:
- куклы за столом:
мои воркфлоу для A14B: https://github.com/Mozer/comfy_stuff/tree/main/workflows/wan2.2
попробовать wan2.2 (i2v - бесплатно, долго; t2v - 10 кредитов): https://wan.video/generate
- 3 шага подходят для малого числа кадров: от 1 до 65 при 720р. При 81+ кадре этого уже не хватает, будет цветной шум, надо больше шагов. Чем больше разрешение и число кадров - тем больше шагов. Для 480р трёх шагов хватит на 81 кадр.
- если виден цветной шум: увеличить силу лоры FusionX у обоих моделей, либо увеличить число шагов.
- фото лучше делать в разрешении 1920х1080 и 1080х1536. Детализация офигенная. Пример в хайрез: https://raw.githubusercontent.com/Mozer/comfy_stuff/refs/heads/main/output/ComfyUI_06056_.png
- Вертикальные фото/видео с высотой больше 1500 лучше не делать, будут искажения геометрии.
- в исходном воркфлоу от comfy anonymous стоят верные настройки для передачи шума между сэмплерами. В популярных на реддите воркфлоу на 4 шага - стоят неканонические зачения. В них страдает детализация и текстура кожи.
- малая модель на 5B мне не понравилась, похожа на 1.3b по качеству.
- странный факт: 5B работает в 24fps и A14B в 16fps
- промпты для видео брал с сайтов Вана: https://wan.video/explore и flow tv (Veo): https://labs.google/flow/tv/channels
- cсылки на Лоры (fusionx, lightxt2, smartphone) внутри воркфлоу.
- озвучку делал в mmaudio: https://huggingface.co/spaces/hkchengrex/MMAudio
- если не считать отсутствие звука и речи, то визуально ван 2.2 очень похож на veo3.
- с img2img прикольно переделывать аниме в реализм и обновлять графику старым играм (можно попроботь через video2video для старых игр). Регулировать силу исходной картинки приходится с помощью числа шагов и их соотношения на первом сэмплере.
- апскейл видео слегка меняет лицо. чем больше шагов тем чётче картинка, но дальше от оригинала. 1+2 и 1+3 шага - оптимальны.
- weight_dtype fp8e5m не работает на 3090 (шумит), используйте fp8_e4m3fn_fast
- старые лоры - работают.
Скорость на 3090:
- видео 1280x720 49 кадров, 1+2 шага: 6 минут с интерполяцией
- фото 1920х1088 2+2 шага: 1 минута
- video2video 480p 97 кадров 1+3 шага: 6 минут с интерполяцией
- на 16 гигах врам пойдет, но не надо ставить разрешение 720р и 121 кадр - иначе время генерации будет 14 часов.
- ещё ждём teaCache для скорости.
Примеры промптов:
- Икеа:
Cinematic shot of a sunlit empty Scandinavian bedroom. A sealed IKEA box trembles, opens, and flat pack furniture assembles rapidly into a stylish IKEA bedroom with bed, table, chair and other furniture. fixed wide angle, lighting: natural warm with cool accents, room: Scandinavian bedroom, elements: IKEA box (logo visible), Start: empty room at the beginning, then box opens, furniture assembles precisely and rapidly, ending: calm, modern bedroom with yellow IKEA accent. Furniture at the end: bed with yellow throw, bedside tables, lamps, wardrobe, shelves, mirror, art, rug, curtains, reading chair, plants
- Бабка и яма:
A TV news report from the streets of the Russian hinterland. The news anchor woman speaks into a microphone in Russian: "A huge pit has appeared in our city for three years now." At this time, in the background, a Russian grandmother with two heavy bags walks down the street and falls into a huge pit filled with water. The atmosphere is comical, with a deliberately serious tone of reporting. Photorealistic 4k 60fps video
- куклы за столом:
In a dimly lit Victorian-style living room, lace curtains flutter gently. muppets toys (kermit and others) sit around a round table, their figures illuminated by flickering candlelight. A whisper makes the porcelain teacups tremble, and the eyes in the paintings shift uneasily. Each slow, deliberate stop-motion frame heightens the tension. The camera pans slowly to the right, capturing every subtle movement of the puppets, enhancing the eerie atmosphere. The furniture and decorations in the background are clearly detailed.
мои воркфлоу для A14B: https://github.com/Mozer/comfy_stuff/tree/main/workflows/wan2.2
попробовать wan2.2 (i2v - бесплатно, долго; t2v - 10 кредитов): https://wan.video/generate
22🔥30❤7👍7👌1
Говорящий видео аватар в Silly Tavern (F5 TTS + Float / wav2lip)
- wav2lip (первое видео) - делает липсинк по видео + аудио (старый, быстрый, можно дать видео на вход, на выходе разрешение небольшое, видео размытое)
- Float (второе видео) - делает липсинк по картинке + аудио (новый, не очень быстрый, не умеет брать видео на вход, на выход квадрат 512х512)
# Установка
Нужно:
- свежая версия Silly Tavern (1.13.2, вышла 3 недели назад. До этого поддержки видео не было)
- ComfyUI и кастомные ноды: ComfyUI-F5-TTS, ComfyUI_wav2lip, ComfyUI-FLOAT_Optimized. Ноды устанавливать через ComfyUI Manager - via URL.
Русский язык в F5-TTS в комфи
нода: https://github.com/niknah/ComfyUI-F5-TTS
скачать русский файнтюн от misha24-10:
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base_v2/model_last_inference.safetensors
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base/vocab.txt
оба файла положить в папку models/checkpoints/F5-TTS/
оба файла переименовать в ru.safetensors и ru.txt
Референсное аудио для F5 должно быть коротким, 6-8 c. При 11 c - речь становится слишком быстрой.
в папку /comfyUI/input положить 2 файла emma_ru_xtts_3.wav и emma_ru_xtts_3.txt: https://github.com/Mozer/comfy_stuff/tree/main/input
в emma_ru_xtts_3.txt лежит текст сказанный в wav файле.
в комфи в ноде F5 TTS audio advanced выбрать:
model model:///ru.safetensors
model_type: F5TTS_v1_Base
sample_audio: emma_ru_xtts_3
# Float (говорящая голова по одной картинке) в комфи
- нода: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
- на входе лицо должно смотреть строго прямо. Сверху кадра должно оставаться немного свободного места.
- галка face_align обрежет лицо как надо. Без нее будут артефакты.
- нет video2video, на вход только картинка
- Потоковый режим я пока не прикрутил. С ним можно сократить время ожидания в 2 раза.
- модельки скачаются сами при первом запуске
- пример головы: https://github.com/Mozer/comfy_stuff/blob/main/input/ComfyUI_00463_2(2).jpg
# Wav2lip в комфи
- моя нода: https://github.com/Mozer/ComfyUI_wav2lip - прикрутил кэширование для скорости и пару настроек для удобства.
- скачать модельку https://huggingface.co/Nekochu/Wav2Lip/blob/main/wav2lip_gan.pth и положить в \custom_nodes\ComfyUI_wav2lip\Wav2Lip\checkpoints
- без модели нода не запустится. Перезагрузить ComfyUI (restart).
- при первом запуске с новым видео обнаружение лица занимает около минуты.
- примера видео не дам, сами найдете
# Мои воркфлоу:
(F5 + Wav2lip) и (F5 + Float): https://github.com/Mozer/comfy_stuff/tree/main/workflows/silly_tavern
Скачать нужный ВФ и запустить в комфи. Проверить, что все работает, и он видит вашу картинку/видео. Затем нажать: верхнее меню - workflow -> Export (API)
Далее ВАШ воркфлоу можно импортировать в silly Tavern. Мой ВФ импортировать в ST не надо, там указаны мои имена файлов, их у вас нет.
# Настройка SillyTavern
Меню Extensions -> Image generation:
Source: comfyUI
URL: https://127.0.0.1:8188
Очищаем поля "Common prompt prefix" и "Negative common prompt prefix"
ComfyUI Workflow: жмем +. Пишем "F5_Wav2lip", вставляем ваш экспортированный воркфлоу.
Проверяем/заменяем, что вместо "speech": "Какой-то текст", стоит "speech": "%prompt%", так мы будем передавать текст сообщения из silly в comfy.
Верхнее меню - User Settings - Expand Message Actions (для удобства)
- Вместо F5 TTS можно поставить XTTSv2 (в комфи я не тестил, но видел ноды).
- на видео LLM - sainemo-remix-12b
Скорость на 3090 для аудио длиной 13-17 секунд:
- F5 + wav2lip - 17 секунд генерации, связка жрет 3 GB VRAM
- F5 + Float - 55 секунд генерации, связка жрет 10 GB VRAM
- На 3060: на 5 секунд дольше.
Планирую добавить стриминг режим для Float, будет в 2 раза быстрее, но видео будет отображаться в отельном окне.
- wav2lip (первое видео) - делает липсинк по видео + аудио (старый, быстрый, можно дать видео на вход, на выходе разрешение небольшое, видео размытое)
- Float (второе видео) - делает липсинк по картинке + аудио (новый, не очень быстрый, не умеет брать видео на вход, на выход квадрат 512х512)
# Установка
Нужно:
- свежая версия Silly Tavern (1.13.2, вышла 3 недели назад. До этого поддержки видео не было)
- ComfyUI и кастомные ноды: ComfyUI-F5-TTS, ComfyUI_wav2lip, ComfyUI-FLOAT_Optimized. Ноды устанавливать через ComfyUI Manager - via URL.
Русский язык в F5-TTS в комфи
нода: https://github.com/niknah/ComfyUI-F5-TTS
скачать русский файнтюн от misha24-10:
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base_v2/model_last_inference.safetensors
https://huggingface.co/Misha24-10/F5-TTS_RUSSIAN/blob/main/F5TTS_v1_Base/vocab.txt
оба файла положить в папку models/checkpoints/F5-TTS/
оба файла переименовать в ru.safetensors и ru.txt
Референсное аудио для F5 должно быть коротким, 6-8 c. При 11 c - речь становится слишком быстрой.
в папку /comfyUI/input положить 2 файла emma_ru_xtts_3.wav и emma_ru_xtts_3.txt: https://github.com/Mozer/comfy_stuff/tree/main/input
в emma_ru_xtts_3.txt лежит текст сказанный в wav файле.
в комфи в ноде F5 TTS audio advanced выбрать:
model model:///ru.safetensors
model_type: F5TTS_v1_Base
sample_audio: emma_ru_xtts_3
# Float (говорящая голова по одной картинке) в комфи
- нода: https://github.com/set-soft/ComfyUI-FLOAT_Optimized
- на входе лицо должно смотреть строго прямо. Сверху кадра должно оставаться немного свободного места.
- галка face_align обрежет лицо как надо. Без нее будут артефакты.
- нет video2video, на вход только картинка
- Потоковый режим я пока не прикрутил. С ним можно сократить время ожидания в 2 раза.
- модельки скачаются сами при первом запуске
- пример головы: https://github.com/Mozer/comfy_stuff/blob/main/input/ComfyUI_00463_2(2).jpg
# Wav2lip в комфи
- моя нода: https://github.com/Mozer/ComfyUI_wav2lip - прикрутил кэширование для скорости и пару настроек для удобства.
- скачать модельку https://huggingface.co/Nekochu/Wav2Lip/blob/main/wav2lip_gan.pth и положить в \custom_nodes\ComfyUI_wav2lip\Wav2Lip\checkpoints
- без модели нода не запустится. Перезагрузить ComfyUI (restart).
- при первом запуске с новым видео обнаружение лица занимает около минуты.
- примера видео не дам, сами найдете
# Мои воркфлоу:
(F5 + Wav2lip) и (F5 + Float): https://github.com/Mozer/comfy_stuff/tree/main/workflows/silly_tavern
Скачать нужный ВФ и запустить в комфи. Проверить, что все работает, и он видит вашу картинку/видео. Затем нажать: верхнее меню - workflow -> Export (API)
Далее ВАШ воркфлоу можно импортировать в silly Tavern. Мой ВФ импортировать в ST не надо, там указаны мои имена файлов, их у вас нет.
# Настройка SillyTavern
Меню Extensions -> Image generation:
Source: comfyUI
URL: https://127.0.0.1:8188
Очищаем поля "Common prompt prefix" и "Negative common prompt prefix"
ComfyUI Workflow: жмем +. Пишем "F5_Wav2lip", вставляем ваш экспортированный воркфлоу.
Проверяем/заменяем, что вместо "speech": "Какой-то текст", стоит "speech": "%prompt%", так мы будем передавать текст сообщения из silly в comfy.
Верхнее меню - User Settings - Expand Message Actions (для удобства)
- Вместо F5 TTS можно поставить XTTSv2 (в комфи я не тестил, но видел ноды).
- на видео LLM - sainemo-remix-12b
Скорость на 3090 для аудио длиной 13-17 секунд:
- F5 + wav2lip - 17 секунд генерации, связка жрет 3 GB VRAM
- F5 + Float - 55 секунд генерации, связка жрет 10 GB VRAM
- На 3060: на 5 секунд дольше.
Планирую добавить стриминг режим для Float, будет в 2 раза быстрее, но видео будет отображаться в отельном окне.
41🔥22👍5❤3