SpeakDeck 英语口语复听与转写播放器
当前版本:点击打开 SpeakDeck
旧版保留:Whisper Transcriber Legacy
简介
SpeakDeck 是一个为英语口语练习设计的本地转写、复听和 AI 润色辅助工具。
它的前身是 Whisper Transcriber。最初这个工具主要解决一个问题:让学生上传英文录音,然后在浏览器本地用 Whisper.cpp WebAssembly 转写成文字。后来我越来越觉得,真正有价值的地方不只是“把录音转成文字”,而是让学生能更清楚地看见自己的口语表现:
我原本想说什么? 我实际说出来是什么样? 机器听到的英文又是什么样?
所以新版改名为 SpeakDeck。
这个名字更接近现在的产品定位:它不只是一个 transcriber,而是一个英语口语练习 deck,一个可以上传录音、播放音频、同步查看转写文本、逐句回放、搜索关键词、复制 AI 口语润色 prompt 的小型练习工作台。
新版界面也围绕这个思路重新设计:
本地转写 · 听读回放 · AI 口语润色
学生可以先录一段英文回答,再上传到 SpeakDeck;工具会在本地浏览器中完成英文转写。转写完成后,学生可以在 Transcript Playback 区域边听边看,点击某一句跳转回放,搜索关键词,对照自己“想说的内容”和机器“实际识别出来的内容”。
这个过程对口语练习很有价值。
这点也和托福口语训练很贴近。TOEFL iBT 的 Speaking 和 Writing 评分目前会结合 AI 评分和 ETS 认证评分员;ETS 的 SpeechRater 也使用语音识别和语音特征分析来评估非母语者的口语表现。换句话说,学生不仅要让老师听懂,也可以逐渐意识到:自己的英文在机器识别系统里可能会怎样被听见、被理解、被误判。
这里的目的不是让学生“迎合机器”,而是多一个观察角度:如果机器经常识别错某些词、某些音、某些句子,那很可能说明这部分值得重新听一听、改一改、再练一次。
转写完成后,学生还可以用 Copy polish prompt 把转写稿和修改提示词一起复制到 AI 工具中,得到一个更自然、更地道的英文版本,并查看中文修改说明。这样一来,练习就形成了一个很清楚的循环:
说出来 → 转写出来 → 听回去 → 找问题 → 改表达 → 再练一次。
音频转写过程在本地浏览器中完成,不由本网页上传到服务器。
更新记录
2026-06-23 更新:SpeakDeck 新版发布
本次更新将项目从 Whisper Transcriber 正式改名为 SpeakDeck。
旧版 Whisper Transcriber 仍然保留,地址是:
https://shishiapcs.github.io/whisper-transcriber/
新版 SpeakDeck 地址是:
https://shishiapcs.github.io/speakdeck/
这次改名的原因是:工具已经不只是一个“转写器”了。它现在更像一个面向英语口语练习的音频工作台,包含本地转写、同步复听、逐句跳转、关键词搜索、AI 口语润色 prompt 和 AI 工具快捷入口。
新版 banner 也改为:
Mr.Mou English Lab
SpeakDeck
本地转写 · 听读回放 · AI 口语润色
2026-06-23 更新:复古磁带播放器界面
本次更新重新设计了页面结构,让 Transcript Playback 成为主工作区,而不是放在页面底部。
之前的界面更像一个从上到下的步骤页面:
Model Setup → Audio Input → Transcribe → Transcript Playback
这个逻辑清楚,但实际使用时不够方便。学生和老师真正花时间最多的地方,是听音频、看转写文本、搜索内容、复制 prompt。所以新版改成了更接近“音频播放器 + 转写稿工作台”的布局。
主要变化:
- 页面改为播放优先的 audio/transcript workstation;
- 左侧是复古磁带播放器风格的音频控制区;
- 右侧是纸张感的 Transcript Playback 区域;
- Model Setup 被移到折叠的 Model Bay / Setup 中;
- Debug terminal 保留,但默认折叠;
- Copy polish prompt 和 AI 快捷入口被放进主工作流中;
- 桌面端减少滚动,学生可以更快进入复听和修改环节;
- 移动端仍保持单列布局,尽量保证可读性。
这次更新仍然保持纯前端:
HTML + CSS + vanilla JavaScript
没有后端,没有数据库,也没有新增 API。
2026-06-23 更新:磁带轮动画与 LED 细节
为了让播放器更像真实的复古 cassette deck,本次更新增加了几个小的视觉细节。
主要变化:
- 点击播放后,两个磁带轮会开始旋转;
- 暂停或播放结束后,磁带轮停止旋转;
- 绿色 LED meter 移到更自然的位置,避免挡住磁带轮;
- LED 灯条在播放时会轻微闪动,让播放器更有生命感;
- 播放按钮在播放时会呈现按下状态;
- 静音按钮改成更复古的图标风格;
- AI 快捷入口增加了轻量 CSS 图标,不依赖外部图片资源;
- 新增 ChatGPT 作为 AI 快捷入口之一。
这些变化都是 UI 层面的,不影响转写逻辑、模型缓存、音频上传、字幕高亮或 Copy polish prompt。
2026-06-22 更新:Transcript Playback 键盘快捷键
本次更新为 Transcript Playback 增加键盘控制,让学生录音复听和逐句检查更顺手。
主要变化:
- 新增键盘快捷键:
Space播放 / 暂停当前音频; - 新增
←快捷键,可以跳转到上一句转写文本; - 新增
→快捷键,可以跳转到下一句转写文本; - 跳转句子时会自动定位到对应的音频时间点,并高亮当前句子;
- 这些快捷键适合用于逐句复听、检查发音、整理口语转写结果;
- 当用户正在搜索框中输入、编辑文本、点击按钮或使用链接时,快捷键不会触发,避免影响正常页面操作;
- 音频预览区域新增快捷键提示,方便用户直接看到操作方式;
- 该功能仍然是纯前端功能,不调用 API,不需要后端,不自动上传或发送任何音频与文本内容。
2026-06-20 更新:AI Polish Prompt 与 AI 快捷入口
本次更新主要调整 Transcript Playback 底部操作区,让转写结果更方便用于 AI 口语反馈。
主要变化:
- 将原来的 Download text file 按钮替换为 Copy polish prompt;
- 点击后会复制固定的英文口语修改 prompt 和清理后的转写文本;
- 转写文本会整理成一个干净段落,不包含时间戳、debug logs 或多余换行;
- prompt 会要求 AI 修正语法、词汇和句子结构,保持原意,并用简体中文列出主要修改点;
- 复制成功或没有可用转写文本时,会弹出可见提示,避免信息只显示在折叠的 Debug terminal 中;
- 新增 AI 工具快捷入口:Doubao、DeepSeek、Kimi、Yuanbao、Qwen、Wenxin、Qingyan;
- 快捷入口只负责打开网站,不会自动粘贴或发送文本;
- 该功能仍然是纯前端功能,不调用 API,不需要后端,不自动发送任何内容;
- 原来的
downloadTranscript()函数仍保留在代码中,只是不再作为默认按钮显示。
2026-06-13 更新:Transcript Playback 与模型缓存
本次更新将工具从单纯的“转写终端”升级为更适合课堂使用的 Transcript Playback 转写播放工具。
之前的版本已经可以完成本地转写、复制和下载,但使用时仍有几个明显问题:
- 转写结果只显示在终端里,不适合边听边看;
- 播放器和文本结果分散在不同位置,小屏幕上来回滚动不方便;
- 转写完成后,无法像字幕一样跟随音频高亮当前句子;
- 刷新页面后需要重新选择模型文件;
- 开始转写后,用户不容易判断转写是否还在进行。
主要变化:
- 新增音频播放器和同步转写文本区域;
- 播放音频时,当前句子会自动高亮;
- 点击某一句转写文本,可以跳转到对应音频位置并播放;
- 新增转写文本搜索,搜索结果仍可点击跳转音频;
- 转写文本可以直接选中和复制,方便老师提取单词、短语或句子做反馈;
- Debug terminal / raw output 默认折叠,只在需要查看原始 Whisper 输出或错误信息时展开;
- 页面改为从上到下的流程:Model Setup → Audio Input → Transcribe → Transcript Playback;
- 手动导入的模型会缓存到浏览器 IndexedDB,刷新后可自动恢复;
- 如果重新导入另一个模型,新模型会覆盖旧缓存,不需要额外清理;
- 转写按钮增加状态提示:Start transcribing、Transcribing… please wait、All done、Transcription failed;
- 修复时间戳和文本重叠、页面自动滚动到底部、按钮过早显示完成等问题;
- 移除容易误操作的 Clear transcript player 按钮;
- 修复 Clear terminal 后同步转写区不应被清空的问题。
2026-06-08 更新:独立项目与像素风界面
本次更新将原来的 Whisper 语音转文字工具整理为独立项目 Whisper Transcriber。
新版主要解决三个问题:
- 中国大陆访问 Hugging Face 下载模型不稳定;
- 原来的界面容易让学生混淆“模型文件”和“音频文件”;
- 多次转写后,旧结果和新结果容易混在一起,影响复制和下载。
主要变化:
- 从原站点中拆分成独立 GitHub 项目;
- 界面改为像素风 / RPG 风格;
- 页面按步骤分区,让模型、音频、转写和结果区域更加清楚;
- 模型下载改为国内访问更稳定的链接;
- 模型加载方式改为手动下载
.bin文件后本地导入; - 提供三个英文模型入口:
tiny.en、base.en、small.en; - 默认推荐
tiny.en,速度最快、文件最小,适合大多数学生日常课堂录音和口语作业; - 模型选择区域改成卡片式按钮,减少学生误操作;
- 移除麦克风录音入口,专注于上传学生录音文件;
- 新增音频预览,选择音频后可以先确认文件是否正确;
- 新增 Copy text 功能,可自动去掉时间戳,并把转写结果整理成连续段落;
- 开始新一次转写时会清空旧输出,避免结果混在一起;
- 音频解析失败时给出更清楚的提示,尤其是部分
.m4a文件无法被浏览器解码时。
新版仍然保持一个原则:
音频在本地浏览器中处理,不上传服务器。
2025-08-14 早期版本
这是早期版本的更新记录,当时的工具地址是:
https://shishiapcs.github.io/transcriber/
早期版本已支持:
- Whisper.cpp WebAssembly 本地浏览器转写;
- iOS 设备使用,iPad 和 iPhone 都可以打开网页运行;
- 文件上传;
- 麦克风录音;
-
多个英文模型:
tiny.en(约 75 MB)base.en(约 142 MB)small.en(约 466 MB)
- 转写结果下载;
- 首次在线获取模型后,可以缓存在浏览器 IndexedDB 中;
- 支持的音频格式取决于浏览器内置解码器。
当时的主要限制是:
- iOS 端部分机型文件选择器对
.wav文件显示不稳定; - 中国大陆访问在线模型不够稳定;
- 页面功能较多,学生使用时容易混淆入口。
这些问题后来在 2026-06-08、2026-06-13 和 2026-06-20 的版本中陆续调整。
主要功能
-
本地英文转写 使用 Whisper.cpp WebAssembly 在浏览器中运行英文语音识别。
-
音频不由网页上传服务器 音频文件在用户本机浏览器中处理。
-
手动模型导入 用户先下载
.bin模型文件,再在网页中选择本地模型。 -
模型缓存恢复 导入过的模型可以保存在浏览器 IndexedDB 中,刷新后通常会自动恢复。
-
音频上传与预览 上传学生录音后,可先播放确认文件是否正确。
-
复古磁带播放器界面 新版界面使用 cassette deck 风格,播放时磁带轮会旋转,LED 灯条会轻微闪动。
-
Transcript Playback 转写结果以时间戳文本形式显示,并能跟随音频播放自动高亮。
-
点击句子跳转音频 点击某一句转写文本,可以直接跳到对应音频位置。
-
键盘快捷键 支持
Space播放 / 暂停,←跳转上一句,→跳转下一句。 -
文本搜索 可在转写文本中搜索关键词,快速定位学生表达。
-
文本选择与复制 同步转写区域中的文本可以直接选中和复制,方便老师提取句子做反馈。
-
Copy polish prompt 一键复制 AI 口语修改 prompt 和清理后的转写文本。
-
AI 快捷入口 提供 ChatGPT、Doubao、DeepSeek、Kimi、Yuanbao、Qwen、Wenxin、Qingyan 的快捷链接。
-
Debug terminal 原始 Whisper 输出仍保留在折叠区域中,方便调试。
浏览器建议
推荐使用最新版:
- Chrome
- Microsoft Edge
Safari 和 iOS Safari 在某些音频格式上可能不稳定,尤其是部分 .m4a 文件。
如果文件能在电脑上正常播放,但网页无法解析,通常不是录音文件本身损坏,而是浏览器无法解码该文件内部的音频格式。建议转换为 MP3 或 WAV 后再上传。
FFmpeg 示例:
ffmpeg -i input.m4a -ac 1 -ar 16000 output.wav
隐私说明
本网页的 Whisper 转写在浏览器本地运行。
音频不会由本网页上传服务器。
Copy polish prompt 只会把 prompt 和转写文本复制到剪贴板,不会调用 ChatGPT、DeepSeek、Kimi、Doubao 或其他 AI API。
AI 快捷入口只负责打开对应网站,不会自动粘贴、提交或发送任何内容。
如果用户手动把内容粘贴到第三方 AI 服务中,该服务的隐私政策由对应平台负责。
模型文件由用户手动下载并导入,可缓存在浏览器本地 IndexedDB 中。清除浏览器站点数据后,模型缓存也会被删除。
如何使用
第一步:下载模型文件
第一次使用时,先在 Model Bay / Setup 区域下载一个 Whisper 英文模型。
推荐大多数学生使用:
tiny.en
它速度最快,文件最小,适合日常课堂录音和口语作业转写。
如果电脑性能较好,也可以使用:
base.en
small.en
模型越大,通常越慢,但准确率可能更好。
第二步:导入模型文件
下载完成后,在 Model Bay / Setup 区域选择刚刚下载的 .bin 模型文件。
例如:
ggml-tiny.en.bin
导入成功后,页面会显示模型已就绪。
现在工具会缓存手动导入的模型。只要不清除浏览器站点数据,下次刷新页面时,模型通常会自动恢复。
第三步:选择学生音频
在播放器区域选择学生录音文件。
常见可用格式包括:
- MP3
- WAV
- M4A / AAC
是否能解析取决于浏览器的音频解码能力。
如果文件能在电脑上播放,但网页无法解析,建议转换成 MP3 或 WAV。
第四步:开始转写
点击:
Start transcribing
按钮状态说明:
Transcribing... please wait:正在转写;All done:转写完成;Transcription failed:转写失败。
转写速度取决于音频长度、模型大小、设备性能和浏览器环境。
第五步:查看 Transcript Playback
转写完成后,在 Transcript Playback 区域可以:
- 播放音频;
- 查看自动高亮的当前句子;
- 点击句子跳转音频;
- 搜索关键词;
- 选中并复制单词、短语或句子;
- 使用 Copy polish prompt 复制 AI 修改提示词和转写文本;
- 展开 Debug terminal 查看原始输出。
第六步:复制 AI 修改 prompt
点击:
Copy polish prompt
工具会复制:
- 固定的英文口语修改 prompt;
- 清理后的转写文本段落。
复制后,可以粘贴到 ChatGPT、DeepSeek、Kimi、Doubao 等 AI 工具中,让 AI 做基础口语修改。
该功能只复制文本,不会自动发送内容。
第七步:打开 AI 工具
可以使用底部的快捷入口:
ChatGPT / Doubao / DeepSeek / Kimi / Yuanbao / Qwen / Wenxin / Qingyan
也可以手动打开其他 AI 助手。
打开后粘贴刚才复制的内容并发送即可。