找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1683

积分

0

好友

216

主题
发表于 2026-2-12 10:41:02 | 查看: 35| 回复: 0

你在做直播或者录视频时,是不是经常遇到这种窘境:一边盯着镜头强颜欢笑,一边疯狂用余光瞟旁边的小纸条?或者低头念稿,结果眼神和观众完全断联,显得极不专业?

如果你是 macOS 用户,且系统已经升级到了 macOS 15 Sequoia,那么这款名为 Textream 的开源工具或许能完美解决你的痛点。它不仅仅是一个简单的提词器,更是一个结合了实时语音追踪Dynamic Island 风格悬浮窗以及完全本地化隐私处理的高效辅助工具。

简单来说,它能让你的提词词“贴”在刘海屏下方,随着你的语速自动滚动,甚至你念到哪个词,它就高亮哪个词。

核心功能深挖:不只是滚动,而是“懂你”的提词

Textream 的强大之处在于它提供了三种截然不同的引导模式,以及对多显示器的完美适配。

1. 三大引导模式

无论你是想要精准控制节奏,还是完全解放双手,总有一种模式适合你。

Mode Description Microphone
Word Tracking (default) On-device speech recognition highlights each word as you say it. No cloud, no latency, works offline. Supports dozens of languages. Required
Classic Auto-scrolls at a constant speed. No microphone needed. Not needed
Voice-Activated Scrolls while you speak, pauses when you’re silent or muted. Perfect for natural pacing. Required

除了上述模式,它还包含以下细颗粒度控制:

  • Scroll speed — Adjustable 0.5–8 words/s for Classic and Voice-Activated modes.
  • Speech language — Choose your preferred speech recognition language for Word Tracking mode.
  • Mouse scroll to catch up — In Classic and Voice-Activated modes, scroll with your mouse to jump ahead or back. The timer pauses while you scroll and resumes from the new position.

2. 极致灵活的显示模式

Textream 最大的亮点在于其对 UI 的精心设计,完美融入 macOS 生态。

Mode Description
Pinned to Notch A Dynamic Island–shaped overlay anchored below the MacBook notch. Sits above all apps.
Floating Window A draggable window you can place anywhere on screen. Always on top.
Fullscreen Fullscreen teleprompter on any display. Press Esc to stop.

Pinned to Notch 选项非常人性化:

  • Follow Mouse — The notch moves to whichever display your cursor is on.
  • Fixed Display — Pin the notch to a specific screen.

同时,它还支持外部显示器与 Sidecar。你可以将提词器投屏到连接的 iPad 上,甚至支持镜像翻转(Mirror),适配专业的提词器反光玻璃硬件。

实战演示:从安装到运行

安装方式

最简单的方式是使用 Homebrew 安装:

brew install f/textream/textream

或者直接去 GitHub Releases 下载最新的 .dmg 文件。

注意:Requires macOS 15 Sequoia or later. Works on Apple Silicon and Intel.

首次启动避坑

由于 Textream 是非 Mac App Store 分发的应用,首次打开可能会被系统拦截。请在终端运行以下命令绕过限制:

xattr -cr /Applications/Textream.app

然后右键点击 App → 选择 Open。之后系统就会记住你的选择。

编译与开发

如果你想深入研究源码,项目结构非常清晰,基于标准的 SwiftUI 开发:

git clone https://github.com/f/textream.git
cd textream/Textream
open Textream.xcodeproj

Project Structure:

Textream/
├── Textream.xcodeproj
├── Info.plist
└── Textream/
├── TextreamApp.swift              # App entry point, deep link handling
    ├── ContentView.swift              # Main text editor UI + About view
    ├── TextreamService.swift          # Service layer, URL scheme handling
    ├── SpeechRecognizer.swift         # On-device speech recognition engine
    ├── NotchOverlayController.swift   # Dynamic Island + floating overlay
    ├── ExternalDisplayController.swift # Sidecar / external display output
    ├── NotchSettings.swift            # User preferences and presets
    ├── SettingsView.swift             # Tabbed settings UI
    ├── MarqueeTextView.swift          # Word flow layout and highlighting
    ├── PresentationNotesExtractor.swift # PPTX presenter notes extraction
    ├── UpdateChecker.swift            # GitHub release update checker
    └── Assets.xcassets/               # App icon and colors

URL Scheme 调用

Textream 还支持通过 URL Scheme 直接唤起,方便通过其他 App(如快捷指令)调起:

textream://read?text=Hello%20world

避坑指南与总结

适用人群: 如果你是 Streamer(需要念赞助商词)、Interviewer(需要看问题列表)、Presenter(需要看 Keynote 备注)或 Podcaster,Textream 几乎是为你量身定做的。

特别提示:

  1. 隐私安全:Textream 的所有语音识别处理均在设备端(On-device)完成,不会上传任何数据到云端,这对于注重隐私的商业环境至关重要。
  2. PPTX 导入:它甚至支持直接拖入 .pptx 文件提取演讲者备注,这一点对职场人非常友好(Keynote 需先导出为 PPT)。
  3. 字体支持:特意包含了 OpenDyslexic 字体,为阅读障碍用户提供支持。

总的来说,Textream 用极简的设计解决了内容创作者的“忘词焦虑”,且完全免费开源,值得每一个 macOS 用户尝试。如果你对这类实用的开源实战项目感兴趣,不妨多关注社区的分享。

GitHub开源地址:https://github.com/f/textream




上一篇:Linux服务器数据防护实战:构建LVM、Rsync、Restic三重体系对抗勒索软件
下一篇:RTOS任务划分实战:嵌入式开发者如何设计高内聚、低耦合的任务架构?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 12:59 , Processed in 0.723664 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表