本地运行 · 隐私优先 · 零安装

一台手机录像,
另一台就是提词器。

TCQ 是一个跑在手机浏览器里的本地提词器。稿件存本地、音频在本地,不用装 App,不用登账号——打开链接就能用。

privacy boundary

你的音频,从不离开这台设备。

没有服务端语音识别,没有 Web Speech API,没有付费语音接口。隐私不是开关,而是架构本身。

音频只在本地推理

麦克风音频经过 AudioWorklet、设备采样率到 16kHz 的流式重采样,再进入 sherpa-onnx WebAssembly 在本机完成识别。全程不离开浏览器。

mic → AudioWorklet → 16kHz → WASM (device-only)

没有任何上传

源码中不存在把音频发往服务器的 fetch / XHR / WebSocket 或第三方语音 SDK。网络请求只用于当前站点的静态资源和你自取的本地模型。

audio egress: ✕ none

AI 提示由你掌控

可选的"表演提示"只在你显式点击"分析稿件"时,才把文稿发往你自己的 OpenAI 兼容 / Anthropic 接口;API Key 不写入本地存储,刷新即清空。

key → not persisted · script → only on click
what works

已经能稳定用的

不加载模型、不授权麦克风,也能直接开始。下面是当前产品已经开放的能力。

01

自然滚动

按你真实朗读语速滚动。没有模型、没有麦克风权限、还没做语速测试,都能以默认速度直接开始。

02

本地稿件库

多篇稿件存 IndexedDB,刷新不丢、无需账号。每篇独立保存试读内容与测得语速。

03

阅读线 & 手势

拖动阅读线定位窗口;左右滑调字号(10–72px,本机保存);单击或空格暂停/继续。

04

可选 AI 表演提示

填自己的 OpenAI/Anthropic 兼容 Key,显式点击才分析情绪、眼神与动作,以行间 emoji 提示。

05

横竖屏 & PWA

离线可用,加到主屏就像 App。阅读线、字号与稿件在设备间(同浏览器)保持一致。

06

试读校准语速

读完试读段即保存本稿绝对语速;舒缓稿与快节奏稿可分别编辑试读内容并测试。

current status

什么能用,什么还在做

我们不愿把实验中的能力包装成"已可用"。下面是诚实的边界。

已可用

  • + 自然滚动(无需模型 / 麦克风)
  • + 本地稿件库与多稿切换
  • + AI 表演提示(自选接口,显式触发)
  • + PWA 离线 & 阅读线 / 手势

实验中 · 暂不开放

  • ~ 语音跟随:底层代码在,但界面不开放入口
  • ~ 重新开放前需先完成真机连续朗读验证
  • ~ 不向用户暴露模型、对齐与语音参数
桌面浏览器与移动视口尺寸已验证;但 iPhone Safari / Android Chrome 的真机麦克风长时间连续朗读尚未完成验收,因此本页不宣称"已适配移动端"。语音跟随不会因桌面实验闭环而提前开放。
get started

三步开始,不用安装

01

打开链接

在手机浏览器里打开提词器地址,无需下载、无需登录。

02

粘贴并保存稿件

把口播稿粘进稿件区,点"保存并应用",存进本机。

03

点"开始滚动"

按你的语速滚动;需要更准就先读完一段试读测速。

打开提词器

自然滚动不需要麦克风;仅在你想测速时才在本机使用麦克风,且拒绝权限也能用手动测速。