92 lines
2.4 KiB
C
92 lines
2.4 KiB
C
#ifndef __WEBSOCKET_ASR_H__
|
|
#define __WEBSOCKET_ASR_H__
|
|
|
|
|
|
#include "web_socket/websocket_api.h"
|
|
#include "wifi/wifi_connect.h"
|
|
#include "system/includes.h"
|
|
#include "fs/fs.h"
|
|
#include "asm/sfc_norflash_api.h"
|
|
#include "cJSON.h"
|
|
#include "aduio_record.h"
|
|
#ifdef WEBSOCKET_MEMHEAP_DEBUG
|
|
#include "mem_leak_test.h"
|
|
#endif
|
|
#include "app_config.h"
|
|
|
|
// 定义消息类型常量
|
|
#define SERVER_FULL_RESPONSE 0b1001
|
|
#define SERVER_ACK 0b1011
|
|
#define SERVER_ERROR_RESPONSE 0b1111
|
|
|
|
// 定义压缩和序列化方法常量
|
|
#define GZIP 1
|
|
#define JSON 1
|
|
#define NO_SERIALIZATION 0
|
|
|
|
// 定义响应结构体,用于存储原始响应数据
|
|
typedef struct {
|
|
uint8_t protocol_version;
|
|
uint8_t header_size;
|
|
uint8_t message_type;
|
|
uint8_t message_type_specific_flags;
|
|
uint8_t serialization_method;
|
|
uint8_t message_compression;
|
|
uint8_t reserved;
|
|
uint8_t* header_extensions;
|
|
uint8_t* payload;
|
|
size_t payload_size;
|
|
} Response;
|
|
|
|
// 定义解析后的响应结构体,用于存储处理后的数据
|
|
typedef struct {
|
|
unsigned char* payload_msg;
|
|
size_t payload_size;
|
|
} ParsedResponse;
|
|
|
|
//JSON打包结构体
|
|
typedef struct {
|
|
char* appid;
|
|
char* cluster;
|
|
char* token;
|
|
char* uid;
|
|
int nbest;
|
|
char* workflow;
|
|
int show_language;
|
|
int show_utterances;
|
|
char* result_type;
|
|
char* format;
|
|
int rate;
|
|
char* language;
|
|
int bits;
|
|
int channel;
|
|
char* codec;
|
|
} AsrWsClient;
|
|
|
|
//头部信息
|
|
#define STT_DEFAULT_VERSION 0b0001
|
|
#define STT_DEFAULT_MESSAGE_TYPE 0b0001
|
|
#define STT_DEFAULT_MESSAGE_TYPE_SPECIFIC_FLAGS 0b0000
|
|
#define STT_DEFAULT_SERIAL_METHOD 0b0001
|
|
#define STT_DEFAULT_COMPRESSION_TYPE 0b0000
|
|
#define STT_DEFAULT_RESERVED_DATA 0
|
|
#define STT_DEFAULT_EXTENSION_HEADER NULL
|
|
#define STT_DEFAULT_EXTENSION_HEADER_LENGTH 0
|
|
#define DEFAULT_HEADR STT_DEFAULT_VERSION,STT_DEFAULT_MESSAGE_TYPE,STT_DEFAULT_MESSAGE_TYPE_SPECIFIC_FLAGS,\
|
|
STT_DEFAULT_SERIAL_METHOD,STT_DEFAULT_COMPRESSION_TYPE,STT_DEFAULT_RESERVED_DATA,\
|
|
STT_DEFAULT_EXTENSION_HEADER,STT_DEFAULT_EXTENSION_HEADER_LENGTH
|
|
|
|
//asr地址
|
|
#define OBJ_URL "wss://openspeech.bytedance.com/api/v2/asr"
|
|
|
|
|
|
extern OS_SEM voice_start_sem;//录音开始信号量
|
|
//extern u8 sock_run_flag;//asr->chat->tts正在运行的标志位
|
|
|
|
|
|
|
|
void asr_websocket_client_thread_create(void);//创建asr主线程以及一些信号量
|
|
void websockets_asr_client_request_handle_create(void);//创建回复处理任务
|
|
|
|
#endif
|