This commit is contained in:
Executable
+73
@@ -0,0 +1,73 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user