8084|7

2549

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

【ESP32-Korvo测评】四:文字转语音TTS [复制链接]

  本帖最后由 数码小叶 于 2021-2-7 22:06 编辑

上一篇已将安装好了智能语音助手ESP-Skainet,这次来实际体验一个应用就是文字转语音,为了测试这个,从网上买了两个喇叭,用其中一个4Ω 2W的来测试,之前分析过原理图,最高可以带载4W的喇叭。

要进行文字转语音,首先要有一个预定义的声音集,乐鑫提供里两种方式,一种是用户程序里调用预定义的语音库,一种是从特定的语音分区里调用初始化,乐鑫推荐使用第二种,因为第一种可能是app bin的大小超过ESP32的限制。

采用第二种方法,要先把音频文件单独烧写进去

 

 

在TTS例程中,用到了自定义分区表,在CSV文件中,有这么一行

voice_data, data,  fat, 0x100000, 3M

CSV是ESP32的分区表文件,ESP32 在 flash 的 默认偏移地址 0x8000 处烧写一张分区表。该分区表的长度为 0xC00 字节(最多可以保存 95 条分区表条目)。分区表数据后还保存着该表的 MD5 校验和,用于验证分区表的完整性。此外,如果芯片使能了 安全启动 功能,则该分区表后还会保存签名信息。分区表中的每个条目都包括以下几个部分:Name(标签)、Type(app、data 等)、SubType 以及在 flash 中的偏移量(分区的加载地址)。

从idf.py menuconfig里可以看到,ESP32有三种分区表可以选择,两种系统定义好的,一种自定义的,预先定义好的两个差别是是否包含OTA分区,产品应用的OTA肯定必不可少,但是平时测试,没必要包含OTA了

 

 

分区表中的SubType内容与具体Type有关,目前,esp-idf 仅仅规定了 “app” 和 “data” 两种子类型。当 Type 定义为 app 时,SubType 字段可以指定为 factory (0),ota_0 (0x10) … ota_15 (0x1F) 或者 test (0x20)。当 Type 定义为 data 时,SubType 字段可以指定为 ota (0),phy (1),nvs (2) 或者 nvs_keys (4)。其它数据子类型已预留给 esp-idf 未来使用。所以从文档里找不到这里用到的子类fat,于是只能从程序里倒推,打开esp_partition.h文件,可以找到fat的定义

 

 

 

这个音频文件比较大,有2.8MB,但是烧写速度还是比较快的,不是直接在ESP-IDF中烧录,跳转到git bash中烧录

 

编译完工程,给板子接上喇叭

 

语音文件烧写完成后,还需要烧写程序文件

 

程序烧写完成后就会听到“欢迎使用乐鑫语音合成”

随后就可以通过串口,往板子里输入汉字或者英文字符

可以连续输入,识别转化很快,就是有一点,汉字是连续发音的,英文字符是单个发音的,然后还有一点不完美的地方,就是这个音量很小,那当然是要调节一下了,在MediaHal.h找到了相关的操作函数,MediaHalSetVolume(int volume);最后测试,70的音量大小对于我接的这个喇叭听着刚刚好,那后面就都设置为70了。MediaHalSetVolume(70)。

一步步的体验学习过来,中间解决的bug越多,越能感受到ESP32-Korvo这块板子带来的吸引力

最新回复

谢谢分享   详情 回复 发表于 2021-5-6 17:34
点赞 关注
 
 

回复
举报

2549

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 


 

点评

这个喇叭的声音听起来这么刺耳  详情 回复 发表于 2021-3-22 21:04
 
 
 

回复

294

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

哈哈哈,喇叭都一样,这个TTS 还是很好用的

点评

第一次买喇叭,下次买带线和接口的了,不然用起来麻烦  详情 回复 发表于 2021-2-11 21:29
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

4
 
yangjiaxu 发表于 2021-2-11 17:31 哈哈哈,喇叭都一样,这个TTS 还是很好用的

第一次买喇叭,下次买带线和接口的了,不然用起来麻烦

 
 
 

回复

9790

帖子

24

TA的资源

版主

5
 

这个喇叭的声音听起来这么刺耳

点评

对,声音调大后更明显,但是就买了一个,不知道是喇叭还是驱动的问题,下次再买个不同的回来对比看下  详情 回复 发表于 2021-3-23 08:43
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

6
 
推荐你 科大讯飞XFS5152CE,体积小,中英文TTS合成
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

7
 
littleshrimp 发表于 2021-3-22 21:04 这个喇叭的声音听起来这么刺耳

对,声音调大后更明显,但是就买了一个,不知道是喇叭还是驱动的问题,下次再买个不同的回来对比看下

 
 
 

回复

661

帖子

0

TA的资源

纯净的硅(初级)

8
 

谢谢分享

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表