梁山1号 2022-07-20 14:28 采纳率: 37.5%
浏览 145
已结题

syn6288无法合成中文

问题遇到的现象和发生背景

用大疆的PSDK开发文字转语音的负载,通过遥控器端输入文字,被无人机接收后转为语音在扬声器上播放出来,使用STM32F407VGT6单片机驱动SYN6288语音芯片,用的usart2,已经在psdk的uart.c文件中配置相关引脚,引脚PA2和PA3,波特率默认为9600,PSDK文件本身用的HAL库,所以文字转语音的程序的串口发送函数是由标准库改成HAL库的,目前只是在程序里写要播放的内容,但是结果只能播报数字和英文,中文合成出来是其他的文字,比如”你好“,播出来就是”换,柴?“,现在问题主要就是文字无法正确合成播报。已经卡了好多天了

问题相关代码,请勿粘贴截图



/*发送文本
Music:选择背景音乐。0:无背景音乐,1~15:选择背景音乐
*HZdata:要发送的文本,一个字符串*/

void SYN_FrameInfo(uint8_t Music, uint8_t *HZdata)
{
  uint8_t  Frame_Info[50];
  uint8_t  HZ_Length;  // 文本的长度
  uint8_t  ecc  = 0;              //定义校验字节
  u16 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 ;             //构造命令字:合成播放命令
  /* 字节高5位表示背景音乐 ,低3位表示编码格式 0 是GB2312编码*     1是GBK,2是BIG5,3是Unicode
*/
 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;
  
HAL_UART_Transmit(&s_uart2Handle, (uint8_t *)Frame_Info,5 + HZ_Length + 1, 0xFFFF);

/* 发送芯片设置命令 配置,停止合成、暂停合成等设置
Info_data:芯片的命令
*/
void YS_SYN_Set(uint8_t *Info_data)
{
  uint8_t Com_Len;
  Com_Len = strlen((char*)Info_data);
  HAL_UART_Transmit(&s_uart2Handle, (uint8_t *)Info_data,Com_Len, 0xFFFF);   // 串口发送
}


/* 文本控制标记列表 
设置前景文本播放音量(含提示音效) 全局 [v?] ?为音量值 取值0-16 0 为静音  默认[v10]
设置背景音乐音量 全局 [m?] ? 为音量值,取值0-16  0为静音  默认[m4]
设置词语语速  全局 [t?]  ? 为词语语速值,取值0-5  默认[t4]
设置数字处理策略  全局 [n?] ? 为0,自动判断 为1 数字作号码处理 为2 数字作数值处理  默认[n0]
SYN_FrameInfo(0, "[v16][m1][t5]你好[n2]123444444");
表示设置文本背景音乐无音量16背景音量1播放你好,数字按数值处理
*/


 

###### 我想要达到的结果
正确合成中文

  • 写回答

2条回答 默认 最新

  • IamGroot2022 2022-07-23 22:30
    关注

    编码问题吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 修改了问题 7月22日
  • 修改了问题 7月22日
  • 展开全部

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上