LOCAL-FIRST TELEPROMPTER

TCQ

本地优先 · 隐私优先的手机提词器。音频不出设备语音跟随在本地运行。一台手机录像,一台放镜头边显示稿件。

VITE · TYPESCRIPT · WASM · PWA — 开源,无后端

WHAT'S INSIDE

WHY
TCQ

基础滚动优先、隐私为边界。以下功能当前即可使用。

01 / NATURAL SCROLL

自然滚动

无需模型、无需麦克风即可开始。按你这篇稿件测出的真实语速稳定滚动,断网也能用。

02 / LOCAL SCRIPTS

本地稿件库

多篇文章保存在本机 IndexedDB,刷新不丢、换设备不传。没有账号,没有云端。

03 / SPEED TEST

本机语速测试

用本机麦克风测出当前稿件的绝对语速。首末静音不计时,句中自然停顿保留;拒绝权限也能手动测速。

04 / READING LINE

阅读线 & 手势

拖动阅读线定窗口;单击暂停、双击回上一行、三击回顶、四击撤销。纵向滑动调字号,手动滚动即暂停。

05 / AI HINTS

AI 表演提示

接你自己的 OpenAI / Anthropic 接口,在对应语段前生成大号 emoji 情绪与动作提示。API Key 只存内存,不落盘。

06 / INSTALLABLE

PWA 离线

可安装到手机主屏,像原生 App 一样离线运行。Service Worker 与运行时走 Cache Storage。

PRIVACY BY DESIGN

NO
UPLOAD

这是 TCQ 和绝大多数提词器最大的不同:你的声音只属于这台设备。

A

音频只在当前设备内处理:经 AudioWorklet 采集,按设备真实采样率流式重采样到 16kHz,再进本地 ASR Worker 推理。

B

不上传服务器,不用 Web Speech API,不接任何付费语音接口。源码里没有上传音频的 fetch / XHR / WebSocket。

C

AI 表演提示仅在你点击"分析稿件"时,才把稿件文本发往你自己填写的接口。接口、模型、Key 只存在页面内存,刷新即清空。

D

无账号、无追踪、无后端。稿件与设置留在你的浏览器 IndexedDB,谁也拿不到。

EXPERIMENTAL

VOICE
FOLLOW

实验中 · 尚未开放 语音跟随已在本地用 sherpa-onnx WASM 跑通,但界面入口尚未开放。

它想做到的事:你念到哪一行,屏幕就滚到哪一行——对齐 Cursor 由本地 n-gram 候选搜索与语速估算驱动, 音频全程不离开设备。但按项目纪律,在真机 soak test 完成前,不得宣称"已支持"。

  • 独立 ASR Worker · 官方 sherpa-onnx Emscripten 运行时
  • 贪婪搜索 + 端点规则 + 单线程 CPU 配置
  • 2–4 token n-gram 候选 + 局部带状编辑距离 + Cursor 稳定门槛
  • 重新开放前需:iPhone Safari + Android Chrome 各 10 分钟连续朗读验证

当前可用路径:直接用自然滚动。需要更准的速度时,做本机语速测试即可。

GET STARTED

START

三步开始。不需要模型,不需要账号。

  1. 01

    打开 tcq.hcds.cc,点右上文稿入口,粘贴并保存你的口播稿。

  2. 02

    从左侧入口读一段试读文字,测出本稿语速(可选,不测也能直接开始)。

  3. 03

    点阅读线下方的"开始滚动",把手机架在镜头边,开录。