koide 1fb76254e9
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 27s
Add: VibeVoice ASR セットアップスクリプト一式
2026-02-24 01:21:33 +00:00

74 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Run both Gradio demo and Realtime ASR server
#
# Usage:
# ./run_all.sh
#
# Ports:
# - 7860: Gradio UI (batch ASR)
# - 8000: WebSocket API (realtime ASR)
set -e
cd "$(dirname "$0")"
# Configuration
GRADIO_HOST="${GRADIO_HOST:-0.0.0.0}"
GRADIO_PORT="${GRADIO_PORT:-7860}"
REALTIME_HOST="${REALTIME_HOST:-0.0.0.0}"
REALTIME_PORT="${REALTIME_PORT:-8000}"
MODEL_PATH="${VIBEVOICE_MODEL_PATH:-microsoft/VibeVoice-ASR}"
echo "=========================================="
echo "VibeVoice ASR - All Services"
echo "=========================================="
echo ""
echo "Starting services:"
echo " - Gradio UI: http://$GRADIO_HOST:$GRADIO_PORT"
echo " - Realtime ASR: http://$REALTIME_HOST:$REALTIME_PORT"
echo " - Test Client: http://$REALTIME_HOST:$REALTIME_PORT/static/realtime_client.html"
echo ""
echo "Model: $MODEL_PATH"
echo "=========================================="
echo ""
# Trap to clean up background processes on exit
cleanup() {
echo ""
echo "Shutting down..."
kill $REALTIME_PID 2>/dev/null || true
kill $GRADIO_PID 2>/dev/null || true
wait
echo "All services stopped."
}
trap cleanup EXIT INT TERM
# Start Realtime ASR server in background
echo "[1/2] Starting Realtime ASR server..."
python -m realtime.server \
--host "$REALTIME_HOST" \
--port "$REALTIME_PORT" \
--model-path "$MODEL_PATH" \
--no-preload &
REALTIME_PID=$!
# Wait a moment for the server to initialize
sleep 2
# Start Gradio demo in background
echo "[2/2] Starting Gradio demo..."
python demo/vibevoice_asr_gradio_demo.py \
--host "$GRADIO_HOST" \
--port "$GRADIO_PORT" \
--model_path "$MODEL_PATH" &
GRADIO_PID=$!
echo ""
echo "Both services started. Press Ctrl+C to stop."
echo ""
# Wait for either process to exit
wait -n $REALTIME_PID $GRADIO_PID
# If one exits, the trap will clean up the other