Об этом проекте

Textream — это бесплатный телесуфлёр с открытым исходным кодом, предназначенный для Mac, iPhone и iPad, ориентированный на стримеров, интервьюеров, ведущих и подкастеров. Он предлагает три режима чтения: отслеживание слов (подсвечивает каждое слово по мере произнесения), классический (автопрокрутка с постоянной скоростью) и голосовой (прокрутка во время речи). Приложение для Mac отображает текст в оверлее в стиле Dynamic Island, перетаскиваемом плавающем окне или в полноэкранном режиме на iPad через Sidecar. Приложение для iOS добавляет чтение вблизи камеры и запись видео только для ведущего. Ключевые функции включают: - **Зеркальный режим** для стекла телесуфлёра, переворачивающий подсказку горизонтально, вертикально или в обоих направлениях в альбомной ориентации, с компактной кнопкой для живого зеркала, позиции, размера текста, скорости и элементов управления воспроизведением. - **Позиция чтения с зрительным контактом** — активная строка по умолчанию находится чуть ниже фронтальной камеры или может быть отцентрирована. - **Опциональная камера во время чтения** — показ или скрытие камеры за подсказкой. - **Запись селфи-видео** — захват видео с камеры и аудио с микрофона, с переключением фронтальной/задней камеры, сохранение в Фото с галереей записей. - **Подсказка только для ведущего** — прокручиваемая подсказка видна на экране, но не встраивается в сохранённое видео. - **Соответствующие шрифты** — Sans, Serif, Mono и OpenDyslexic на обеих платформах. - **Распознавание речи** — на устройстве или через обработку Apple в зависимости от Mac, языка и доступности системы; для классического режима микрофон не требуется. - **Параметры отображения** — закрепление к вырезу, плавающее окно или полноэкранный режим на выбранном дисплее; регулируемая высота текстовой области (100–400 px) и размеры шрифта (от XS до XL). - **Скрытие из демонстрации экрана** — предотвращает появление оверлея в записях экрана или видеозвонках. - **Удалённое подключение** — просмотр телесуфлёра на любом устройстве через браузер в локальной сети (HTTP + WebSocket), с доступом по QR-коду, синхронизацией в реальном времени и без необходимости установки приложения на удалённом устройстве. - **Режим режиссёра** — режиссёр может писать, редактировать и отправлять сценарии в реальном времени из любого браузера, с выделенным сервером HTTP + WebSocket (порт по умолчанию 7575), живым редактированием текста, подсветкой прочитанного и потоковой передачей состояния в реальном времени с частотой 10 Гц. - **Импорт заметок PowerPoint** — перетащите файл .pptx для извлечения заметок докладчика в виде страниц. - **Поддержка нескольких страниц** — навигация между страницами с автоматическим продвижением. - **Живая форма волны** — визуальный индикатор голосовой активности. - **Конфиденциальность** — без учётных записей, рекламы, аналитики или облачного сервиса Textream; распознавание речи может отправлять аудио в Apple для обработки (см. политику конфиденциальности). - **Открытый исходный код** — лицензия MIT. Для разработчиков API режима режиссёра предоставляет HTTP-сервер и WebSocket-сервер в локальной сети. Встроенный веб-интерфейс доступен по адресу `http://<mac-ip>:<http-port>`, а конечная точка WebSocket — по адресу `ws://<mac-ip>:<ws-port>`. Аутентификация требует 64-символьный токен, извлекаемый из HTML страницы режиссёра. Клиенты отправляют JSON-сообщения, такие как `{"type":"auth","text":"<token>"}`, в течение пяти секунд после подключения. Команды включают `start` (заменяет текст и запускает отслеживание слов), `updateText` (редактирует непрочитанный текст, сохраняя позицию чтения) и `stop`. Сервер транслирует кадры состояния каждые ~100 мс с полями, такими как `words`, `highlightedCharCount`, `totalCharCount`, `fontColor`, `cueColor` и `audioLevels`. Минимальный пример клиента на Python приведён в README. Сборка из исходного кода требует Xcode 26 или новее, с целью macOS с использованием языкового режима Swift 5. Для iOS требуется SDK iOS 26 и среда выполнения симулятора, а также физическое устройство для проверки камеры, микрофона, записи и сохранения в Фото. Клонируйте репозиторий, откройте `Textream/Textream.xcodeproj`, выберите соответствующую схему (Textream для macOS, TextreamiOS для iOS) и запустите с помощью ⌘R. Для iOS может потребоваться изменить идентификатор пакета, если `dev.fka.textream` недоступен, и включить режим разработчика на устройстве. Приложение также регистрирует схему URL `textream://read?text=...` и службу macOS, позволяя отправлять выделенный текст из любого приложения в Textream. Оригинальная идея принадлежит Семиху Кышлару, приложение создано Фатихом Кадиром Акином. Страницы конфиденциальности и поддержки доступны на textream.net.