ESpeak NG (ESpeak Next Generation) 是一个小型的开源程序,用于将文本转换为各种语言和口音的语音输出。
常规的文本转语音系统非常复杂,依赖于大量记录人类声音的数据库。ESpeak NG 采用了一种不同的方法,理解每种语言的发音规则,并构建来自基本语音单元的声音,这使得它非常轻便。它合成的声音可能无法与人类的自然声音相媲美,它的清晰度和多功能性完全可以应用于各种自动化任务。
在这篇文章中,我们将向您展示如何使用 espeak-ng 让您的 Linux 终端说话。
安装 espeak-ng
ESpeak NG 拥有广泛的平台支持,使其成为所有环境中通用的文本到语音解决方案。
Linux (Debian/Ubuntu)
sudo apt install espeak-ng
Windows 10/ Windows 11
前往 GitHub releases 下载 Window 二进制文件。
MacOS
brew install espeak-ng
Android
前往 GitHub releases 下载 APK 文件。
基本用法
最基本的用法如下:
espeak-ng "Hello, world"
运行这个命令将使用默认语音播放 “Hello,world”
从标准输入读取
echo "Linuxtechi is one of the leading Linux blogs" | espeak-ng
将输出保存为 WAV 文件
使用 - w 选项将合成声音保存为 .wav 音频文件。
espeak-ng -w output.wav
支持的语言
speak-ng 支持多种语言和方言,你可以使用以下命令列出所有支持的语言:
espeak-ng --voices
修改发声
您可以使用 + whisper、+croak、+klatt 等修饰符
espeak-ng -v en+croak -p 40 -s 120 "Warning: system under load."
以下命令显示所有可用语音变体 (修饰符)
espeak-ng --voices=variants
更改速度和音高
-p
标志改变音高,而 -s
标志改变语速
espeak-ng -p 80 -s 210 "This is a fast and high voice.
espeak-ng -p 30 -s 120 "This is a slow and deep voice."
在 Shell 脚本中创建自定义音频警报
在 shell 脚本中使用诸如 speak-ng 之类的工具自定义音频警报,是提高终端互动性和生产力的有效方法。
长时间运行的构建或编译
编译大型库(如 Linux 内核或 Android ROM)可能需要几分钟甚至几小时。
make -j5 && espeak-ng "Build complete"
这样,您就可以执行其他任务,而不必一直检查终端。
文件传输或备份完成
rsync -avh /media/backup/ /mnt/remote/ && espeak-ng -v en+croak -s 150 -p 40 "Backup finished"
当使用 Rsync 工具复制大文件或同步目录,方便在任务完成后通知。
测试用例反馈
pytest && espeak-ng "Tests passed" || espeak-ng "Some tests failed"
运行自动化测试(例如 pytest, JUnit 等)并获得成功或失败的音频反馈。
下载完成
wget https://chuangtzu.ftp.acc.umu.se/debian-cd/current-live/amd64/iso-hybrid/debian-live-12.10.0-amd64-xfce.iso && espeak-ng "Download complete"
如果您正在下载一个大文件,您可以添加语音通知。
系统维护
sudo apt update && sudo apt upgrade -y && espeak-ng "System updated"
您可以在清理、更新或备份完成时收到通知,而不是阅读日志。
登录问候
espeak-ng -p 30 -s 120 "Welcome, $USER. Let's write some good code today!"
把以上命令添加到 ~/.bashrc
文件。