1411|3

2308

帖子

0

资源

纯净的硅(高级)

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

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

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

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

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

Snipaste_2021-01-31_14-18-56.png

 

 

在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了

 

Snipaste_2021-02-07_09-35-45.jpg

 

分区表中的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的定义

 

Snipaste_2021-02-04_14-10-00.jpg

 

 

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

Snipaste_2021-01-31_14-17-53.png

 

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

微信图片_20210206215143.jpg

 

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

Snipaste_2021-01-31_14-20-19.png

 

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

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

Snipaste_2021-01-31_14-32-59.png

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

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


回复

2308

帖子

0

资源

纯净的硅(高级)


 


回复

183

帖子

0

资源

一粒金砂(中级)

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

点评

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

回复

2308

帖子

0

资源

纯净的硅(高级)

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

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


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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