正在检测可用语音…
0.5 慢速听清每个字,1.0 正常,1.5~2 快速扫读。校对文稿建议 0.8~1.0。
0 很低沉,1 正常,2 很高的卡通音。一般不用动。
工具的音量再叠加一层,系统音量才是总开关——听不见先看看系统有没有静音。
输入一段文字,点播放,让它读给你听。
本工具用的是浏览器原生的 Web Speech API,装了什么语音包就有什么音色。
| 浏览器 | 支持情况 | 语音来源 | 备注 |
|---|---|---|---|
| Chrome / Edge | 很好 | 系统语音 + 少量云端语音 | 桌面端体验最好,中文语音齐全 |
| Safari(macOS / iOS) | 支持 | 系统语音 | iOS 首次朗读需用户手动触发,静音键会静音 |
| Firefox | 支持,但依赖系统 | 完全依赖系统已装语音 | 系统没装中文语音时,列表可能是空的 |
| 国产浏览器(360 / QQ / UC 等) | 多数可用 | 跟随 Chromium 内核 + 系统 | 个别版本内核较老,可能拿不到语音列表 |
| 微信内置浏览器 | 不稳定 | 受系统 WebView 限制 | 建议点右上角「在浏览器打开」 |
| 导出音频文件 | ❌ 不支持 | — | 本工具只做朗读,不导出音频 |
机器味重不重,基本就看这三个滑块。
| 参数 | 范围 | 推荐值 | 调过头会怎样 |
|---|---|---|---|
| 语速 rate | 0.5 ~ 2.0 | 校对 0.8~1.0;扫读 1.3~1.5 | 超过 1.8 基本听不清,中文尤其明显 |
| 音调 pitch | 0 ~ 2.0 | 1.0(不动) | 低于 0.5 像闷罐,高于 1.5 像卡通配音 |
| 音量 volume | 0 ~ 1.0 | 1.0(不动) | 调低不会更「温柔」,只是变小声 |
⚠️ 免责声明:本工具只做朗读,不导出任何音频文件。
朗读使用的语音包来自你的操作系统与浏览器:效果和音色因设备、系统版本、已安装语音包而异,同一段文字在不同电脑上听起来可能完全不同;系统未安装中文语音时,中文可能被读成英文发音或直接跳过。
预计朗读时长按中文约 4 字/秒、英文约 150 词/分钟估算,仅供粗略参考,实际时长受语音包与语速影响。
若浏览器不支持语音合成,页面会给出替代方案。文本全程在你的浏览器本地处理,不会上传到任何服务器。
写完一段稿子想听听顺不顺?看长文看到眼睛疼想起身走动一下?给孩子/老人念一段说明懒得开口?
这个工具就是干这个的:粘贴文字,点播放,它读给你听。
它用的是浏览器自带的 Web Speech API(window.speechSynthesis + SpeechSynthesisUtterance),零第三方库、零服务器、零上传——你的文字压根没离开这台设备。
三个参数,决定了机器味重不重:
· 语速 rate(0.5~2):最常调的一个。校对文稿建议 0.8~1.0,慢一点才听得出错别字和断句问题;只是想快速扫一遍内容,1.3~1.5 效率最高;超过 1.8 中文基本听不清了;
· 音调 pitch(0~2):默认是 1,一般不用动。低于 0.5 会闷得像罐子里说话,高于 1.5 变成卡通配音;
· 音量 volume(0~1):默认 1,也只是叠加在系统音量之上的一层。听不见的时候先检查系统有没有静音,调这个没用。
语音选择这块有个坑必须说一下:语音列表第一次很可能是空的。
这是 Web Speech API 的老毛病——getVoices() 在页面刚加载时经常返回空数组,要等浏览器把语音包异步加载完(触发 voiceschanged 事件)才有内容。
所以这里做了三层保险:立即取一次 + 监听 voiceschanged 再取 + 600ms 后兜底再取一次,列表按中文优先排序,并自动帮你选中第一个中文语音。
关于音色,得把话说清楚:本工具不提供任何语音包,用的是你系统里已经装的那些。
· Windows 上一般是 Microsoft 的中文语音(Huihui / Yaoyao / Kangkang 之类);
· macOS 上是你系统偏好设置里下载的「系统语音」;
· 换一台电脑,同一段文字听起来可能完全不一样;
· 系统里压根没装中文语音的话,中文可能被读成奇怪的发音,或者直接跳过去。
还有一件重要的事,写在最前面也写在最下面:本工具只做朗读,不导出音频文件。
Web Speech API 只能把声音送到扬声器,拿不到音频数据流,所以没法给你生成 MP3。需要音频文件的话,得用专门的 TTS 服务或录音软件。
如果你的浏览器不支持(页面会直接禁用按钮并提示),替代方案也给你列好了:复制文本,交给系统自带的朗读功能——Windows 的「讲述人」、macOS 的「朗读内容」、Android 的「随选朗读」都能用。
最后,文字全程在你自己的浏览器里处理,不会上传到任何服务器,读什么都没人知道。
怎么读:
① 检测 window.speechSynthesis 与 SpeechSynthesisUtterance 是否存在,不存在则禁用全部播放按钮并给出系统朗读替代方案;
② 语音列表三层兜底:初始化取一次 → 监听 voiceschanged 再取 → 600ms 后兜底再取(首次 getVoices() 常返回空),并按中文优先排序、自动选中第一个中文语音;
③ 每次播放前先 speechSynthesis.cancel(),避免上一段没读完就叠加;
④ 新建 SpeechSynthesisUtterance,设置 voice / lang / rate / pitch / volume 后 speak();
⑤ 通过 onstart / onend / onerror 同步状态灯与按钮可用性;
⑥ 时长估算:中文约 4 字/秒、英文约 150 词/分钟,再除以语速倍率。
它不做:不导出任何音频文件(Web Speech API 不提供音频数据流),不提供云端音色,不联网合成。音色完全取决于你的系统与浏览器已装的语音包。
getVoices() 经常返回空数组,要等浏览器异步把语音包准备好才会触发 voiceschanged 事件。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!