作者 ookk303

更新

# 编译链的配置
#1、编译链与设备类型的选择
set(DEVICE_NAME JZ_H1E)
set(DEVICE_NAME JZ_H150S)
#上一行为禁止修改行
message("**************************JZSDK构建编译开始***************************\n")
... ...
... ... @@ -7,13 +7,13 @@
#define VERSION_CHOOSE_H
#include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h"
//1~10行 除了D可以修改版本选择 禁止动任何东西
#define DEVICE_VERSION JZ_H1E
#define DEVICE_VERSION JZ_H150S
//禁止修改行 选择是串口程序 还是 psdk程序
#define APP_VERSION APP_PSDK
//禁止修改行 板子型号
#define PLATFORM_VERSION PLATFORM_V3S
#define PLATFORM_VERSION PLATFORM_H3
//禁止修改行 串口连接程序的软件版本号
#define MAJOR_VERSION 0x01
... ...
... ... @@ -123,7 +123,7 @@ static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params)
* 获取音源
*
* ********/
static T_JZsdkReturnCode TTS_GetSoundSource(int tone,unsigned char *name_tts, unsigned char *name_path)
static T_JZsdkReturnCode TTS_GetSoundSource(int tone,unsigned char *name_tts, unsigned char *name_path, unsigned char *rule_path)
{
/*
... ... @@ -182,6 +182,25 @@ static T_JZsdkReturnCode TTS_GetSoundSource(int tone,unsigned char *name_tts, un
snprintf(name_path,64, "fo|/root/tts/xiaoyan.jet");
break;
}
//写入发音规则
memset(rule_path,0,128);
snprintf(rule_path,128,"/root/tts/common.jet");
//不是英文就直接返回
if ( tone != 0x11 && tone != 0x12)
{
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
//由于有讯飞更新,让英文有了新的发音规则,所以要检测本地是否有新的发音规则
if(JZsdk_check_file_exists("/root/tts/common_en.jet") == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
{
memset(rule_path,0,128);
snprintf(rule_path,128,"/root/tts/common_en.jet");
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param *Megaphone_tts_param)
... ... @@ -196,15 +215,18 @@ static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param *
int ret = MSP_SUCCESS;
char name_tts[16];
char name_path[64];
char session_begin_params[512];
char tts_add_params[512];
char rule[128];
//获取音源
TTS_GetSoundSource(tone, name_tts, name_path);
//获取音源,以及规则
TTS_GetSoundSource(tone, name_tts, name_path, rule);
//配置合成参数
snprintf(session_begin_params,512,
"engine_type = local,voice_name=%s, text_encoding = UTF8, tts_res_path = %s;fo|/root/tts/common.jet, sample_rate = 16000, speed = %d, volume = %d, pitch = 50, rdn = 2"
,name_tts,name_path,speed,volume);
"engine_type = local,voice_name=%s, text_encoding = UTF8, tts_res_path = %s;fo|%s, sample_rate = 16000, speed = %d, volume = %d, pitch = 50, rdn = 2"
,name_tts , name_path, rule, speed, volume);
printf("session_begin_params=%s\n",session_begin_params);
printf("argv=%s\n",argv);
... ... @@ -383,4 +405,4 @@ T_JZsdkReturnCode Megaphone_cnTTS_Play(unsigned char *str, unsigned int str_len,
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
}
\ No newline at end of file
... ...
... ... @@ -569,6 +569,16 @@ static T_DjiReturnCode StartPlay(void)
}
USER_LOG_INFO("Start widget speaker play");
//检查当前是否正在播放中
if (s_speakerState.state == DJI_WIDGET_SPEAKER_STATE_PLAYING)
{
//关闭上次播放
StopPlay();
delayMs(100);
}
SetSpeakerState(DJI_WIDGET_SPEAKER_STATE_PLAYING);
//播放
... ...
# cmake 最低版本要求 第三行名字不能动
cmake_minimum_required(VERSION 2.8)
project(JZ_H1E)
project(JZ_H150S)
#set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++")
#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。
... ...