Flite,一种开源的tts软件从安装到…

移植开源TTS flite到ARM Linux并使用编译的静态库 1.下载压缩源码包flite-1.4-release.tar.bz2到linux开发主机。 2.新建一个文件夹flite,将源码压缩包flite-1.4-release.tar.bz2拷贝到该目录。 3.在flite目录中新建一个目录install,后续make install会自动将生成的库和头文件等需要部署的内容拷贝到该目录,方便部署到板端。 4.解压源码压缩包flite-1.4-release.tar.bz2,tar flite-1.4-release.tar.bz2 5.进入解压后... 阅读详情
AI摘要

本文介绍 Flite 的安装、使用及如何定制语音库,包括通过修改源码实现特定功能的方法。

一. 下载安装:
(1)下载地址:http://www.speech.cs.cmu.edu/flite/download.html
(2) 和一般的开源软件安装步骤基本一致:
      tar zxvf flite-XXX.tar.gz
      cd flite-XXX
      ./configure (可选项 --prefix=/opt 意思是指定安装目录,其实不需要特别指定,flite会默认安装在/usr/local下面)
       make
       sudo make install

二. 使用:
在linux下通过flite命令可以使用文字转语音功能:
flite -t hello 直接将hello这个单词读出来,你也可以用命令flite “hello world”
flite hello 此命令中hello是一个文件的名字,flite会将hello文件中的内容读出来
flite -f hello.txt (同上)
flite -f hello.txt -o test.wav (将读出的语音保存在test.wav中)
flite -lv (查看当前支持的声音种类)
flite -voice slt -f hello.txt (选择语音库,"slt"是一个女声的语音库,听起来比较好听,我通过-lv命令查到之后就用这个了)

三. 修改源码,搞点定制功能(我用的源码是flite-1.4-release.tar.bz2)
     虽然flite命令很好用,有很多功能,但是如果我们想将flite移植到更小的操作系统上面,比如某个只有很少资源的android的arm板上的话,通过改源码来实现我们想要的功能才是比较实际的。
     下面,就来搞定刚刚提到的选择语音库的功能。上级领导要求我们做的tts要能听到清晰好听的声音,比较了一下flite当前支持的几个语音库,最终觉得“slt”最好听,因为是女生的声音,嘻嘻~~。但是代码中默认选择的是“kal”语音库,一个听起来不够可爱的男声,也不太清晰,怎么能从代码中把这个地方找到呢(因为当时不知道默认选择的语音库的名字是“kal”,这个是我后来找到它才知道的)?
      看到一个文档中写所有发布的语音库都列在一个全局list中,flite_voice_list,顺藤摸瓜,找到了它在flite_voice_select函数中被用到,我猜这个flite_voice_select函数应该对应的就是flite -voice *** 命令了,加了一条打印信息,再编译,安装,输入命令的时候果真看到了我刚刚添加的打印信息。可是这个flite_voice_select函数只是帮忙选出了命令行指定要用的语音库(在程序代码中对应的是一个数据结构),到底是怎么将它指定到语音输出的呢?哦,原来在flite_main.c文件中的main函数中。

下面这个应该就是输入命令flite -voice ***时,完成语音库选择的程序代码:
Flite,一种开源的tts软件从安装到使用

下面这段代码,应该是输入命令时不指定-voice ***,那么就默认有一个语音库被选择,无论怎样,最后desired_voice都赋值给变量v,v是一个“cst_voice”结构体指针,也是最后执行flite_**_to_speech函数时传入的一个参数,v即表明选择哪个语音库。
Flite,一种开源的tts软件从安装到使用

下面才是真正执行tts功能的函数,那个参数v即上面的desired_voice,找到这里就找到了源头了,想要改变语音库,只需要改变flite_***_to_speech函数的第二个参数就可以了。
Flite,一种开源的tts软件从安装到使用

