为什么是 tcq
背稿,是一种浪费。
01 / 记忆
背不下来
长稿、专业术语、中英混读——背稿比录稿还累,一卡壳整段重来。
02 / 眼神
看提词就飘眼神
把手机搁在旁边,读的时候视线就离开镜头,观众一眼能看出来你在念。
03 / 隐私
云端提词=交出去
很多提词、字幕工具会把音频发到服务器做识别。你的稿子和声音,不该离开这台手机。
现在能做什么
一台手机,就够了。
核心
自然滚动
不装模型、不给麦克风权限,也能按默认语速直接开滚。打开就能用,没有前置门槛。
语速
按你的语速走
读一段试读稿,系统记下这篇稿的绝对语速;舒缓稿、快节奏稿分别调速,互不干扰。
稿件
本地稿件库
多稿保存、切换、刷新后恢复;每篇独立存试读内容与语速,IndexedDB 存本机。
阅读
阅读线自由拖
阅读窗口的下边界随手拖动,线以下的字自动淡出,视线始终停在当下这一行。
排版
字号手势 10–72px
正文左滑缩小、右滑放大,纵向滑动不会误触;单击暂停、双击上一行、三击回顶。
AI
表演提示(你的 Key)
填你自己的 OpenAI / Anthropic 兼容接口,分析情绪、眼神与动作,提示以 emoji 嵌进正文;Key 不落盘。
安装
PWA 免安装
加到主屏即像一个 App,离线可用,不进应用商店、不收分发费,自托管也行。
隐私
音频只在设备内
经 AudioWorklet、16kHz 重采样、sherpa-onnx WebAssembly 在浏览器内推理;无服务端 ASR、无 Web Speech、无付费接口。
当前状态 · 如实说明
语音跟随仍在实验,未开放入口。
底层本地识别代码已存在,但界面暂未开放语音跟随入口,也不作为当前可用功能。手机浏览器的持续麦克风采集尚未在真机完成长时间验证。以上能力恢复可用前,需要先在真机跑完 soak test——我们不会把「桌面能跑」说成「手机已验收」。
三步开始
从打开到开录,几分钟。
STEP 01
打开应用
手机浏览器访问 tcq 公开地址,添加到主屏,离线也能用。
STEP 02
贴入稿件
右上入口新建稿件,粘贴口播稿,点「保存并应用」,刷新后仍在。
STEP 03
开始滚动
阅读线下方点「开始」,按你的节奏读;想更准,先测一下这篇稿的语速。
你的声音,只在这台手机里。
- 音频经 AudioWorklet、16kHz 重采样、sherpa-onnx WebAssembly 在浏览器内推理,不离开设备。
- 没有模型时,基础滚动照样用——滚动不依赖麦克风。
- AI 表演提示仅在用户点击「分析稿件」时,把文稿发往你自己填的接口;API Key 不写入本机。
- 源码里没有任何上传音频的请求(fetch / XHR / WebSocket / 第三方语音 SDK)。
怎么造的
透明的技术栈。
Framework
Vite + TypeScript + 原生 DOM + PWA
ASR Runtime
sherpa-onnx WASM · 单线程 CPU · greedy search
Storage
IndexedDB 稿件与设置 · Cache Storage 模型运行时
Deploy
Cloudflare Static Assets · 公开测试 tcq.hcds.cc
Source
github.com/Fragtex254/tcq · 可自托管
License / 状态
本地优先 · 语音跟随实验中