ekho 编译安装

ekho 编译安装

  • ekho 编译安装
    • ekho 介绍
    • 源码下载
    • 源码编译
      • 编译依赖
      • 编译
    • 测试
  • 参考文献

ekho 编译安装

ekho 介绍


Ekho(余音)是一个免费、开源的中文语音合成软件。它是eGuideDog project.项目的一部分。

它目前支持粤语、普通话(国语)、广东台山话、诏安客语、藏语、雅言(中国古代通用语)和韩语(试验中),英语则通过eSpeak或Festival间接实现。

Ekho支持Linux、Windows和Android平台。

源码下载


github 网址:https://github.com/hgneng/ekho

源码编译


安装过程可以参考 ekho/INSTALL 文档

编译依赖

文档建议安装以下库:

  • texinfo
  • libltdl-dev
  • libmpg123-dev
  • libsonic-dev (optionally required by change speed)
  • libutfcpp-dev (https://utfcpp.sourceforge.net/)
  • libespeak-ng-dev
  • libsndfile1-dev (http://www.mega-nerd.com/libsndfile/)
  • libpulse-dev
  • libncurses5-dev (required by --enable-festival)
  • libestools-dev (optionally required by --enable-festival)
  • festival-dev (optionally required by --enable-festival)
  • libvorbis-dev (optional)
  • libmp3lame-dev (optional)
  • libdotconf-dev (required by --enable-speechd)

实际我这里只安装了几个必要的库:

  • utfcpp
  • espeak-ng
  • pcaudiolib
  • sonic

依赖库安装

utfcpp

utfcpp 不需要编译安装,只需要将 utfcpp/source 目录下的文件拷贝到 /usr/include 目录下就可以。

pcaudiolib

可移植的 C 音频库为不同的音频设备提供 C API。如果不安装此库,可能没有声音输出。

./autogen.sh
./configure
make
sudo make install

sonic

sonic 是一种简单的算法,用于加速/放慢语音。他是一个非常简单的 C 库,用于 tts 的后端。

make
sudo make install

espeak-ng

espeak-ng 是一款基于 espeak 引擎的紧凑的开源软件,用于文本到语音的合成。

./configure
make
sudo make install

其他

speechd

Speech Dispatcher是一款免费且开源的软件,为文本到语音(TTS)引擎提供了一个通用接口。该软件充当应用程序和TTS引擎之间的桥梁,提供了一个标准化和一致的方式来生成语音输出。它为开发人员提供了一个易于使用的API,可以将文本到语音功能集成到他们的应用程序中,从而使文本内容能够被朗读出来。

Speech Dispatcher还包括语速控制、音调调整和音量调节等功能,允许用户根据自己的喜好个性化语音输出。它支持多个音频后端,使用户可以选择最适合自己需求的音频输出设备。

git clone https://github.com/hgneng/ekho.git
git clone https://github.com/hgneng/speechd.git
mv speechd ekho/speechd-api

编译

./configure
make
sudo make install

测试


ekho "你好,我是小明,来自中国河北,是一名程序员。"

可以听到中文语音。

参考文献

ekho

eGuideDog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/23134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【无人机协同】基于改进灰狼算法实现多峰环境下的多无人机协同路径规划附matlab代码

% 初始化算法参数 num_drones 5; % 无人机数量 num_iterations 100; % 迭代次数 num_wolves 20; % 灰狼数量 alpha 0.5; % 狼群更新参数 beta 0.8; % 狼个体更新参数 delta 0.5; % 灰狼群体更新参数 lb [0 0]; % 路径范围下限 ub [100 100]; % 路径范围上限 % 初始化无…

Transformer学习(2)

这是Transformer的第二篇文章,上篇文章中我们了解了分词算法BPE,本文我们继续了解Transformer中的位置编码和核心模块——多头注意力。下篇文章就可以实现完整的Transformer架构。 位置编码 我们首先根据BPE算法得到文本切分后的子词标记,然…

拿捏红黑树(C++)

文章目录 前言一、红黑树介绍二、插入操作三、验证红黑树四、红黑树与AVL性能比较与应用五、总体代码总结 前言 我们之前介绍了一种AVL的高阶数据结构,在本篇文章中,我们将会介绍一种与AVL旗鼓相当的数据结构–红黑树。 我们并且会对它的部分接口进行模…

C语言面试题30至39题

30. 用变量a给出下面定义 由于题目没有提供具体的定义,这里给出几个常见的变量定义示例: 整数变量:int a;字符变量:char a;浮点变量:float a;双精度浮点变量:double a;指针变量:int *a; 31. …

Mongo 地理位置查询:海量密集点转换成聚合信息

通俗来说:将地图上的海量密集点通过网格分割的方式实现聚合; 需求:用mongo实现设备地理位置聚合查询 :多边形,矩形查询; 背景:上万设备数据量 目的:分享Mongo地理位置查询,以及文…

zdppy_amauth 实现给角色批量绑定权限

新增接口 api.resp.post("/auth/role_auth", amauth.role.add_auths)如何测试 如何测试能不能给指定的角色批量的添加权限呢? 1、需要新建一个角色2、需要拿到这个角色的ID3、需要新增三个权限4、需要拿到新增的三个权限的ID5、拿着角色ID和权限ID列表…

SSL代码签名最佳实践

代码签名就是软件发布者使用全球可信的证书颁发机构CA颁发的代码签名证书对软件代码进行签名,由此来验证软件开发者的真实身份,确保软件代码的完整性和可信任性。然而,攻击者一直试图渗透代码签名,意将恶意软件嵌入可信代码中。由…

【二叉树】Leetcode 637. 二叉树的层平均值【简单】

二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释&#xff1a…

前端 JS 经典:如何实现私有字段

前言:方法有很多,但是我们需要择优选择。 1. 命名规范 我们可以通过命名规范实现私有字段,如:下划线 缺点:没有强约束力,我们用了也就用了 class A {_key 1; }const a new A(); a._key; // 1 2. Sym…

深入探讨5种单例模式

文章目录 一、对比总览详细解释 二、代码1. 饿汉式2. 饱汉式3. 饱汉式-双检锁4. 静态内部类5. 枚举单例 三、性能对比 一、对比总览 以下是不同单例模式实现方式的特性对比表格。表格从线程安全性、延迟加载、实现复杂度、反序列化安全性、防反射攻击性等多个方面进行考量。 …

必应bing国内广告怎样开户投放呢?

企业都在寻找高效、精准的营销渠道以扩大品牌影响力,提升市场占有率,作为全球第二大搜索引擎,微软旗下的必应Bing凭借其卓越的搜索技术和庞大的用户基础,成为了众多企业拓展市场的首选广告平台。在中国,必应Bing广告以…

Day33

Day33 SQL-续 数据类型 tinyint、int、unsigned、float、double、decimal、char、varchar、BLOB、LONGBLOB、TEXT、LONGTEXT、date、time、datetime、timestamp、year # 数据类型# 整数类型 ------------------------------------------------------------- # tinyint - 1字节…

vuInhub靶场实战系列-DC-6实战

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置二、信息收集2.1 主机发现2.1.1 nmap扫描存活主机2.1.2 arp-scan扫描存活主机 2.2 端口扫描2.3 指纹识别2.3.1 尝试指纹识别2.3.…

【LC刷题】DAY01:704. 二分查找、27. 移除元素

【LC刷题】DAY01:704. 二分查找、27. 移除元素 文章目录 【LC刷题】DAY01:704. 二分查找、27. 移除元素704. 二分查找 [link](https://leetcode.cn/problems/binary-search/description/)第一思路:优化思路 27. 移除元素 [link](https://leet…

解决Mac无法上网/网络异常的方法,重置网络

解放方法 1、前往文件夹:/Library/Preferences/SystemConfiguration 2 、在弹窗中输入上边的地址 3 、把文件夹中除了下图未选中的文件全部删掉,删除时需要输入密码 4 、重启mac 电脑就搞定了。

python的一种集成开发工具:PyCharm开发工具

一. 简介 本文简单了解两种 python语言所使用的 集成开发环境: PyCharm、vscode。 python语言学习中,可以任意选中这两个集成开发环境的一种就可以。本文先来简单学习 PyCharm开发工具安装与使用。 二. python的一种集成开发工具:PyChar…

【LeetCode】40. 组合总和 II

组合总和 II 题目描述: 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例…

数据更新后Ant Design Table组件界面未刷新怎么解决?

在使用Ant Design的Table组件时,我们时常需要动态更新表格数据以满足应用需求。然而,有时即使数据已经更新,界面却没有进行相应的刷新。这种情况可能由多种因素导致,其中之一就是关于key属性的使用问题。本文将重点讨论key属性在解…

Nginx的https功能

一.HTTPS功能简介 Web网站的登录页面都是使用https加密传输的,加密数据以保障数据的安全,HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议,HTTPS其实…

Springboot框架开发与实用篇之热部署 2024详解

开发与实用 手动启动热部署 热部署(Hot Deployment)指的是在应用程序正在运行的情况下,对其进行更新或修改并将这些变更应用到正在运行的应用程序中的过程。通常情况下,传统的部署方式需要停止应用程序、部署更新,然…