基于STM32物联网开发板(2)--语音播报SYN6288

1.syn6288简介       syn6288-a语音合成模块是一款性价比更高,效果更自然的一款中高端语音合技术 。 syn6288-a通过异步串口接收待合成的文本,实现文本到声音(tts)的转换。
      国内首款语音合成评估板syn6288-a的推出继承了osyno6188-a模块的优秀特点:最小体积,硬件接口简单,极高的性价比;除此之外,syn6288-a文本识别更智能,语音合成更自然,语音合成效果和智能识别效果大幅度提高,是一款面向中高端应用领域的语音合技术。
1.1产品应用范围       ◆ 车载信息终端语音播报,车载调度,车载导航
      ◆ 公交报站器,考勤机
      ◆ 排队叫号机,收银收费机
      ◆ 自动售货机,信息机,pos机
      ◆ 智能玩具,智能手表
      ◆ 电动自行车
      ◆ 语音电子书,彩屏故事书,语音电子词典,语音电子导游
      ◆ 短消息播放,新闻播放
      ◆ 电子地图
硬件接口: 引脚
 说明
txd  发送数据脚pa3
rxd  接收数据脚pa2
busy  忙信号检测脚pc5,高电平表示忙
1.2 通讯协议       syn6288模块采用串口通讯方式,数据格式如下:
      默认波特率9600,1位起始位、8位数据位、1位停止位、无校验位、无硬件流控制。
1.2.1 命令帧格式       芯片支持以下命令帧格式: “帧头fd +数据区长度+数据区” 格式。(最大206个字节) 上位机发送给syn6288-a模块的所有命令和数据都需要用“帧”的方式进行封装后传输。
数据长度:命令字+命令参数+数据内容+校验值; 校验值:从帧头开始的全部字节数; 同一帧数据中,每个字节直接发送间隔不能超过8ms,数据帧直接发送间隔必须超过8ms; 默认初始波特率为9600bps;若需改变波特率,在发送完设置波特率命令帧后需间隔16毫秒再发送其它命令帧。 9600bps、19200bps两种波特率通讯传输都非常稳定(不管芯片在合成播音还是空闲)。 当模块正在合成文本的时候,如果又接收到一帧有效的合成命令帧,芯片会立即停止当前正在合成的文本,转而合成新收到的文本。 待发送文本长度必须小于等于200个字节。实际发送的长度大于200字节,芯片会报接收失败。 1.2.2 控制命令说明 1.2.3 数据帧示例 (1)无背景音示例
(2)带背景音示例
(3)音量设置
(4)波特率设置
(5)停止合成命令
(5)暂停合成命令
(6)恢复合成命令
1.2.4 文本控制标记  说明:
① 所有的控制标识均为半角字符。
② 控制标识需要按照语音合成命令的格式发送,特殊控制标记作为文本进行合成, 即合成命令是“帧头 + 数据区长度 + 合成命令字 + 文本编码格式 + 特殊控制标记文本” 的格式。
③ 控制标识为全局控制标识,也就是只要用了一次,在不对芯片复位或者断电的条件下,其后发送给芯片的所有文本都会处于它的控制之下,除非用相应的 [d] 恢复默认设置。
④ 当芯片掉电或是复位后,芯片将恢复到所有的默认值,原来的设置过的标识失去了作用,需要重新设置。
⑤ 不符合以上可识别的“控制标识”的或者格式不对的一律按普通的字符和数字处理。 1.2.5 提示音效       芯片中提供了25段的声音提示音,可以依据使用场合选用作为信息提示音。下面列表中是目前芯片的内置提示音的名称及声音类型:
1.2.6 和弦提示音列表 芯片中提供了23段和弦音乐作为提示音,可以广泛的使用在公共信息播报的场合,下面列表中是目前芯片的内置提示音的名称和播放长度。
      和弦铃声既可作和弦铃声,也是背景音乐的素材
      注意:提示音在使用上没有特殊性,与合成普通文本的合成命令相同。但是,需要注意的是:提示音名称前面或后面紧接着是英文字母时,需要使用标点符号、空格、回车等与其他字母隔开,芯片才能够自动识别。 例如:发送文本“sounda,hello!”,sounda 就可以合成对应的短信提示音,但是如果发送的文 本”soundahello!”,sounda就不能合成提示音,而是直接朗读成字母“s-o-u-n-d-a”。
1.3 数据帧组合示例/*函数功能:syn6288语音播报(单条语音不超过206字节)形参:str --播放语音 cmd --命令(0~15)0为无背景,1~15为背景音 vol --音量(0~16)0为静音,16为最大音量公司:北京万邦易嵌作者:it_阿水*/void syn6288_senddata(uint8_t *str,int cmd,int vol){ uint8_t dat_xor=0; uint8_t buffer[206]; uint16_t i=0; char temp[10]; int j=0; int str_len=0; syn6288_getstat(); delay_ms(10); /*音量设置*/ str_len=snprintf(temp,sizeof(temp),[v%d],vol&0x1f); uint16_t len=strlen((char *)str);//发送是内容长度 str_len+=len; str_len+=3;//加上命令字,命令参数和校验值 buffer[i]=0xfd;//帧头 dat_xor^=buffer[i++]; /*数据长度,两个字节,,高位在前*/ buffer[i]=(str_len>>8)&0xff; dat_xor^=buffer[i++]; buffer[i]=str_len&0xff; dat_xor^=buffer[i++]; buffer[i]=0x01;//语音合成播放命令 dat_xor^=buffer[i++]; buffer[i]=((cmd&0xf)<
编程中常见的几种锁
利用二手芯片救中兴?没戏!
超级速度7GB/s的PCIe4.0固态硬盘aigoP7000测评
Micronas推出DVB-T视讯接收器设计(MT2060)
智能型悬浮物(污泥浓度)水产养殖
基于STM32物联网开发板(2)--语音播报SYN6288
工业园区能耗数据在线监测系统解决方案
全新D类功放,提高家庭音响的性能
中国科学院:开发新型荧光RNA传感器,能监测代谢物、外源药物、蛋白与金属离子等靶标!
它与三星S7并列前茅,一加3T的魅力究竟在哪里?
西安交通大学与NI合作建立联合创新实验基地
VR手机镜头“侧颜照”遭曝光,保千里打令VR手机二代便携性或有大幅提升
石化行业的测井中DSP采集系统详解
神舟十一号载人飞船让人在太空生活33天的11个秘密
区块链技术会是医疗保健的未来吗
基于LabVIEW软件设计的调试平台在工业控制中的应用
龙管家交班记录怎么修改 删除上机记录 删除加钱记录方法
智能手机GPS使用指南
Verizon将与沃尔玛合作共同开发和测试医疗行业的5G新用例
中国大陆存储器产业的发展,需克服专利及人力等重重障碍