Ubuntu下使用 Ekho 进行TTS文本转语音

一、官网下载

Ekho - Chinese text-to-speech software (supports Cantonese, Mandarin)

 Ekho支持Linux和Windows平台,使用时需要同时下载源文件和声音数据,解压到"jyutping"或"pinyin"。(以jyutping开头的声音数据是粤语,而以pinyin开头的声音数据是国语。文件名中的44100和16000表示的是采样率。采样率高意味着声音质量高。)

并解压

二、安装

依赖:

需阅读英语,则需要配置编译Festival,在configure选项中加上--enable-festival

需speech-dispatcher API和支持屏幕阅读的话,就加上--enable-speechd

(speech-dispatcher是一个平台独立的语音合成API,其框架是基于client/server模型的,两者通信是通过TCP连接使用Speech Synthesis Independent Protocol (SSIP)协议通信或者接口库通信的。)

sudo apt-get install libespeak-dev
sudo apt-get install pulseaudio
sudo apt-get install libpulse-ocaml-dev
sudo apt-get install libsndfile1-dev libpulse-dev libncurses5-dev libmp3lame-dev libespeak-dev
sudo apt-get install libespeak-dev libsndfile1-dev libpulse-dev libncurses5-dev libestools-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo
sudo apt install autoconf libtool 
sudo apt install libsndfile1-dev libespeak-ng-dev libpulse-dev texinfo libltdl-dev libmpg123-dev libsonic-dev libutfcpp-dev

源码包:

speechd-api:speech-dispatcher API(平台独立的语音合成API);
sonic:一个语音变速的算法实现;
ekho-data:ekho的字典文件和声音数据,TTS是通过文本分析,再查找字典,找到对应的声音数据,然后通过语音合成出来的;
Utfcpp:处理Unicode编码字符串的库。
src:(ekho的主要实现)和lib(上面说的这几部分的静态链接库*.a)了

cd ekho-9.0
./configure --enable-speechd

三、使用事项

note:

  如下,-v是选择语种,-p是设置音高(与声音的频率相关),-a是设置音量,-s是设置语速。

Ekho text-to-speech engine.
Version: 8.6

Syntax: ekho [option] [text]
-v, --voice=VOICE
        Specified language or voice. ('Cantonese', 'Mandarin', 'Toisanese', 'Hakka', 'Tibetan', 'Ngangien' and 'Hangul' are available now. Mandarin is the default language.)
-l, --symbol
        List phonetic symbol of text. Characters' symbols are splited by space.
-f, --file=FILE
        Speak text file. ('-' for stdin)
-o, --output=FILE
        Output to file.
-t, --type=OUTPUT_TYPE
        Output type: wav(default), ogg or mp3
-p, --pitch=PITCH_DELTA
        Set delta pitch. Value range from -100 to 100 (percent)
-a, --volume=VOLUME_DELTA
        Set delta volume. Value range from -100 to 100 (percent)
-s, --speed=SPEED
        Set delta speed. Value range from -50 to 300 (percent)
--english-speed=SPEED
  Set English delta speed. Value range from -50 to 150 (percent)
--server
        Start Ekho TTS server.
--request=TEXT
        Send request to Ekho TTS server.
--port
        Set server port. Default is 2046.
--version
        Show version number.
-h, --help
        Display this help message.

Please report bugs to Cameron Wong (hgneng at gmail.com)

默认普通话

ekho "你好"
ekho test.txt  (文本中输入中文内容)
ekho -v Cantonese "你好" //使用广东话

ekho -f 测试文件.txt  //读文件

ekho "你好。请继续保持努力!" -o holdon.wav //生成录音文件
ekho -f test.txt -o test.wav

ekho -v Cantonese -f 测试文件.txt -t ogg -o gdh.ogg //将文本转换成广东话版本的ogg格式的录音文件

ekho "大家好,今天是星期五" -s -50 ~ 100(默认是0)// 调整语速
ekho -f test.txt -s -50 ~ 100 -o test.wav(默认是0)// 调整语速

ekho "大家好,今天是星期五" -p -100 ~ 100(默认是0,不包括-100)//调整语调

ekho "大家好,今天是星期五" -a -100 ~ 100(默认是0,不包括-100)//调整音量
ekho -f test.txt -a -100 ~ 100 -o test.wav(默认是0,不包括-100)//调整音量
ekho -p 200 "改革春风吹满地 中国人民真争气" //这个很light

在github上下载的ekho的源码,按照cpp文件中的编码方式进行编译

 g++ ../src/test_ekho.cpp libekho.a  ../libmusicxml/libmusicxml2.a -pthread  -I. -I../include/soundtouch libekho.a -lsndfile /usr/lib/speech_tools/lib/libSoundTouch.a -lportaudio /usr/lib/speech_tools/lib/libFestival.a /usr/lib/speech_tools/lib/libestools.a -lcurses /usr/lib/speech_tools/lib/libeststring.a /usr/lib/speech_tools/lib/libestbase.a -lvorbisenc -lvorbis -lm -logg -lasound -lpulse -lpulsecommon-14.2 -lpulse-simple -fopenmp -lespeak 

References:

Linux 下 使用 Ekho 进行TTS文本转语音_linux tts-CSDN博客

linux——ekho7.7.1(最新版)语音合成库的安装与编译_ekho linux 瑞芯微-CSDN博客

嵌入式Linux平台下TTS(文本转语音)技术的实现_嵌入式tts-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值