Архитектурный сдвиг: от дискретных токенов к DiT
Новая версия модели MOSS-SoundEffect v2.0 знаменует собой переход от архитектуры, использованной в первой версии. Если v1.0 опиралась на дискретно-токенизированную авторегрессионную модель (MossTTSDelay), то v2.0 построена на Diffusion Transformer (DiT) с использованием метода Flow Matching. Эта архитектура, в сочетании с кодировщиком текста Qwen3 и VAE от DAC, направлена на повышение верности звука и улучшение генерации длинных фрагментов окружающей среды.
Технические детали и совместимость
Важно отметить, что новая модель требует изолированной среды выполнения. Она несовместима с основным окружением MOSS-TTS из-за конфликтов зависимостей. Для работы требуется Python 3.12 и специфические версии библиотек:
| Компонент | Версия / Значение |
|---|---|
| Python | 3.12 |
| numpy | 1.26 (pinned) |
| transformers | 4.57 |
| torch | 2.9 |
Для ускорения инференса используется оптимизация через torch.compile и Triton CUDA Graph. Первый запуск может занять несколько минут на этапе компиляции. При возникновении ошибок TorchDynamo рекомендуется установить переменную окружения TORCHDYNAMO_DISABLE=1.
Пример использования и параметры
Модель доступна на HuggingFace под идентификатором OpenMOSS-Team/MOSS-SoundEffect-v2.0. Инференс осуществляется через класс MossSoundEffectPipeline. Ниже приведен пример генерации звука с указанием ключевых параметров:
- Длительность: 10 секунд
- Шаги инференса (num_inference_steps): 100
- Масштаб CFG (cfg_scale): 4.0
- Тип данных: bfloat16
Промпт для генерации: "The crisp, rhythmic click-clack of fast typing on a mechanical keyboard."
Возможности дообучения (Fine-tuning)
Модель поддерживает полное дообучение DiT. Процесс требует метаданных в формате JSON Lines, где каждая строка содержит путь к аудиофайлу и текстовое описание (caption) на английском или китайском языке. Например:
- Файл:
wavs/birdsong.wav| Промпт: "清晨小鸟叽叽喳喳地叫着..." - Файл:
wavs/brushing_teeth.wav| Промпт: "刷牙的声音..."
Результаты обучения автоматически экспортируются в формат HuggingFace, что позволяет легко интегрировать кастомные веса в пайплайн без необходимости повторной загрузки базовых компонентов (Qwen3, DAC VAE).
Источник: Github ↗
