Прикрутил потоковый режим для vibeVoice-7b в комфи
vibeVoice-7b - лучшая открытая TTS для русского языка на данный момент. Ударения практически идеальные.
Потоковый режим воспроизводит аудио напрямую в колонки по мере того, как оно генерируется.
Скорости 3090 не хватает на реалтайм инференс 7b. Видюха примерно в 2 раза медленнее, чем надо. 1.5b тоже не идет в реалтайме, там есть какие-то проблемы со скоростью, я пока не разбирался.
vibeVoice-7b практически идеально ставит ударения в русской речи.
vibeVoice-1.5b тоже неплох, но присутствует сильный английский акцент, режет слух. Для английского - прикольно.
Скорость vibeVoice-7b на 3090:
для генерации длинного аудио длиной 30 секунд:
- 53 секунда - без стриминга
- 36 секунд со стримингом, до воспроизведения и буфером 20s
для генерации короткого аудио длиной 15 секунд:
- 27 секунд - без стриминга
- 19 секунд со стримингом, до воспроизведения и буфером 10s
Можно сократить время до воспроизведения, поставив буфер 3s, но тогда речь будет прерываться каждые 3 секунды на буферизацию. Возможно, на новых видюхах 5000 серии такого буфера хватит для реалтайм инференса.
Галка free_memory_after_generate:False сокращает время инференса на 10 секунд, но с ней модель будет проблематично выгрузить из памяти комфи (она там намертво загружается). Для тестов ставьте галку в True, модель будет освобождать память в конце.
Требования:
Для 7b:
в 7b_bf16 и 7b_fp16 требует 19 Гигов vram. В режиме bnb_nf4 - требование всего 9.2 GB.
На 3090 рекомендую инференс в режиме fp16 - он на 10-15% быстрее, чем bf16. Если vram мало, то ставьте bnb_nf4. Для новых видюх 4000 и 5000 серии пробуйте fp8 (не тестил).
Для 1.5b:
1.5b_bf16 требует 6 гигов vram. 1.5b_nf4 требует - 3.2 GB. Но nf4 медленнее в 2 раза чем bf16 и fp16.
Уже сейчас этот воркфлоу можно прокинуть в sillyTavern, будет и потоковое аудио и wav2lip в конце (не потоковый).
В планах далее прикрутить сюда потоковый wav2lip, чтобы видео генерировалось сразу по мере готовности аудио, а не в конце.
Модельки автоматом скачиваются в комфи. Если надо вручную, в вф есть ссылки на HF.
воркфлоу VibeVoice_streaming + wav2lip: https://github.com/Mozer/VibeVoice-ComfyUI/blob/main/examples/vibevoice_streaming_and_wav2lip.json
мои ноды VibeVoice: https://github.com/Mozer/VibeVoice-ComfyUI
мой wav2lip для комфи: https://github.com/Mozer/ComfyUI_wav2lip