From 580b11b57ac4b62f7e2acda73813a4e10e8e4cd3 Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期二, 10 十月 2023 17:17:29 +0800
Subject: [PATCH] v0.8.0
---
funasr/runtime/deploy_tools/funasr-runtime-deploy-online-cpu-zh.sh | 112 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 79 insertions(+), 33 deletions(-)
diff --git a/funasr/runtime/deploy_tools/funasr-runtime-deploy-online-cpu-zh.sh b/funasr/runtime/deploy_tools/funasr-runtime-deploy-online-cpu-zh.sh
index e5a043c..423b2a0 100644
--- a/funasr/runtime/deploy_tools/funasr-runtime-deploy-online-cpu-zh.sh
+++ b/funasr/runtime/deploy_tools/funasr-runtime-deploy-online-cpu-zh.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
-scriptVersion="0.0.6"
-scriptDate="20230705"
+scriptVersion="0.0.2"
+scriptDate="20230914"
# Set color
@@ -26,9 +26,9 @@
SUDO_CMD="sudo"
-DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_OSS="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/docker_lists/docker_online_cpu_zh_lists"
-DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_GIT="https://raw.githubusercontent.com/alibaba-damo-academy/FunASR/main/funasr/runtime/docs/docker_online_cpu_zh_lists"
-DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_OSS
+DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_OSS="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/docker_lists/docker_online_cpu_zh_lists"
+DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_GIT="https://raw.githubusercontent.com/alibaba-damo-academy/FunASR/main/funasr/runtime/docs/docker_online_cpu_zh_lists"
+DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_OSS
DEFAULT_FUNASR_DOCKER_URL="registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr"
DEFAULT_FUNASR_RUNTIME_RESOURCES="funasr-runtime-resources"
DEFAULT_FUNASR_LOCAL_WORKSPACE=${CUR_DIR}/${DEFAULT_FUNASR_RUNTIME_RESOURCES}
@@ -41,7 +41,7 @@
DEFAULT_FUNASR_WORKSPACE_DIR="/workspace/models"
DEFAULT_DOCKER_PORT="10095"
DEFAULT_PROGRESS_FILENAME="progress.txt"
-DEFAULT_SERVER_EXEC_NAME="funasr-wss-server"
+DEFAULT_SERVER_EXEC_NAME="funasr-wss-server-2pass"
DEFAULT_DOCKER_EXEC_DIR="/workspace/FunASR/funasr/runtime/websocket/build/bin"
DEFAULT_DOCKER_EXEC_PATH=${DEFAULT_DOCKER_EXEC_DIR}/${DEFAULT_SERVER_EXEC_NAME}
DEFAULT_SAMPLES_NAME="funasr_samples"
@@ -53,6 +53,9 @@
"Linux_Cpp" \
)
DOCKER_IMAGES=()
+ASR_MODELS=()
+VAD_MODELS=()
+PUNC_MODELS=()
# Handles the download progress bar
asr_percent_int=0
@@ -320,7 +323,7 @@
$DEFAULT_FUNASR_CONFIG_DIR=$DEFAULT_FUNASR_CONFIG_DIR_BAK
fi
fi
- DEFAULT_FUNASR_CONFIG_DIR=${DEFAULT_FUNASR_CONFIG_DIR}/.funasr
+ DEFAULT_FUNASR_CONFIG_DIR=${DEFAULT_FUNASR_CONFIG_DIR}/.funasr_online
fi
if [ ! -z "$DEFAULT_FUNASR_CONFIG_DIR" ]; then
@@ -387,38 +390,35 @@
echo -e " ${RED}Unable to get docker image list due to network issues, try again.${PLAIN}"
# switch sources of docker image lists
- if [ "$list_url" = "$DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_OSS" ]; then
- DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_GIT
+ if [ "$list_url" = "$DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_OSS" ]; then
+ DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_GIT
else
- DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_OFFLINE_CPU_ZH_LISTS_OSS
+ DEFAULT_DOCKER_IMAGE_LISTS=$DEFAULT_DOCKER_ONLINE_CPU_ZH_LISTS_OSS
fi
fi
done
array=($(echo "$content"))
len=${#array[@]}
- stage=0
- docker_flag="DOCKER:"
- judge_flag=":"
for i in ${array[@]}
do
findTypeOfDockerInfo $i
if [ "$docker_info_cur_key" = "DOCKER:" ]; then
if [ ! -z "$docker_info_cur_val" ]; then
docker_name=${DEFAULT_FUNASR_DOCKER_URL}:${docker_info_cur_val}
- DOCKER_IMAGES[${#DOCKER_IMAGES[*]}]=$docker_name
+ DOCKER_IMAGES[${#DOCKER_IMAGES[*]}]=$docker_name
fi
elif [ "$docker_info_cur_key" = "DEFAULT_ASR_MODEL:" ]; then
if [ ! -z "$docker_info_cur_val" ]; then
- PARAMS_ASR_ID=$docker_info_cur_val
+ ASR_MODELS[${#ASR_MODELS[*]}]=$docker_info_cur_val
fi
elif [ "$docker_info_cur_key" = "DEFAULT_VAD_MODEL:" ]; then
if [ ! -z "$docker_info_cur_val" ]; then
- PARAMS_VAD_ID=$docker_info_cur_val
+ VAD_MODELS[${#VAD_MODELS[*]}]=$docker_info_cur_val
fi
elif [ "$docker_info_cur_key" = "DEFAULT_PUNC_MODEL:" ]; then
if [ ! -z "$docker_info_cur_val" ]; then
- PARAMS_PUNC_ID=$docker_info_cur_val
+ PUNC_MODELS[${#PUNC_MODELS[*]}]=$docker_info_cur_val
fi
fi
done
@@ -427,7 +427,7 @@
# Make sure root user.
rootNess(){
- echo -e "${UNDERLINE}${BOLD}[0/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[0/6]${PLAIN}"
echo -e " ${YELLOW}Please check root access.${PLAIN}"
echo -e " ${WARNING} MUST RUN AS ${RED}ROOT${PLAIN} USER!"
@@ -446,7 +446,7 @@
# Get a list of docker images and select them.
selectDockerImages(){
- echo -e "${UNDERLINE}${BOLD}[1/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[1/6]${PLAIN}"
echo -e " ${YELLOW}Getting the list of docker images, please wait a few seconds.${PLAIN}"
readDockerInfoFromUrl
echo
@@ -476,22 +476,67 @@
result=0
elif [ $result -eq 61 ]; then
echo
- echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
+ echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
elif [ $result -eq 62 ]; then
echo
- echo -e " ${RED}Docker: ${PARAMS_DOCKER_IMAGE} ${PARAMS_FUNASR_DOCKER_ID} has been launched, please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh remove${PLAIN}${RED}) to remove Docker first ant then install.${PLAIN}"
+ echo -e " ${RED}Docker: ${PARAMS_DOCKER_IMAGE} ${PARAMS_FUNASR_DOCKER_ID} has been launched, please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh remove${PLAIN}${RED}) to remove Docker first ant then install.${PLAIN}"
elif [ $result -eq 63 ]; then
result=0
fi
fi
echo
- return $result
+}
+
+# Get a list of models and select them.
+selectModels(){
+ echo -e "${UNDERLINE}${BOLD}[2/6]${PLAIN}"
+ echo -e " ${YELLOW}Get a list of selectable models.${PLAIN}"
+ echo
+
+ selectAsrModels
+ selectVadModels
+ selectPuncModels
+
+ echo
+}
+
+selectAsrModels(){
+ echo -e " ${YELLOW}Please choose the ASR model.${PLAIN}"
+ menuSelection ${ASR_MODELS[*]}
+ result=$?
+ index=`expr ${result} - 1`
+
+ PARAMS_ASR_ID=${ASR_MODELS[${index}]}
+ echo -e " ${UNDERLINE}You have chosen the ASR model:${PLAIN} ${GREEN}${PARAMS_ASR_ID}${PLAIN}"
+ echo
+}
+
+selectVadModels(){
+ echo -e " ${YELLOW}Please choose the VAD model.${PLAIN}"
+ menuSelection ${VAD_MODELS[*]}
+ result=$?
+ index=`expr ${result} - 1`
+
+ PARAMS_VAD_ID=${VAD_MODELS[${index}]}
+ echo -e " ${UNDERLINE}You have chosen the VAD model:${PLAIN} ${GREEN}${PARAMS_VAD_ID}${PLAIN}"
+ echo
+}
+
+selectPuncModels(){
+ echo -e " ${YELLOW}Please choose the PUNC model.${PLAIN}"
+ menuSelection ${PUNC_MODELS[*]}
+ result=$?
+ index=`expr ${result} - 1`
+
+ PARAMS_PUNC_ID=${PUNC_MODELS[${index}]}
+ echo -e " ${UNDERLINE}You have chosen the PUNC model:${PLAIN} ${GREEN}${PARAMS_PUNC_ID}${PLAIN}"
+ echo
}
# Configure FunASR server host port setting.
setupHostPort(){
- echo -e "${UNDERLINE}${BOLD}[2/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[3/6]${PLAIN}"
params_host_port=`sed '/^PARAMS_HOST_PORT=/!d;s/.*=//' ${DEFAULT_FUNASR_CONFIG_FILE}`
if [ -z "$params_host_port" ]; then
@@ -715,7 +760,7 @@
}
showAllParams(){
- echo -e "${UNDERLINE}${BOLD}[3/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[4/6]${PLAIN}"
echo -e " ${YELLOW}Show parameters of FunASR server setting and confirm to run ...${PLAIN}"
echo
@@ -818,7 +863,7 @@
# Install docker
installFunasrDocker(){
- echo -e "${UNDERLINE}${BOLD}[4/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[5/6]${PLAIN}"
if [ $DOCKERINFOLEN -gt 30 ]; then
echo -e " ${YELLOW}Docker has installed.${PLAIN}"
@@ -886,7 +931,7 @@
}
dockerRun(){
- echo -e "${UNDERLINE}${BOLD}[5/5]${PLAIN}"
+ echo -e "${UNDERLINE}${BOLD}[6/6]${PLAIN}"
echo -e " ${YELLOW}Construct command and run docker ...${PLAIN}"
start_flag=$1
@@ -911,15 +956,15 @@
result=`expr ${result} + 0`
if [ $result -eq 60 ]; then
echo
- echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
+ echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
return $result
elif [ $result -eq 61 ]; then
echo
- echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
+ echo -e " ${RED}Please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh install${PLAIN}${RED}) to install Docker first.${PLAIN}"
return $result
elif [ $result -eq 62 ]; then
echo
- echo -e " ${RED}Docker: ${PARAMS_DOCKER_IMAGE} ${PARAMS_FUNASR_DOCKER_ID} has been launched, please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh stop${PLAIN}${RED}) to stop Docker first.${PLAIN}"
+ echo -e " ${RED}Docker: ${PARAMS_DOCKER_IMAGE} ${PARAMS_FUNASR_DOCKER_ID} has been launched, please run (${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh stop${PLAIN}${RED}) to stop Docker first.${PLAIN}"
return $result
fi
@@ -970,7 +1015,7 @@
deploySamples
echo -e " ${BOLD}The sample code is already stored in the ${PLAIN}(${GREEN}${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}${PLAIN}) ."
- echo -e " ${BOLD}If you want to see an example of how to use the client, you can run ${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-offline-cpu-zh.sh client${PLAIN} ."
+ echo -e " ${BOLD}If you want to see an example of how to use the client, you can run ${PLAIN}${GREEN}${SUDO_CMD} bash funasr-runtime-deploy-online-cpu-zh.sh client${PLAIN} ."
echo
}
@@ -1336,7 +1381,7 @@
;;
Python)
client_exec="${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python/wss_client_asr.py"
- run_cmd="python3 ${client_exec} --host ${server_ip} --port ${host_port} --mode offline --audio_in ${wav_path} --send_without_sleep --output_dir ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python"
+ run_cmd="python3 ${client_exec} --host ${server_ip} --port ${host_port} --mode 2pass --audio_in ${wav_path} --send_without_sleep --output_dir ${PARAMS_FUNASR_SAMPLES_LOCAL_DIR}/python"
pre_cmd="pip3 install click>=8.0.4"
echo -e " Run ${BLUE}${pre_cmd}${PLAIN}"
$pre_cmd
@@ -1363,6 +1408,7 @@
initConfiguration
initParameters
selectDockerImages
+ selectModels
result=$?
result=`expr ${result} + 0`
if [ $result -ne 0 ]; then
@@ -1379,7 +1425,7 @@
echo -e "${UNDERLINE}Usage${PLAIN}:"
echo -e " $0 [OPTIONAL FLAGS]"
echo
- echo -e "funasr-runtime-deploy-offline-cpu-zh.sh - a Bash script to install&run FunASR docker."
+ echo -e "funasr-runtime-deploy-online-cpu-zh.sh - a Bash script to install&run FunASR docker."
echo
echo -e "${UNDERLINE}Options${PLAIN}:"
echo -e " ${BOLD}-i, install, --install${PLAIN} Install and run FunASR docker."
@@ -1471,7 +1517,7 @@
# The path of punc model in docker
PARAMS_DOCKER_PUNC_PATH=""
# The punc model ID in ModelScope
-PARAMS_PUNC_ID="damo/punc_ct-transformer_zh-cn-common-vocab272727-onnx"
+PARAMS_PUNC_ID="damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx"
# The dir stored vad model in local
PARAMS_LOCAL_VAD_DIR=""
--
Gitblit v1.9.1