0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

wang123a 来源:wang123a 作者:wang123a 2023-05-11 09:03 次阅读

1.SYN6288简介

SYN6288-A语音合成模块是一款性价比更高,效果更自然的一款中高端语音合技术 。 SYN6288-A通过异步串口接收待合成的文本,实现文本到声音(TTS)的转换。

国内首款语音合成评估板SYN6288-A的推出继承了OSYNO6188-A模块的优秀特点:最小体积,硬件接口简单,极高的性价比;除此之外,SYN6288-A文本识别更智能,语音合成更自然,语音合成效果和智能识别效果大幅度提高,是一款面向中高端应用领域的语音合技术。

1.1产品应用范围

◆ 车载信息终端语音播报,车载调度,车载导航
◆ 公交报站器,考勤机
◆ 排队叫号机,收银收费机
◆ 自动售货机,信息机,POS机
◆ 智能玩具,智能手表
◆ 电动自行车
◆ 语音电子书,彩屏故事书,语音电子词典,语音电子导游
◆ 短消息播放,新闻播放
◆ 电子地图

pYYBAGRbfq-ARIgfAAEWsthF-0k302.pngpYYBAGRbfr6AElt_AAPeKQ0Vdyc698.png
  • 硬件接口:

引脚

说明

TXD 发送数据脚PA3
RXD 接收数据脚PA2
BUSY 信号检测脚PC5,高电平表示忙


1.2 通讯协议

SYN6288模块采用串口通讯方式,数据格式如下:

默认波特率9600,1位起始位、8位数据位、1位停止位、无校验位、无硬件流控制。

1.2.1 命令帧格式

芯片支持以下命令帧格式: “帧头FD +数据区长度+数据区” 格式。(最大206个字节) 上位机发送给SYN6288-A模块的所有命令和数据都需要用“帧”的方式进行封装后传输。

poYBAGRbf8uAeca5AABUKrwRK3w378.png
  • 数据长度:命令字+命令参数+数据内容+校验值;
  • 校验值:从帧头开始的全部字节数;
  • 同一帧数据中,每个字节直接发送间隔不能超过8ms,数据帧直接发送间隔必须超过8ms;
  • 默认初始波特率为9600bps;若需改变波特率,在发送完设置波特率命令帧后需间隔16毫秒再发送其它命令帧。
  • 9600bps、19200bps两种波特率通讯传输都非常稳定(不管芯片在合成播音还是空闲)。
  • 当模块正在合成文本的时候,如果又接收到一帧有效的合成命令帧,芯片会立即停止当前正在合成的文本,转而合成新收到的文本。
  • 待发送文本长度必须小于等于200个字节。实际发送的长度大于200字节,芯片会报接收失败。

1.2.2 控制命令说明

pYYBAGRbgBWAE8OGAAEOSX1J37I848.png

1.2.3 数据帧示例

(1)无背景音示例

pYYBAGRbgECAV6CGAABnC4pOKW8314.png

(2)带背景音示例

pYYBAGRbgF2ADYK9AADTQ3ia97g202.png

(3)音量设置

poYBAGRbgHaAVmTPAAB8v1eCg2k631.png

(4)波特率设置

pYYBAGRbgJeAcO6hAABUIzybDZM507.png

(5)停止合成命令

pYYBAGRbgK6AZYslAABMex_jUOo923.png

(5)暂停合成命令

pYYBAGRbgMaAYyiGAABNmTdmqyU728.png

(6)恢复合成命令

poYBAGRbgOaACxGYAABPjfiHCho487.png

1.2.4 文本控制标记

poYBAGRbgRCATiBBAADyj9DCE3E025.png
  • 说明:
    ①所有的控制标识均为半角字符。
    ②控制标识需要按照语音合成命令的格式发送,特殊控制标记作为文本进行合成, 即合成命令是“帧头 + 数据区长度 + 合成命令字 + 文本编码格式 + 特殊控制标记文本” 的格式。
    ③控制标识为全局控制标识,也就是只要用了一次,在不对芯片复位或者断电的条件下,其后发送给芯片的所有文本都会处于它的控制之下,除非用相应的 [d] 恢复默认设置。
    ④当芯片掉电或是复位后,芯片将恢复到所有的默认值,原来的设置过的标识失去了作用,需要重新设置。
    ⑤不符合以上可识别的“控制标识”的或者格式不对的一律按普通的字符和数字处理。

1.2.5 提示音效

芯片中提供了25段的声音提示音,可以依据使用场合选用作为信息提示音。下面列表中是目前芯片的内置提示音的名称及声音类型:

poYBAGRbgVyAVfrrAAHLyHudXz0022.png

1.2.6 和弦提示音列表

芯片中提供了23段和弦音乐作为提示音,可以广泛的使用在公共信息播报的场合,下面列表中是目前芯片的内置提示音的名称和播放长度。

