PortaSpeech / mfa_usr /run_mfa_train_align.sh
RayeRen's picture
init
d1b91e7
#!/bin/bash
set -e
NUM_JOB=${NUM_JOB:-36}
echo "| Training MFA using ${NUM_JOB} cores."
BASE_DIR=data/processed/$CORPUS
MODEL_NAME=${MODEL_NAME:-"mfa_model"}
PRETRAIN_MODEL_NAME=${PRETRAIN_MODEL_NAME:-"mfa_model_pretrain"}
MFA_INPUTS=${MFA_INPUTS:-"mfa_inputs"}
MFA_OUTPUTS=${MFA_OUTPUTS:-"mfa_outputs"}
MFA_CMD=${MFA_CMD:-"train"}
rm -rf $BASE_DIR/mfa_outputs_tmp
if [ "$MFA_CMD" = "train" ]; then
mfa train $BASE_DIR/$MFA_INPUTS $BASE_DIR/mfa_dict.txt $BASE_DIR/mfa_outputs_tmp -t $BASE_DIR/mfa_tmp -o $BASE_DIR/$MODEL_NAME.zip --clean -j $NUM_JOB --config_path mfa_usr/mfa_train_config.yaml
elif [ "$MFA_CMD" = "adapt" ]; then
python mfa_usr/mfa.py adapt \
$BASE_DIR/$MFA_INPUTS \
$BASE_DIR/mfa_dict.txt \
$BASE_DIR/$PRETRAIN_MODEL_NAME.zip \
$BASE_DIR/$MODEL_NAME.zip \
$BASE_DIR/mfa_outputs_tmp \
-t $BASE_DIR/mfa_tmp --clean -j $NUM_JOB
fi
rm -rf $BASE_DIR/mfa_tmp $BASE_DIR/$MFA_OUTPUTS
mkdir -p $BASE_DIR/$MFA_OUTPUTS
find $BASE_DIR/mfa_outputs_tmp -regex ".*\.TextGrid" -print0 | xargs -0 -i mv {} $BASE_DIR/$MFA_OUTPUTS/
if [ -e "$BASE_DIR/mfa_outputs_tmp/unaligned.txt" ]; then
cp $BASE_DIR/mfa_outputs_tmp/unaligned.txt $BASE_DIR/
fi
rm -rf $BASE_DIR/mfa_outputs_tmp