#!/usr/bin/env bash # bash install.sh --stage -1 --stop_stage -1 --system_version windows # bash install.sh --stage 0 --stop_stage 0 --system_version ubuntu python_version=3.8.10 system_version=ubuntu verbose=true; stage=-1 stop_stage=0 # parse options while true; do [ -z "${1:-}" ] && break; # break if there are no arguments case "$1" in --*) name=$(echo "$1" | sed s/^--// | sed s/-/_/g); eval '[ -z "${'"$name"'+xxx}" ]' && echo "$0: invalid option $1" 1>&2 && exit 1; old_value="(eval echo \\$$name)"; if [ "${old_value}" == "true" ] || [ "${old_value}" == "false" ]; then was_bool=true; else was_bool=false; fi # Set the variable to the right value-- the escaped quotes make it work if # the option had spaces, like --cmd "queue.pl -sync y" eval "${name}=\"$2\""; # Check that Boolean-valued arguments are really Boolean. if $was_bool && [[ "$2" != "true" && "$2" != "false" ]]; then echo "$0: expected \"true\" or \"false\": $1 $2" 1>&2 exit 1; fi shift 2; ;; *) break; esac done work_dir="$(pwd)" data_dir="$(pwd)/data" trained_models_dir="$(pwd)/trained_models" mkdir -p "${data_dir}" mkdir -p "${trained_models_dir}" if [ ${system_version} = "centos" ]; then yum install -y bzip2 git lrzsz wget vim cronie elif [ ${system_version} = "ubuntu" ]; then apt-get update apt-get install -y bzip2 git lrzsz wget vim cron fi if [ ${stage} -le 0 ] && [ ${stop_stage} -ge 0 ]; then $verbose && echo "stage 0: download deep filter net models." df_models_dir="${trained_models_dir}/df" mkdir -p "${df_models_dir}" cd "${df_models_dir}" || exit 1; model_name_array=( DeepFilterNet DeepFilterNet2 DeepFilterNet3 ) for model_name in ${model_name_array[*]} do if [ ! -e "${model_name}.zip" ]; then wget -c "https://github.com/Rikorose/DeepFilterNet/raw/main/models/${model_name}.zip" fi done fi