我们之前分享过TTS (从文本到语音(Text To Speech))功能,目前有两个模块可以实现此功能:
方案一:使用科大讯飞的XFS5152CE语音合成模块,这个模块优点是接近真人发声,缺点价格偏贵,大约80+元;
方案二:利用MP3模块的组合播报功能,实现过当前系统时间的播报,这种方案的优点是模块价格便宜,缺点是语速固定、语音素材需要提前准备。
今天给大家分享一个我新购入的TTS文字转语音合成模块,这个模块由小酷智能语音科技出品,在语音效果要求不是很高的情况下,选择此模块性价比很高。
实现目标- 利用DHT11温湿度传感器获取环境温度和湿度;
- 利用矩阵键盘控制语音播报,当点击矩阵键盘中的按键A时,播报环境温度;当点击矩阵键盘中的按键B时,播报环境湿度值。
本文测试工程源码的获取方式在上面展示视频中获取。
欢迎关注小哈哥的视频号,更多精彩敬请期待。
引脚定义编号 | 引脚 | 描述 |
---|---|---|
1 | 5V | 5V电源输入,支持电压4.5~5.5V |
2 | GND | 地 |
3 | RX | 串口接收脚,接用户MCU的TX脚 |
4 | TX | 串口发送脚,接用户MCU的RX脚,不用可悬空 |
5 | BH | 状态输出,播报时输出高电平,不用可悬空 |
6 | SP+ | 接喇叭+ |
7 | SP- | 接喇叭- |
8 | NC | 暂未用,可悬空 |
9 | BL | 状态输出,播报时输出低电平,不用可悬空 |
注意:不用生产批次,丝印略有差异。
硬件连接TTS语音模块与STM32F103C8T6单片机的串口2相连。
实物展示 通讯参数- 通讯标准:UART
- 波特率:9600 bps
- 起始位:1 bit
- 数据位:8 bits
- 停止位:1 bit
- 校验:无
硬件接好之后,用户使用串口助手,通过USB转TTL模块与TTS语音模块相连,或者使用MCU通过UART串口向TTS模块发送中文GBK码、英文或数字,进行语音合成播报。
如串口配置为(9600,8,N,1),通过串口输出printf("大家好,欢迎关注我的公众号:嵌入式从0到1");
,TTS模块即会播报文字对应的语音。
发送
, 内置 8 种音效,编号为 0-7 ,比如:printf("
,播报编号为0的音效。
发送
,设置播报音量,可设置 1-4 级音量,比如:printf("
,设置音量为3。系统默认为 4,为最高音量。
发送
,设置语速,可设置 1-3 级语速, 比如:+语速值printf("
,设置语速为3。系统默认为 2,为中速。3");
发送1
,设置上电音效提示为第一号音效,0
则为第0号音效。系统默认为0号音效,设置大于7的数,则上电无音效提示。
模块在不同情形下通过TX引脚向用户MCU发送不同的回传信息。
数字及相关标点一般数字按顺序进行播报,如“123”读成“一二三”。
日期、时间、百分号的数字按数字规则,如“2020-02-14”读成“二零二零年二月十四日”、“08:56”读成“八点五十六分”、“25%”读成“百分之二十五”。
注:标准日期格式“2020-02-14”、标准时间格式“12:30”,才会按日期、时间处理,简写和非标准顺序都不会按日期读音处理后读出。
比如:2020-02-14 12:30
STM32F103 串口的使用方法
DHT11及DHT21温湿度传感器时序图解析(STM32)
让机器能够说话,语音播报功能的实现
矩阵键盘的行列扫描原理详解
[网友问答2]上位机如何与STM32进行串口通信
使用Qt打造属于自己的串口调试助手
自己DIY一个mp3播放器
欢迎关注专注于嵌入式知识分享,让你学习路上不迷路,更多技术干货,请关注【嵌入式从0到1】。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)