#include #include #include #include #include #include #include #include #include #include #include #include #include #include "paraformer.grpc.pb.h" #include "librapidasrapi.h" using grpc::Server; using grpc::ServerBuilder; using grpc::ServerContext; using grpc::ServerReader; using grpc::ServerReaderWriter; using grpc::ServerWriter; using grpc::Status; using paraformer::Request; using paraformer::Response; using paraformer::ASR; class ASRServicer final : public ASR::Service { private: int init_flag; std::unordered_map client_buffers; std::unordered_map client_transcription; public: ASRServicer(); void clear_states(const std::string& user); void clear_buffers(const std::string& user); void clear_transcriptions(const std::string& user); void disconnect(const std::string& user); grpc::Status Recognize(grpc::ServerContext* context, grpc::ServerReaderWriter* stream); int nThreadNum = 4; RPASR_HANDLE AsrHanlde=RapidAsrInit("/data/asrmodel/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/", nThreadNum); };