ZipL-Dialog: длинный диалоговый синтез речи в 25 Hz латенте
ZipL-Dialog решает инженерную проблему длинного диалогового синтеза речи: non-autoregressive flow matching быстро генерирует кадры параллельно, но на minute-scale mel-spectrogram память растет слишком резко. Авторы переносят генерацию из плотной mel-области в 4x сжатый непрерывный латент 25 Hz. Главная ценность статьи в честном компромиссе: память и время сильно падают, но WER и speaker similarity немного уступают несжатому baseline.
Метод. Сначала обучается deterministic mel autoencoder: 100 Hz mel-spectrogram сжимается в 25 Hz latent sequence с размерностью 100, затем decoder восстанавливает mel перед vocoder. Поверх латента работает masked latent conditional flow matching: target region инициализируется шумом, ZipFormer предсказывает velocity, а auxiliary mel-domain loss удерживает локальные акустические детали. Авторы специально меняют downsampling schedule ZipFormer на [1,1,2,1,1], потому что дефолтная иерархия для плотного 100 Hz входа оказывается слишком агрессивной после 4x сжатия.
Результаты. На CoVoMix2 test set ZipL-Dialog генерирует в среднем за 1.075 s против 2.396 s у ZipVoice-Dialog и 50.160 s у VibeVoice 1.5B; RTF равен 0.056. Максимальная peak memory падает с 36.21 GB у ZipVoice-Dialog до 3.23 GB, то есть примерно в 11.22 раза. На OpenDialog средняя peak memory 0.97 GB против 2.03 GB, а inference time 1.045 s против 1.477 s. По качеству ZipL-Dialog не везде лучший: на CoVoMix2 WER 5.203% против 4.229% у ZipVoice-Dialog, но UTMOS 3.523 совпадает с VibeVoice и выше ZipVoice-Dialog 3.477.
Ограничения. Все основные эксперименты англоязычные, а качество оценивается объективными метриками без полноценной субъективной проверки длинных диалогов. Сжатие ухудшает локальную фонетику и сходство говорящего: cpSIM ниже, чем у baseline. Модель не является streaming-системой в строгом смысле, так как работает с target region целиком и 16-step Euler solver. Кроме того, autoencoder и backbone обучаются отдельно, поэтому ошибки латентного восстановления могут ограничивать генератор.
Фишка из статьи. Абляция downsampling schedule показывает, что после сжатия нельзя просто перенести архитектуру из frame-level TTS. Слишком слабая или слишком сильная иерархия ломает разборчивость.
| Настройка | WER | SIM-o | UTMOS |
|---|---|---|---|
| VAE latent | 6.535% | 0.518 | 3.877 |
| Deterministic AE | 3.634% | 0.489 | 3.982 |
| AE без auxiliary mel loss | 4.024% | 0.485 | 3.896 |
| Downsampling [1,1,1,1,1] | 51.964% | 0.418 | 3.676 |
| Downsampling [1,1,2,1,1] | 3.634% | 0.489 | 3.982 |
| Default [1,2,4,2,1] | 27.432% | 0.357 | 3.671 |
Как это читать: deterministic AE лучше сохраняет фонетику, чем VAE, хотя немного уступает по speaker similarity. Но главный риск в schedule: при 25 Hz латенте дефолтная глубокая компрессия ZipFormer фактически теряет короткие фонетические события.