如何获得输入文本的语音输出通过使用命令行?
还可以改变语速、音调、音量等使用简单命令。
答案1
按降序排列受欢迎程度:
答案2
espeak
是一个很好的小工具。
我只是喜欢在命令行中使用它。您可能会发现它与 Pulseaudio 冲突,因此我使用了一个冗长的版本,这样就无需正确设置它了。
sudo apt-get install espeak
espeak --stdout "this is a test" | paplay
espeak --help
将向您显示校准阅读速度、音调、声音等的选项。
当你做笔记时,将它们保存为文本文件,然后:
echo "these are my notes" > text.txt
espeak --stdout -f text.txt > text.wav
paplay text.wav # you should hear "these are my notes"
然后,您可以使用 ffmeg 等工具将其从 PCM 压缩为更易于管理的格式,例如 MP3 或 OGG。但那是另一回事。
答案3
从man spd-say
:
姓名 spd-say - 向语音调度器发送文本转语音输出请求 概要 spd-say [选项]“一些文本” 描述 spd-say 将文本转语音输出请求发送到语音调度进程,语音调度进程处理该请求并输出结果 至音频系统。 选项 -r,--速率 设置语音速率(-100 至 +100 之间,默认值:0) -p,--音高 设置语音的音调(-100 到 +100 之间,默认值:0) -i,--音量 设置语音的音量(强度)(-100 到 +100 之间,默认值:0)
因此您可以通过以下命令进行文本转语音:
spd-say "<type text>"
前任:
spd-say "Welcome to Ubuntu Linux"
你也可以设置语速、音调、音量等。参见手册页。
答案4
Mbrola 自 11.10 起不再工作。
SVOX (pico) 工具易于安装、易于使用,并且可在 Ubuntu 中提供高品质的声音。安装它:
sudo apt-get install libttspico0 libttspico-utils libttspico-data
更简单的是,你可以将 LibreOffice 与 SVOX (pico) 工具结合使用,只需安装“阅读文本”扩展您将获得此款优秀 TTS 软件的“GUI”:
设置阅读文本扩展的选项使用工具 - 附加组件 - 读取选择....使用 /usr/bin/python 作为外部程序。选择包含令牌 (PICO_READ_TEXT_PY) 的命令行选项。