• 技术文章 >运维 >linux运维

    linux可以tts吗

    青灯夜游青灯夜游2023-03-09 19:14:49原创123

    可以。在linux中,可以借助Ekho软件来实现TTS(文字转语音)功能;只需要下载并安装好Ekho软件,就可使用ekho命令来将文字转为语音,语法“ekho "文字"”。Ekho是一个免费、开源的中文语音合成软件,支持Linux、Windows和Android平台。

    本教程操作环境:linux7.3系统、Ekho 8.6、Dell G3电脑。

    linux系统实现TTS(文字转语音)功能

    1、需求背景

    在用户交互软件开发过程中,经常遇到语音提示需求。语音提示是比较直接的交互方式,能够有效的提高用户体验。目前比较常见的解决方案有百度语音平台、讯飞语音平台,这些平台一般都是通过API调用在线服务。优点是转化的语音比较准确,真人发音,有多种语音包选择,缺点是依附互联网,断网无法使用,需要收费,有使用数量限制。当然啦,可以选择这些平台的离线sdk开发,不同的平台提供的sdk平台不同,对于嵌入式arm平台目前没看到支持的。当然啦,对于提示语音比较少又比较固定的,那么直接采用先录制好语音,使用的时候直接播发语音文件的方式也是简单快捷的解决方案。

    对于嵌入式arm平台,采用linux系统,在无网络语音提示不定的情况下只能采取TTS引擎来解决。多方查找最后发现一款开源的中文TTS软件Ekho(余音)比较合适。

    2、Ekho简介

    Ekho(余音)是一个免费、开源的中文语音合成软件。它目前支持粤语、普通话(国语)、广东台山话、诏安客语、藏语、雅言(中国古代通用语)和韩语(试验中),英语则通过eSpeak或Festival间接实现。Ekho支持Linux、Windows和Android平台。

    Ekho下载地址:http://www.eguidedog.net/cn/ekho_cn.php

    3、Ekho安装

    3.1 下载Ekho

    1.png

    3.2 安装Ekho

    先安装第三方依赖文件,注意,最新版的ekho是依赖espeak-ng库而非espeak,后者已经停止维护。

    sudo apt-get install espeak-ng  libespeak-ng-dev  libsndfile1-dev libpulse-dev libncurses5-dev libestools-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo pulseaudio libpulse-ocaml-dev

    3.3 编译安装

    tar xJvf ekho-xxx.tar.xz
    cd ekho-xxx
    ./configure
    make  -j4
    sudo make install

    注意:其中xxx请替换为具体的文件路径。

    4、测试Ekho效果

    直接生成语音播放

    ekho  "你好呀"

    如果能正常不能播放出声音,那么可能系统的声卡设置有问题,请查看。还有一种原因可能是pulseaudio服务没有启动

    pulseaudio -start

    再次执行ekho “你好呀!”,就能听到一段机械的语音啦。

    生成语音文件

    ekho "你好。请继续保持努力!" -o holdon.wav

    最后设置开机自动启动pulseaudio服务,这一步骤按需设置

    pulseaudio --start --log-target=syslog

    在/etc/rc.local 文件中加入pulseaudio --start --log-target=syslog,设置每次开机自动启动。

    相关推荐:《Linux视频教程

    以上就是linux可以tts吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux dns配置文件是哪个 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Linux窗口支持中文么• linux用来做什么用的• linux中路径是指什么• linux家目录什么意思• linux dns配置文件是哪个• linux有游戏吗
    1/1

    PHP中文网