campp-mlx-converter / batch_convert.sh
BMP's picture
feat: Add batch conversion scripts for CAM++ models
656e7f6
#!/bin/bash
# Batch conversion script for multiple CAM++ models
# This script converts all preset models to MLX format
set -e # Exit on error
# Check if HF_TOKEN is set
if [ -z "$HF_TOKEN" ]; then
echo "ERROR: HF_TOKEN environment variable not set"
echo "Usage: export HF_TOKEN=your_token_here && ./batch_convert.sh"
exit 1
fi
echo "======================================================================"
echo "CAM++ MLX Converter - Batch Conversion"
echo "======================================================================"
echo ""
# Array of models to convert
# Format: "modelscope_repo|output_name|description"
declare -a MODELS=(
"iic/speech_campplus_sv_zh-cn_16k-common|campplus_chinese_16k_common|Chinese (Basic)"
"iic/speech_campplus_sv_zh_en_16k-common_advanced|campplus_multilingual_16k_advanced|Chinese-English (Advanced)"
)
TOTAL_MODELS=${#MODELS[@]}
SUCCESS_COUNT=0
FAILED_COUNT=0
# Process each model
for i in "${!MODELS[@]}"; do
IFS='|' read -r INPUT_REPO OUTPUT_NAME DESCRIPTION <<< "${MODELS[$i]}"
MODEL_NUM=$((i + 1))
echo ""
echo "----------------------------------------------------------------------"
echo "[$MODEL_NUM/$TOTAL_MODELS] Converting: $DESCRIPTION"
echo "----------------------------------------------------------------------"
echo " Input: $INPUT_REPO"
echo " Output: mlx-community/$OUTPUT_NAME"
echo ""
# Run conversion with Q4 quantization by default
if python convert_cli.py \
--input "$INPUT_REPO" \
--output "$OUTPUT_NAME" \
--q4; then
echo "✅ Success: $DESCRIPTION"
SUCCESS_COUNT=$((SUCCESS_COUNT + 1))
else
echo "❌ Failed: $DESCRIPTION"
FAILED_COUNT=$((FAILED_COUNT + 1))
fi
done
# Summary
echo ""
echo "======================================================================"
echo "BATCH CONVERSION SUMMARY"
echo "======================================================================"
echo "Total models: $TOTAL_MODELS"
echo "Successful: $SUCCESS_COUNT"
echo "Failed: $FAILED_COUNT"
echo "======================================================================"
if [ $FAILED_COUNT -eq 0 ]; then
echo "✅ All conversions completed successfully!"
exit 0
else
echo "⚠️ Some conversions failed. Check logs above for details."
exit 1
fi