| | |
| | | if(model_dir.isSet() && !s_asr_path.empty()){ |
| | | std::string python_cmd_asr; |
| | | std::string down_asr_path; |
| | | std::string down_asr_model; |
| | | std::string down_asr_model; |
| | | |
| | | if (access(s_asr_path.c_str(), F_OK) == 0){ |
| | | // local |
| | | python_cmd_asr = python_cmd + " --model-name " + s_asr_path + " --export-dir ./ " + " --model_revision " + model_path["model-revision"]; |
| | | down_asr_path = s_asr_path; |
| | | }else{ |
| | | size_t found = s_asr_path.find("speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404"); |
| | | if (found != std::string::npos) { |
| | | model_path["model-revision"]="v1.2.4"; |
| | | }else{ |
| | | found = s_asr_path.find("speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404"); |
| | | if (found != std::string::npos) { |
| | | model_path["model-revision"]="v1.0.3"; |
| | | model_path[QUANTIZE]=false; |
| | | s_asr_quant = false; |
| | | } |
| | | } |
| | | |
| | | // modelscope |
| | | LOG(INFO) << "Download model: " << s_asr_path << " from modelscope: "; |
| | | python_cmd_asr = python_cmd + " --model-name " + s_asr_path + " --export-dir " + s_download_model_dir + " --model_revision " + model_path["model-revision"]; |
| | |
| | | } |
| | | |
| | | if (access(down_asr_model.c_str(), F_OK) != 0){ |
| | | LOG(ERROR) << down_asr_model << " do not exists."; |
| | | LOG(ERROR) << down_asr_model << " do not exists."; |
| | | exit(-1); |
| | | }else{ |
| | | model_path[MODEL_DIR]=down_asr_path; |
| | |
| | | server server_; // server for websocket |
| | | wss_server wss_server_; |
| | | if (is_ssl) { |
| | | LOG(INFO)<< "SSL is opened!"; |
| | | wss_server_.init_asio(&io_server); // init asio |
| | | wss_server_.set_reuse_addr( |
| | | true); // reuse address as we create multiple threads |
| | |
| | | websocket_srv.initAsr(model_path, s_model_thread_num); // init asr model |
| | | |
| | | } else { |
| | | LOG(INFO)<< "SSL is closed!"; |
| | | server_.init_asio(&io_server); // init asio |
| | | server_.set_reuse_addr( |
| | | true); // reuse address as we create multiple threads |