看完请留个足迹,点个赞
芯片选型
不难发现某宝搜索出来的语音芯片都是由方案公司推出来的,需要事先给到播报的语音内容,由他们进行一次烧录到语音芯片,不能随意更改,比较麻烦。 简单粗暴,这里直接推荐一款 SYN6288中文语音合成芯片简单好用,是博主最近亲身体验出来的
附上参考代码
这里使用的是STC8位单片机写的代码,并且已验证可直接使用的
//主函数 //****************************************************** void main() { UartInit();//串口初始化 while(1) { //m[0~16]:0背景音乐为静音,16背景音乐音量最大 //v[0~16]:0朗读音量为静音,16朗读音量最大 //t[0~5]:0朗读语速最慢,5朗读语速最快 SYN_FrameInfo(2,"[m4][v16][t5][b0]当你走近,请你细汀,那颤抖[2]的叶是我等带[3]的热情, 而当你终于无视[3]的走過,在你[2]身后落了一地的,朋友,那不是[2]花瓣, 是我凋零[2]的心"); SYN_FrameInfo(0,"[m4][v16][t5][b0]蟑螂药,老鼠药,臭脚克星");//博主专业摆摊20年的广告宣传语 //这里实现语音芯片播放功能 } } //语音芯片功能实现函数 //*********************************************************************** #include "syn6288.h" sbit busy = P3^5; //Music: 0:无背景音乐 1~15:选择背景音乐 void SYN_FrameInfo(uchar Music, uchar *HZdata) { /****************需要发送的文本**********************************/ uchar idata Frame_Info[200]; uchar HZ_Length; uchar ecc = 0; //定义校验字节 uint i = 0; HZ_Length = strlen((char*)HZdata); //需要发送文本的长度 /*****************帧固定配置信息**************************************/ Frame_Info[0] = 0xFD ; //构造帧头FD Frame_Info[1] = 0x00 ; //构造数据区长度的高字节 Frame_Info[2] = HZ_Length + 3; //构造数据区长度的低字节 Frame_Info[3] = 0x01 ; //构造命令字:合成播放命令 Frame_Info[4] = 0x01 | Music << 4 ; //构造命令参数:背景音乐设定 /*******************校验码计算***************************************/ for(i = 0; i < 5; i++) //依次发送构造好的5个帧头字节 { ecc = ecc ^ (Frame_Info[i]); //对发送的字节进行异或校验 } for(i = 0; i < HZ_Length; i++) //依次发送待合成的文本数据 { ecc = ecc ^ (HZdata[i]); //对发送的字节进行异或校验 } /*******************发送帧信息***************************************/ memcpy(&Frame_Info[5], HZdata, HZ_Length); Frame_Info[5 + HZ_Length] = ecc; UART_SendStringL(Frame_Info, 5 + HZ_Length + 1); delay_ms(5); while(busy); //等待合成结束 delay_ms(5); }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算