下面是我写的代码,通过调用flite API 实现的,将文本的内容转成语音发出。
#include "flite.h"
cst_voice *register_cmu_us_kal(const char *voxdir);
int main(int argc, char **argv)
{
    cst_voice *v;
    if (argc != 2) {
        fprintf(stderr,"usage: flite_test FILE\n");
        exit(-1);
    }
    flite_init();
    v = register_cmu_us_kal(NULL);
    flite_file_to_speech(argv[1],v,"play");
    return 0;
}
从上面代码可看出,v的值来自 register_cmu_us_kal(NULL)函数, 只要将v改变就可以改变语音库了
Flite,一种开源的tts软件从安装到使用
其实这个函数的参数是没有用到的,不知道为什么搞一个参数
函数 register_cmu_us_kal 实现的是注册一个默认的语音库"kal",源码lang/目录中还有类似的函数,都是注册相应的语音库的,那么只需要找到“slt”语音库的注册函数,就可以换一个默认的语音库,函数在这里:
Flite,一种开源的tts软件从安装到使用

将源代码中的 v = register_cmu_us_kal(NULL); 改成   v = register_cmu_us_slt(NULL);
再加一句, cst_voice *register_cmu_us_slt(const char *voxdir);
另外,在编译flite源码的时候记得要编译新的语音库"slt"哦。
比如
我原来裁剪的时候是将slt裁剪掉了,现在想要用"slt"语音库了,代码改完,却编译不过,才想起来,是由于我之前将"slt"部分代码(lang/cmu_us_slt/目录下的代码)都删掉了,现在再加回来就OK啦!

开源就是好啊,记录完毕,over!



有一本书是讲flite的,推荐给大家 ( 此次的源码修改最初头绪都是来自这本书):
http://pan.baidu.com/share/link?shareid=1419587388&uk=3909358855
3个开源TTS(一)——安装使用 项目在身,要求分析几款开源的TTS引擎(不需要是中文的),然后选择一个为系统朗读英文文本提供接口。先从eGuideDog的余音(Ekho)开始,Ekho(余音)是一个把文字转换成声音的软件。它目前支持粤语、普通话(国语)、诏安客语和韩语(试验中),英文则通过Festival间接实现。先是找到了它的英文实现方式,不过之前看到过这样一篇文章《7个开源的TTS(文本转语音)系统推荐》,因此从中选择了3个... 阅读详情

相关推荐

Asterisk与Flite开源技术结合

Asterisk是一个功能强大的开源PBX(Private Branch Exchange,私有自动分机)系统,为IT专业人士和电信开发者提供了一个灵活的平台,用于构建和部署企业级通信解决方案。从最基本的电话系统到高级多媒体应用程序,Asterisk都能够支持,包括VoIP(Voice over Internet Protocol)、视频电话会议、交互式语音响应(IVR)系统以及常规的电话服务。Asterisk的优势在于它的模块化和开源特性。

weixin_42575109的博客 782

3个开源TTS(三)flite的简要分析与espeak的选择

