doubao_chat/apps/wifi_daobao/TTS/inc/websocket_tts.h

86 lines
2.0 KiB
C

#ifndef __WEBSOCKET_TTS_H__
#define __WEBSOCKET_TTS_H__
#include "web_socket/websocket_api.h"
#include "wifi/wifi_connect.h"
#include "system/includes.h"
#include "asm/sfc_norflash_api.h"
#include "cJSON.h"
#ifdef WEBSOCKET_MEMHEAP_DEBUG
#include "mem_leak_test.h"
#endif
#include "app_config.h"
#include "aduio_playback.h"
#include "fs/fs.h"
#include "spiflash.h"
#include "event/device_event.h"
extern char accumulated_content[4*1024];//chat回答信息
extern u8 playback_stop_flag;
//extern OS_MUTEX http_mutex;
// 消息类型定义
#define AUDIO_ONLY_RESPONSE 0xb
#define ERROR_MESSAGE 0xf
#define FRONTEND_MESSAGE 0xc
//tts回复信息结构体
struct tts_response{
char *msg;
size_t len;
int end;
};
//JSON打包结构体
typedef struct {
char* appid;
char* cluster;
char* token;
char* uid;
char* voice_type;
char* encoding;
int compression_rate;
int rate;
float speed_ratio;
float volume_ratio;
float pitch_ratio;
char* emotion;
char* language;
char* reqid;
char* text;
char* text_type;
char* operation;
int silence_duration;
char* with_frontend;
char* frontend_type;
char* pure_enlish_opt;
} TTSClient;
//tts头部信息
#define TTS_DEFAULT_VERSION 0b0001
#define TTS_DEFAULT_MESSAGE_TYPE 0b0001
#define TTS_DEFAULT_MESSAGE_TYPE_SPECIFIC_FLAGS 0b0000
#define TTS_DEFAULT_SERIAL_METHOD 0b0001
#define TTS_DEFAULT_COMPRESSION_TYPE 0b0000
#define TTS_DEFAULT_RESERVED_DATA 0
#define TTS_DEFAULT_EXTENSION_HEADER NULL
#define TTS_DEFAULT_EXTENSION_HEADER_LENGTH 0
#define DEFAULT_HEADR TTS_DEFAULT_VERSION,TTS_DEFAULT_MESSAGE_TYPE,TTS_DEFAULT_MESSAGE_TYPE_SPECIFIC_FLAGS,\
TTS_DEFAULT_SERIAL_METHOD,TTS_DEFAULT_COMPRESSION_TYPE,TTS_DEFAULT_RESERVED_DATA,\
TTS_DEFAULT_EXTENSION_HEADER,TTS_DEFAULT_EXTENSION_HEADER_LENGTH
//tts地址
#define OBJ_URL "wss://openspeech.bytedance.com/api/v1/tts/ws_binary"
//extern OS_SEM tts_sem;
void tts_websocket_client_thread_create(void);//tts主线程创建
#endif