发布时间:2024-10-19 17:01
SYN6288语音合成模块是一款播报声音的模块,目前大部分毕业设计的人机交互工作都交由OLED、LCD等屏幕显示来完成,如果能够使用语音播报来代替屏幕显示,或者与屏幕显示一起参与人机交互,那么你的毕设效果就会更加新颖。SYN6288语音合成模块的使用的方法非常简单,下图是我经常使用的一款SYN6288语音合成模块,背面的电子元器件图我就不展示了,感同学可以通过下方的资料链接去了解。图中,SYN6288语音合成模块引出7个引脚,但我们只用到其中四个引脚,分别是连接5V的VCC引脚、接地的GND引脚、与单片机进行串口通讯的TXD和RXD引脚。
接下来讲解STM32F103C8T6与SYN6288语音合成模块的通讯的代码,建议有兴趣的同学可以跟舍友集资入手一块,按照资料里面提供的接线图,用杜邦线将STM32F103C8T6与SYN6288模块连接起来,再通过Jlink或STlink将代码烧录进STM32中即可看到效果。
delay_init( ) 初始化延时函数,执行这条语句后,18-21行的延时效果才会准确。
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)设置中断优先级分组。
USART3_Init(9600) 初始化串口3函数,波特率为9600,这句代码执行完成后,我们就可以调用16行的SYN_FrameInfo( )函数让语音合成模块发出 “这里是毕设大逃亡” 的声音了。
SYN_FrameInfo(2, \"[v9][m0][t5]这里是毕设大逃亡\") 这行代码实现发声功能,发声内容为 “这里是毕设大逃亡”,如果大家想要改变发音的内容,只要修改函数括号里面的绿色标记的中文内容,再将代码编译烧录进STM32即可。
细心的同学会发现绿色标记的中文内容前面有一串 [v9][m0][t5] 这样的字符串,它们是有自己的作用的,其中 [v9] 的作用是让播报声音的音量大小为第9个等级,[m0] 的作用是将背景音乐调成静音,[t5] 的作用是将播报的声音速度提高到最高,具体参考下图。而SYN_FrameInfo( )函数第一个参数是背景音乐选择(0是无背景音乐,1~15代表发声时不同的背景音乐), 说了这么多,只要入手这个模块后,自己去修改上面提到的参数,然后编译烧录进STM32就可以直观看到效果了。
18-21行延时函数的作用是让程序等待语音合成模块将声音信息播报完成,如果延时太短,就会发生当前声音还未播报完成就去播报下一条声音信息的现象。
自此代码讲解完成,想了解每个函数的具体实现过程的同学可以去文章底部下载代码了解。
当我们的毕设用到SYN6288语音合成模块时,只要清楚上方红色标记的功能函数作用,即可将链接的代码轻松的移植到自己的毕设代码中,在后面的章节中,我会展示给各位同学看。(前提是毕设的主控MCU选用STM32F103C8T6)
资料资料下载链接:
https://pan.baidu.com/s/1UBUXnniBcy8d2rwb5mO2Pw
提取码:q2fx