这篇主要介绍下flite和在windows下的cygwin中编译,以及选择espeak的原因。     从flite的介绍中可以看到,它是festival-lite,即festival的精简版,相对于Festival结构过冗余,速度太慢,它是一款短小精悍,快速实时的TTS引擎。Flite设计中兼容Festival的voiees和models,Flite使用HRGS(heterogeneous r

要想到做到 1万+

FliteTTSPlugin:虚幻引擎Flite文本到语音插件

FliteTTSP插件 虚幻引擎Flite文本转语音插件(仅Windows) 介绍 Flite是一个小型的快速运行时语音合成引擎。 它是免费软件综合工具套件的最新成员,其中包括爱丁堡大学的Festival语音综合系统和卡内基梅隆大学的FestVox项目,用于构建综合声音的工具,脚本和文档。 但是,flite本身不需要这些系统中的任何一个即可进行编译和运行。 当前的插件版本基于Flite 2.0.0版本构建。 检查此链接以获取初始源代码: : 虚幻引擎Flite文本到语音插件的新增功能包括: 将Flite源代码移植到Visual Studio 2015当前状态:Win32调试/发布有效

【亲测免费】 推荐开源项目:Flite——小巧快速的语音合成引擎

**项目介绍** Flite是一个轻量级的运行时文本到语音(TTS)引擎,由卡耐基梅隆大学开发,旨在为各种设备提供高效的语音合成服务。它不依赖于Festival或FestVox系统,但与它们兼容,特别适合那些对大小和速度有严格要求的场景。 **项目技术分析** Flite的核心库由Alan W Black开发,全部采用ANSI C编写,保证了其在不同平台上的可移植性,并强调线程安全。它的设计...

gitblog_00035的博客 1725

flite:小型快速便携式语音合成系统

Flite: a small run-time speech synthesis engine version 2.1-release Copyright Carnegie Mellon University 1999-2018 All rights reserved http://cmuflite.org https://github.com/festvox/flite Flite是一个开源的小型快速运行文本到语音引擎。 它是免费软件综合工具套件的最新成员,其中包括爱丁堡大学的Festival语音综合系统和卡内基梅隆大学的FestVox项目,用于构建综合声音的工具,脚本和文档。 但是,flite本身不需要这些系统中的任何一个即可进行编译和运行。 核

ArcGIS学习记录—SHP文件转换为KML KMZ数据,并显示面要素相应的标注

使用相应软件操作获取KMZ数据得以下发到外业调查人员,使得矢量数据能够更显而易见,可视化,让外业人员的工作减轻许多。(过程步骤是借鉴于网络上的相关人士给的建议,根据这些建议自己做出来的步骤,可能有些粗略,有问题的话可以再进行探讨)...

qq_41046162的博客 5万+

3个开源TTS(一)—安装使用

项目在身,要求分析几款开源的TTS引擎(不需要是中文的),然后选择一个为系统朗读英文文本提供接口。先从eGuideDog的余音(Ekho)开始,Ekho(余音)是一个把文字转换成声音的软件。它目前支持粤语、普通话(国语)、诏安客语和韩语(试验中),英文则通过Festival间接实现。先是找到了它的英文实现方式,不过之前看到过这样一篇文章《7个开源的TTS(文本转语音)系统推荐》,因此从中选择了3个

gaohuanjie的专栏 1万+

【医学影像】Deep Learning for Automatic Pneumonia Detection

写在前面的话: 这篇论文是北美放射学会(RSNA)在Kaggle平台上托管的肺炎区域检测挑战赛取得第二名成绩的解决方案。因为笔者需要用到其中的图像增强方案,因此本篇博客只介绍了数据集和图像增强,关于模型的改进和其它改进点没有涉及。 论文地址:https://arxiv.org/abs/2005.13899 代码地址:https://github.com/tatigabru/kaggle-rsna 比赛地址:https://www.kaggle.com/c/rsna-pneumonia-detection-c

chenzhoujian_的博客 1567

Flite语音合成引擎完整指南:轻量级TTS解决方案的终极教程

🚀 **Flite语音合成系统**是一个小巧、快速且可移植的开源文本转语音(TTS)引擎,专为嵌入式系统和资源受限环境设计。本文将为您提供从基础概念到高级应用的完整指南,帮助您快速掌握这个强大的语音合成工具。 ## 什么是Flite语音合成系统? **Flite(Festival Lite)** 是一个轻量级的语音合成引擎,它继承自爱丁堡大学的Festival系统,但经过优化后体积更小、运行

gitblog_00221的博客 954

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 266

DSSAT模型建模教程

随着数字农业和智慧农业的发展,基于过程的作物生长模型(Process-based Crop Growth Simulation Model)在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农业碳中和、农田固碳减排等领域扮演着越来越重要的作用。现有版本V4.7能模拟27种主要农作物的生长发育和产量形成过程,被广泛应用于精细农业、水肥管理、气候变化、粮食安全、土壤碳周转、环境影响、农业可持续性、农业生态等诸多与农业生产和科研有关的领域。如果你是个模型入门者,这次将让你体验一键模拟的乐趣。

weixin_55561616的博客 1414

java开源tts_开源TTS(Text To Speah)的选择和使用

TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。TTS是语音合成应用的一种,它将文件内容或应用上的文字等,如应用菜单或者网页,转换成自然语音输出。TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。一、比较流行的开源TTS项目MARY-- Text-to-Speech SystemMARY is an open-sourc...

weixin_36343015的博客 2253

GT-suite v2016的下载和安装

1 写在前面 GT-suite 是一款用来做内燃机仿真的软件。在安装过程中遇到很多问题,网上的安装教程也大都抄来抄去,试着安装了几遍都没有成功。最终在贴吧一个老哥的帖子里找到了解决办法,但是老哥的帖子也不是很详细,所以做了这个详细版本的教程。 GT-suite v2016安装包: 链接:https://pan.baidu.com/s/1JZPgJ8_-J-L8rV84-eHedQ 提取码:uj...

kisssshot的博客 3万+

java tts开源,程序员罗杰-开源的TTS软件Flite从安装到使用

一. 下载安装:(1)下载地址:http://www.speech.cs.cmu.edu/flite/download.html(2) 和一般的开源软件安装步骤基本一致:tar zxvf flite-XXX.tar.gzcd flite-XXX./configure (可选项 --prefix=/opt 意思是指定安装目录,其实不需要特别指定,flite会默认安装在/usr/local下面)mak...

weixin_35299004的博客 696

从命名玄学看单片机江湖:STC、STM32与ESP32的型号密码与设计哲学

本文解析了STC、STM32和ESP32三大主流单片机系列的型号命名规则,揭示了其背后的设计哲学与市场策略。通过详细解读STC89C52、STM32F103C8T6等具体型号,帮助开发者理解芯片核心特性、性能等级及适用场景,为嵌入式系统选型提供实用指南。

g5h6i的博客 762

Python调用CANoe(2)(测试模块配置)

本节内容在Python和CANoe的数据交互(1)的基础认知上,继续探索Python如何加载TestSetup,以及运行tse测试文件

蚂蚁小兵 1万+

Flite语音引擎终极指南:轻量级TTS解决方案深度解析

🚀 Flite是一款开源的小型快速运行时文本转语音引擎,作为GitHub加速计划的重要组成部分,它提供了高效的语音合成解决方案。无论您是开发者还是普通用户,这个轻量级TTS工具都能满足您的需求。 ## 什么是Flite语音引擎? Flite是一个**小型、快速、可移植的语音合成系统**,专门为资源受限的设备设计。它源自卡耐基梅隆大学的Festival语音合成系统,但相比Festival,Fl

gitblog_00802的博客 884

改进的U-Net在视网膜血管分割上的应用

为了提高算法在血管边界的分割能力,在编码部分采用全局卷积网络(GCN)和边界细化(BR)替换传统的卷积层;在跳跃连接部分引入改进的位置注意模块(PA)和通道注意模块(CA),目的是增加血管与背景之间的对比度,使网络更好地将血管与背景分割开;此外,为了提高网络的性能,在编码部分的最后一层使用密集卷积网络解决网络过拟合问题,同时为了在一定程度上解决梯度爆炸、梯度消失的问题,在解码部分的每一层使用卷积长短记忆网络提升网络获取特征信息的能力。替换传统的卷积操作来解决血管边界非血管像素误分为血管的问题。

weixin_70923796的博客 783

Ubuntu下安装和使用开源的tts软件Flite

  Flite是什么?   Flite是一个小型、快速的TTS系统,是festival的C版本,可用于嵌入式系统,支持WinCE、Palm OS 等。   下载方法: wget http://www.festvox.org/flite/packed/flite-1.4/flite-1.4-release.tar.bz2   安装指南: tar zxvf flite-X...

weixin_30394251的博客 1011

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

终极指南:如何快速部署Flite语音合成引擎 - 轻量高效的跨平台TTS解决方案

Flite语音合成引擎是一个开源的小型快速运行时文本转语音(TTS)系统,专为资源受限的设备设计。作为Carnegie Mellon University开发的轻量级语音合成解决方案,Flite在保持高质量语音输出的同时,实现了极小的内存占用和超快的处理速度。 🎯 ## Flite语音合成引擎的核心优势 ### 极致的轻量化设计 Flite的核心理念就是"小而快"。相比传统的Festival

gitblog_00021的博客 733

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

中文 tts 开源 Android,7 个开源的TTS(文本转语音)系统推荐-Go语言中文社区

前言:TTS在电视产品的应用,能够帮助对电视机界面无法采用可视化标准访问的盲人和弱视的人,在欧洲在美国已经开始制订了规范的实现标准,和实施的规章制度。Ref:http://www.iteye.com/news/23832TTS(Text To Speech,文本转语音)是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS可以帮助有视觉障碍的人阅读计算机上的信...

weixin_33895652的博客 4862

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

开源TTS(Text To Speah)的选择和使用

TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。 TTS是语音合成应用的一种,它将文件内容或应用上的文字等,如应用菜单或者网页,转换成自然语音输出。 TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。 一、比较流行的开源TTS项目 以下信息来自:TTS open source project ...

2300
上一篇: 深入浅出node.js:5 内存控制
下一篇: 7 个开源的TTS(文本转语音)系统推荐
CopperDong
博客等级 码龄14年 1205粉丝 466原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值