单条推理
#!/bin/bash
if [ -d "results" ]; then
rm -rf "results"
echo "文件夹已删除:results"
fi
if [ -e "result.txt" ]; then
rm "result.txt"
echo "文件已删除:result.txt"
fi
TEST_CASE="wav"
if [ "wav" = "${TEST_CASE}" ];then
echo "=================== Test wav ========================"
AUDIO_IN="../audio/asr_example.wav"
time -p python3 funasr_wss_client_queue.py --host "127.0.0.1" --port 10095 \
--mode offline \
--thread_num 64 \
--use_itn 0 \
--audio_in "$AUDIO_IN" \
--output_dir "./results" \
--audio_fs 16000
fi
if [ "pcm" = "${TEST_CASE}" ];then
echo "=================== Test pcm ========================"
AUDIO_IN="..."
time -p python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 \
--mode offline \
--thread_num 64 \
--use_itn 0 \
--audio_in $AUDIO_IN \
--output_dir "./results" \
--audio_fs 8000
fi
if [ -d "results" ]; then
python3 gather_results.py
echo "结果文件已生成:result.txt"
fi
echo "Fin."
批量推理
mkdir -p "results"
TEST_CASE="wav"
AUDIO_DIR="../audio/acc1"
AUDIO_SUBDIR=$(basename "$AUDIO_DIR")
AUDIO_RESULTS_DIR="multi_results/$AUDIO_SUBDIR"
mkdir -p "$AUDIO_RESULTS_DIR"
for AUDIO_FILE in "$AUDIO_DIR"/*.wav; do
if [ -d "results" ]; then
rm -rf "results"
echo "文件夹已删除:results"
fi
if [ -e "result.txt" ]; then
rm "result.txt"
echo "文件已删除:result.txt"
fi
if [ -f "$AUDIO_FILE" ]; then
echo "=================== Processing $AUDIO_FILE ========================"
time -p python3 funasr_wss_client_queue.py --host "127.0.0.1" --port 10095 \
--mode offline \
--thread_num 64 \
--use_itn 0 \
--audio_in "$AUDIO_FILE" \
--output_dir "./results" \
--audio_fs 16000
if [ -d "results" ]; then
python3 gather_results.py
echo "结果文件已生成:result.txt"
fi
FILENAME=$(basename "$AUDIO_FILE" .wav)
if [ -f "result.txt" ]; then
cp "result.txt" "$AUDIO_RESULTS_DIR/$FILENAME.txt"
echo "识别结果已保存至:$AUDIO_RESULTS_DIR/$FILENAME.txt"
else
echo "警告:未找到识别结果文件:result.txt"
echo "检查 funasr_wss_client_queue.py 的输出,确保文件被正确生成。"
fi
fi
done
echo "所有结果文件已生成并保存至:$AUDIO_RESULTS_DIR/"
echo "Fin."