Речь, текст и языковые модели
Whisper, GPT и синтез речи в патче: как это подключают, что получается и где границы применимости.
Языковые модели попадают в TouchDesigner через API или через локальный запуск. Это медленный слой: секунды, а не кадры, — и проектировать его надо соответственно.
Что подключают
| Задача | Инструмент |
|---|---|
| Распознавание речи | Whisper (API или локально) |
| Диалог, генерация текста | GPT-подобные модели через API |
| Синтез речи | TTS-сервисы или локальные модели |
| Генерация изображения по тексту | ComfyUI или API |
| Классификация текста и намерений | Небольшая локальная модель |
Для TouchDesigner существуют готовые компоненты сообщества под OpenAI API, включая связку «Whisper для распознавания + чат-модель для ответа»; есть и примеры с генерацией изображений и синтезом речи из одного патча.
Как подключается
Два пути:
Через Web Client DAT — Веб. Асинхронный запрос,
ответ в колбэке, разбор JSON. Ничего устанавливать не нужно.
Через Python-библиотеку (pip install openai и подобные) —
Внешние модули. Удобнее для потоковых ответов,
но требует настройки окружения и обязательно отдельного потока
(Thread Manager), иначе запрос заблокирует кадр.
Ключ и безопасность
Проект уезжает на площадку, попадает в архив, показывается на стриме. Держите ключ в файле рядом с проектом или в переменной окружения и читайте при старте. И ставьте лимит расходов на стороне сервиса — цикл, случайно отправляющий запрос каждый кадр, обходится дорого.
Сценарии, которые работают
Голос как ввод. Зритель говорит — Whisper распознаёт — текст управляет инсталляцией: промптом, сценой, текстом на экране. Задержка 1–3 секунды здесь допустима, потому что зритель понимает, что его «слушают».
Текст как контент. Модель пишет строки, которые выводятся Text TOP.
Хорошо для инсталляций с генеративной поэзией и подписями.
Промпт-инженер внутри проекта. Модель превращает простые слова зрителя в развёрнутый промпт для диффузии — Диффузия.
Разметка и разбор. Классификация сообщений, извлечение параметров из свободного текста — например, для чат-бота, управляющего инсталляцией.
Что нужно предусмотреть обязательно
- Тайм-аут и запасной ответ. Сервис не ответил — показываем заготовленное.
- Модерация. Публичная инсталляция, принимающая текст от зрителей, получит всё, что можно получить. Фильтр на входе и на выходе обязателен, а не «если будет время».
- Стоимость. Каждый запрос платный. Ограничьте частоту.
- Офлайн-режим. Интернет на площадке пропадает регулярно.
Локальные модели
Небольшие языковые модели и Whisper запускаются локально: нет платы за запрос, нет зависимости от сети, данные не уходят наружу. Плата — время на настройку и требования к видеокарте. Для инсталляции, которая должна работать годами, локальный вариант обычно правильнее.
Голосовое взаимодействие обещает больше, чем даёт: в шумном зале распознавание разваливается, а пауза в две секунды между репликой и реакцией ломает диалог. Проверяйте идею на реальном шуме до того, как строить на ней всю работу.