К содержанию
fohbook/ TouchDesigner
профи

Речь, текст и языковые модели

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), иначе запрос заблокирует кадр.

Ключ и безопасность

API-ключ не должен лежать в .toe

Проект уезжает на площадку, попадает в архив, показывается на стриме. Держите ключ в файле рядом с проектом или в переменной окружения и читайте при старте. И ставьте лимит расходов на стороне сервиса — цикл, случайно отправляющий запрос каждый кадр, обходится дорого.

Сценарии, которые работают

Голос как ввод. Зритель говорит — Whisper распознаёт — текст управляет инсталляцией: промптом, сценой, текстом на экране. Задержка 1–3 секунды здесь допустима, потому что зритель понимает, что его «слушают».

Текст как контент. Модель пишет строки, которые выводятся Text TOP. Хорошо для инсталляций с генеративной поэзией и подписями.

Промпт-инженер внутри проекта. Модель превращает простые слова зрителя в развёрнутый промпт для диффузии — Диффузия.

Разметка и разбор. Классификация сообщений, извлечение параметров из свободного текста — например, для чат-бота, управляющего инсталляцией.

Что нужно предусмотреть обязательно

  1. Тайм-аут и запасной ответ. Сервис не ответил — показываем заготовленное.
  2. Модерация. Публичная инсталляция, принимающая текст от зрителей, получит всё, что можно получить. Фильтр на входе и на выходе обязателен, а не «если будет время».
  3. Стоимость. Каждый запрос платный. Ограничьте частоту.
  4. Офлайн-режим. Интернет на площадке пропадает регулярно.

Локальные модели

Небольшие языковые модели и Whisper запускаются локально: нет платы за запрос, нет зависимости от сети, данные не уходят наружу. Плата — время на настройку и требования к видеокарте. Для инсталляции, которая должна работать годами, локальный вариант обычно правильнее.

Художнику

Голосовое взаимодействие обещает больше, чем даёт: в шумном зале распознавание разваливается, а пауза в две секунды между репликой и реакцией ломает диалог. Проверяйте идею на реальном шуме до того, как строить на ней всю работу.

рядом по смыслу