如何使用命令行进行文本转语音输出?


Answers:


125

受欢迎程度降序排列:

  • say使用GNUstep语音引擎将文本转换为可听语音。

    sudo apt-get install gnustep-gui-runtime
    say "hello"
    
  • 节日通用的多语言语音合成系统。

    sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-say向语音分派器发送文本到语音的输出请求

    sudo apt-get install speech-dispatcher
    spd-say "hello"
    
  • espeak是一种多语言软件语音合成器。

    sudo apt-get install espeak
    espeak "hello"
    

13
spd-say看来是预先安装在14.04和更高版本:releases.ubuntu.com/trusty/...
西罗桑蒂利新疆改造中心法轮功六四事件

3
另外sudo pip install gTTS,(Google Text to Speech / github.com/pndurette/gTTSgtts-cli "hello" -o hello.mp3也可以将其通过管道传递到mpg123 -gtts-cli "why, hello there" | mpg123 -
伊利亚·林恩

不幸的是,spd-say似乎不能同时玩tts,一次只能玩一次
phil294

@ElijahLynn无法正常工作
Dims

espeak/ spd-say最适合模因(其他人甚至无法正确发音“ meme”一词)。我可以说出最好的spd-say用法espeak作为其后端(声音听起来一样)。
QwertyChouskie '18年

18

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。但这是一个不同的故事。


1
非常好,您也可以尝试使用图形用户界面espeak,espeak-gui。
Sabacon'1

14

来自man spd-say

名称
       spd-say-将文本到语音的输出请求发送到语音分派器

概要
       spd-say [选项]“一些文本”

描述
       spd-say将文本到语音的输出请求发送到语音分派器进程,由该进程进行处理并理想地输出结果
       到音频系统。

选项
       -r,--rate
              设置语音速率(介于-100和+100之间,默认值:0)

       -p,--pitch
              设置语音的音调(在-100到+100之间,默认值:0)

       -i,-音量
              设置语音的音量(强度)(介于-100和+100之间,默认值:0)

因此,您可以通过以下命令获得文本到语音转换:

spd-say "<type text>"

例如:

spd-say "Welcome to Ubuntu Linux"

您还可以设置语速,音调,音量等。请参见手册页。


3
spd-say -t female2 "text"使它可以承受
scorpiodawg

6

Mbrola从11.10开始不起作用。

SVOX(pico)工具易于安装,易于使用,并在Ubuntu中带来高质量的声音。安装它:

sudo apt-get install libttspico0 libttspico-utils libttspico-data

通过安装“ Read Text”扩展,您可以将LibreOffice与SVOX(pico)工具结合使用,并获得此优秀TTS软件的“ GUI”:

使用工具-附加组件-阅读选择设置阅读文本扩展选项。...使用/ usr / bin / python作为外部程序。选择包含令牌(PICO_READ_TEXT_PY)的命令行选项。


4

Python Google Speach:

pip install google_speech

google_speech "Test the hello world"

来自Android的Svox:

apt-get install svox-pico

pico2wave --wave=test.wav "Test the hello world"
play test.wav

Svox Nanotts:

git clone https://github.com/gmn/nanotts.git
cd nanotts
make

./nanotts -v en-US "Test the hello world"

链接-Wiki:

语音合成器的比较


1
要安装和使用google_speech在Ubuntu 18.04我必须安装python3-piplibsox-fmt-mp3和使用pip3 install google_speech
artm

3

还有另一个esgui gui :gespeaker。它同时使用espeakmbrola引擎。此外,它还有比的更多选择espeak-gui


3

以下内容不是FLOSS解决方案,但您可能会发现它值得。(这是一种葡萄酒解决方案),

我个人非常热衷于TTS,我经常使用它。听一个漫不经心的话语,我永远都不会再坚持其他方式了(因为我需要再喝一杯咖啡... :)

一路上我发现的一些东西..或者我应该说,一路上我还没有发现的东西...说白了:我尝试过的每一个FOSS TTS语音软件都处于标准水平,因此不适合任何长时间的听...

我目前使用ATnT的NaturalVoices。它仅适用于Windows(可能是Mac),但是确实可以wine在Ubuntu 下运行。与NatualVoices的语音质量所带来的优势相比,这是一个问题。

我发现,对于半明智的聆听体验而言,实际上还有其他一些必要条件; ...

  1. 这些TTS程序不是很聪明(也许像一个年轻的狒狒一样聪明)..因此,他们需要可以获得的所有帮助。并有一个(且只有一个读者,我发现程序在这极大地帮助。该应用程序被称为ReadPlease (2003 Pro)...这allowd你特意修改词与词的群体被宣布为希望他们...它绝不是完美的,但是对我来说,这使整个过程变得可用与不可用之间有所不同...

  2. 《自然之声》中的演讲“还可以”,但是有点无聊。也有其他好的产品,但是不幸的是,它们都适用于Windows。..
    有时效果令人惊讶。.但是OMG,最初是很痛苦的!..所以#2是* 耐心 ...和您的“特殊单词”列表的大量更新...耐心,我的意思是您(我)实际上已经习惯了我特定狒狒的语音模式:)...顺便说一句,我目前大约有3000个单词,听起来已经足够“人性化”,以至于我听到它们不再畏缩。

    3.“跟随弹跳球”再次,因为声音永远不会像真实的讲话者那样好,所以有时需要澄清一些事情。我使用的Reader程序具有一个功能,甚至它笨拙的界面都为它提供了...。它具有“选择当前正在读取”的单词选项。屏幕的中心..这是无价的,能够前后查看以快速重新读取您刚刚错过的内容(因此,自动将当前行居中即可)。

好吧,这是我的经验。.我现在要煮咖啡,而在做的同时,我会听着看,看它是如何“读”的。...TTS非常适合拿起错字(我经常打错字)...

如果在Ubuntu信息库中出现了与ATnT NaturalVoices一样好的东西,我会跳过的。

这是一些自然之声的链接:我使用“ MIke”


3

SVOX pico2wave

那就是我用的 听起来自然,易于理解,可识别单位(m,°C,kg,...)

这是我对pico2wave的第一篇文章

听起来自然发短信吗?

您所要做的就是:

转到Ubuntu软件中心并搜索“ pico”。您会在“ Small Footprint Ling ...”中找到4或5个条目。安装它们。

我的第一个帖子中介绍了pico2wave的可能用法(按照上面的链接)。

再见


我用过你的方式,你能告诉我如何用你的方式获得自然甜美的女性声音
吗?

3

对于festival(声音对我来说似乎更自然):

sudo apt-get install festival

echo "hello" | festival --tts

节距和速度配置:

创建~/.festivalrc

(Parameter.set 'Audio_Command "play -b 16 -c 1 -e signed-integer -r $SR -t raw $FILE tempo 1.5 pitch -100") (Parameter.set 'Audio_Method 'Audio_Command)

另请参见http://www.solomonson.com/content/ubuntu-linux-text-speech

更新:在另一台ubuntu计算机上尝试过。必须安装英语语音引擎程序包才能与节日正常工作:

sudo apt-get install festvox-kallpc16k

play就是,它有一个CLI命令sox包:

sudo apt-get install sox



2

Meet- espeak-ng多语言软件语音合成器:

espeak-ng "text to read"
espeak-ng -f "~/file to read"

它使用默认的英语语音,但是还有许多其他语言可用于其他语言甚至方言,并且可以列出espeak-ng --voices(全部)或例如espeak-ng --voices=en(英语)。它们可以与-v语言缩写或文件名一起设置,例如对于苏格兰语或斯瓦希里语:

espeak-ng -v en-gb-scotland "text to read" # language name
espeak-ng -v bnt/sw "text to read" # file name: “bnt” for Bantu, “sw” for Swahili

还有许多其他选项可用,例如-s,关于速度以及-w将输出写入波形文件的信息,请参见下面的联机帮助页。

进一步阅读

espeak-ng(“ ng”代表“下一代”)是原始espeak语音合成器软件的积极开发的分支,请参阅Wikipedia上的“ History”(历史)一章。两者都可以通过包装espeak或从官方渠道espeak-ng获得。


0

Wine下的Balabolka对SAPI4语音(对我而言)工作正常(对我而言)(在我的Linux系统上未检测到SAPI5语音)。它可以打开文件并开始阅读。

这是Balabolka的wine的AppDB条目的链接:https ://appdb.winehq.org/objectManager.php?sClass = application&iId = 17859


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.