文字转语音

粘贴文本、选择语音、按下按钮。合成全部在浏览器里完成:系统语音立刻开口,神经网络语音需要一次性下载,但在任何设备上听起来都一样,还能存成文件。

  • 0字符数
  • 0大约时长
  • 0可用语音

系统语音无法保存:浏览器把它直接送到声卡,并不把音频流交给页面。神经网络语音在你的设备上生成,因此可以下载成 WAV 文件。

使用方法

  1. 粘贴或输入要朗读的文本。
  2. 想要在任何设备上都一致的语音,并且留下一个文件,就打开神经网络语音:模型只下载一次,之后留在浏览器里。
  3. 选择语音 — 列表来自你设备上已安装的语言。
  4. 如果默认朗读太快或太平,调整语速和音调。
  5. 点「朗读」;可以暂停,并从同一位置继续。

实用说明

这些声音从哪里来

浏览器自己并不带语音 — 它向操作系统索取。所以每台设备上的列表都不一样:手机通常每种语言有好几个声音,而桌面 Linux 在装上语音包之前可能一个都没有。这同时意味着没有字数上限、也没有订阅:干活的是你本来就有的软件。

两种语音,各有取舍

系统语音启动不花代价:它本来就装在机器里,按下按钮就说话——但音色取决于这台机器,纯净的 Linux 桌面上甚至可能一个语音都没有。神经网络语音是下载下来、在你自己设备上运算的模型:中文用的是约六十兆字节的 Piper。无论哪种方式,文本都留在你这边,结果还能保存为 WAV。

长文本是分段朗读的

把整篇文章一次交给语音引擎,它会中途放弃:Chrome 如果不推动队列,大约十五秒就停;Safari 会丢掉前几百个字符之后的全部内容。因此这里按句子边界切分,逐句排队送入。若改成按字数硬切,断点会落在词的中间,听起来就像结巴。

常见问题

能把语音下载成文件吗?

可以,用神经网络语音:声音就在页面里生成,因此播放器旁边会出现「下载 WAV」按钮。系统语音则无法保存——浏览器把它直接送到声卡,并不把音频流交给页面,根本没有可以拼成文件的数据。

列表里没有语音,怎么办?

说明系统里一个都没装。Windows 在语言设置里添加,Android 和 iOS 在无障碍里添加,Linux 需要安装 speech-dispatcher 的语音包。装好后请刷新页面 — 列表是在加载时读取的。

同样的文本在别的浏览器为什么不一样?

因为语音来自系统,但默认选哪个声音、如何处理停顿、具体节奏都归浏览器管。Chrome 还可能提供网络语音,听起来更顺,但需要联网。

文本会被发送到服务器吗?

页面不会把文本发往任何地方。神经网络语音只从 huggingface 下载一次模型,之后离线工作;你粘贴的文字始终留在设备上。被标为网络语音的系统语音倒是可能向厂商请求音频,所以这里优先选择本地语音。

相关工具