poYBAGRbgY2AWR1rAABwHt_og9s754.png

和弦铃声既可作和弦铃声,也是背景音乐的素材

注意:提示音在使用上没有特殊性,与合成普通文本的合成命令相同。但是,需要注意的是:提示音名称前面或后面紧接着是英文字母时,需要使用标点符号、空格、回车等与其他字母隔开,芯片才能够自动识别。 例如:发送文本“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)<<3)|0;//命令参数
  dat_xor^=buffer[i++];
  
  j=0;
  while(temp[j]!='�')
  {
    buffer[i++]=temp[j];
    dat_xor^=temp[j++];
  }
  for(j=0;j;j++)>
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41671

    浏览量

    358459
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348872
  • 串口
    +关注

    关注

    14

    文章

    1485

    浏览量

    74528
  • 开发板
    +关注

    关注

    25

    文章

    4441

    浏览量

    94117
  • 语音播报
    +关注

    关注

    1

    文章

    22

    浏览量

    14325
收藏 人收藏

    评论

    相关推荐

    syn6288语音模块

    syn6288语音模块51程序,上位机
    发表于 01-03 18:29

    跪求基于单片机的SYN6288的车速语音播报系统设计的C语音程序

    跪求基于单片机的SYN6288的车速语音播报系统设计的C语音程序
    发表于 04-06 21:05

    跪求基于单片机的SYN6288的车速语音播报系统设计的C语音程序

    跪求基于单片机的SYN6288的车速语音播报系统设计的C语音程序
    发表于 04-11 22:12

    语音合成芯片选型之完美攻略,不看后悔

    播报功能,让产品更加智能化,人性化。三款语音合成芯片的图片:OSYNO6188、SYN6288SYN6658语音合成芯片对比:对比还没有看
    发表于 11-12 11:45

    SYN6288语音合成芯片全开发

    经常搞各种语音芯片,发现SYN6288芯片合成功能很强大,功能很好用,于是趁星期六星期天的时间,搞了一下它的程序,发现这个片子很好用,它的功能如下:SYN6288 中文语音合成芯片是北
    发表于 12-02 08:36

    语音合成IC选型之经验分享

    对声音要求高,需要播报的文本比较多,可选用中端的SYN6288芯片, SYN6288芯片支持GB2312、GBK、BIG5和UNICODE的编码格式,比OSYNO6188芯片多了3种字库;SY
    发表于 05-19 14:37

    STM32C8T6测试模块与SYN6288语音模块

    测试环境:STM32C8T6测试模块:SYN6288语音模块测试接口:SYN6288语音模块:VCC------------------3.
    发表于 08-03 06:52

    怎样去设计基于STM32F429的语音识别交互系统

    一、开发环境/工具:环境:keil5器件:STM32F429开发板、YS-LDV7语音识别模块、YS-SYN6288
    发表于 08-04 06:25

    有没有关于SYN6288语音模块资料分享?

    有没有关于SYN6288语音模块资料分享?
    发表于 10-13 08:43

    如何通过SYN6288语音输出模块快实现外接喇叭语音播放文字信息

    SYN6288语音输出一、本章节实现功能介绍二、接线图三、完整代码四、需要重点注意的地方六、代码运行结果一、本章节实现功能介绍通过SYN6288语音输出模块快外接喇叭(8Ω1W)
    发表于 01-07 08:08

    SYN6288中文语音合成芯片的功能特点有哪些呢

    SYN6288中文语音合成芯片是什么?SYN6288中文语音合成芯片的功能特点有哪些呢?
    发表于 01-19 06:45

    可以将文字转化为语音并通过喇叭播放的SYN6288语音播报芯片介绍

    一、硬件介绍SYN6288是一款语音播报芯片,可以将文字转化为语音并通过喇叭播放。二、引脚连接模块引脚如下:可见通信方式为串口模块引脚定义如下:BN0和BP0:接喇叭BUSY:忙信号检
    发表于 12-13 16:19

    SYN6288中文语音合成芯片-数据手册

    SYN6288--数据手册 支持串口和IIC总线下载 带代码例程 原理图 甚至关于语速可以调节 能播报中文 数字 英文
    发表于 10-29 14:28 158次下载

    基于51单片机+SYN6288语音播报

    51单片机控制SYN6288语音播报资料SYN6288模块原理图语音合成命令接线如何接线实现原理程序代码main.csyn
    发表于 11-23 16:51 45次下载
    基于51单片机+<b class='flag-5'>SYN6288</b><b class='flag-5'>语音</b><b class='flag-5'>播报</b>

    syn6288语音合成模块资料分享

     SYN6288语音合成模块是一款播报声音的模块,SYN6288语音合成模块的使用的方法非常简单,SYN
    发表于 04-28 15:45 3次下载