X2Streaming-TTS: Causal Token-Level Text-to-Speech from Streaming Text with Speech-State Inheritance
Большинство «потоковых» синтезаторов начинают говорить только после получения предложения или заметного фрагмента текста. X2Streaming-TTS принимает отдельные токены и не смотрит вперёд, поэтому решает более трудную задачу: произнесённое уже нельзя исправить, хотя следующий знак может изменить чтение числа или границу фразы. Авторы связывают языковое решение о моменте начала речи с реальной ёмкостью звукового декодера и переносят речевое состояние через границы фрагментов.
Метод. Механизм причинного подтверждения удерживает незавершённые числа, единицы и символы до разрешения неоднозначности, а затем выбирает границу по пунктуации и прогнозируемому расходу KV-кэша. Если подходящей пунктуации нет, допускается жёсткий разрыв, но контроллер подстраивает оценку стоимости по уже синтезированным фрагментам. Для непрерывности следующий фрагмент получает полное состояние Code2Wav и четыре последних состояния Talker. Причинная априорная маска запрещает внимание к будущему, а ограниченный остаточный путь не даёт старому контексту бесконтрольно накапливаться.
Результаты. По сравнению с тем же офлайн-основанием токеновый режим в худшем из пяти проигранных условий увеличил ошибку лишь на 0,62 процентного пункта и оказался лучшим среди потоковых систем в шести из восьми условий распознаваемости. На 59 китайских отрывках контроллер использовал 76,93% звукового бюджета и дошёл до непунктуационного предела лишь в 0,54% фрагментов; у фиксированного окна жёстких разрывов было 87,13%. Согласование с человеческими границами достигло F1 0,952. На 954 общих границах разрыв основной частоты составил 22,61 Гц, энергии 1,66 дБ, а объединённая мера PBD 0,1092 против 0,1915 у ближайшего соперника. Сходство голоса ECAPA равно 0,9511, прогноз UTMOS — 3,92.
Ограничения. Подача токенов в опытах идёт с фиксированной скоростью, тогда как настоящая языковая модель выдаёт их неравномерно и иногда пересматривает текст. Серверные замеры сделаны на одной RTX 5090 с BF16 и не включают задержку порождения исходного текста. Непрерывность проверена главным образом на 59 китайских отрывках; субъективный опыт со 120 слушателями посвящён символам и неоднозначным префиксам, а не полному сравнению естественности. Среди соперников нет равноценной сильной системы с нулевым просмотром вперёд.
Фишка из статьи. Авторы показывают не только одиночную минимальную задержку, но и поведение под нагрузкой. До 64 одновременных запросов медиана времени до первого звукового токена остаётся ниже 120 мс, после чего очередь начинает расти заметно быстрее.
| Одновременные запросы | 1 | 8 | 16 | 32 | 64 | 128 |
|---|---|---|---|---|---|---|
| TTFT, мс | 15,8 | 38,5 | 50,2 | 76,3 | 118,6 | 260,8 |
Как это читать: 15,8 мс — время работы самого синтезатора при готовом первом текстовом токене, а не полная задержка голосового помощника. Тем не менее кривая полезна для сервера: удвоение нагрузки с 64 до 128 запросов увеличивает TTFT более чем вдвое, обозначая практическую границу испытанной конфигурации.