run_tts.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. pkill -f "tts_server" 2>/dev/null
  3. pkill -f "tts_client" 2>/dev/null
  4. sleep 2
  5. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
  6. PROJECT_DIR="$SCRIPT_DIR"
  7. CLIENT_PATH="$SCRIPT_DIR/client/build/tts_client"
  8. REF_AUDIO="${1:-/Users/wenhongquan/Downloads/zh.wav}"
  9. echo "=========================================="
  10. echo " TTS Server & Client Launcher"
  11. echo "=========================================="
  12. echo ""
  13. echo "Project: $PROJECT_DIR"
  14. echo "Reference Audio: $REF_AUDIO"
  15. echo ""
  16. echo "[1/4] Cleaning up existing processes..."
  17. pkill -f "tts_server.server" 2>/dev/null
  18. pkill -f "tts_client" 2>/dev/null
  19. sleep 1
  20. echo "[2/4] Starting TTS server..."
  21. cd "$PROJECT_DIR"
  22. export PYTORCH_ENABLE_MPS_FALLBACK=1
  23. export PYTHONPATH="$PROJECT_DIR:$PYTHONPATH"
  24. nohup /opt/homebrew/bin/python3.10 -m tts_server.server --ref-audio "$REF_AUDIO" > /tmp/tts_server.log 2>&1 &
  25. SERVER_PID=$!
  26. echo "Server PID: $SERVER_PID"
  27. echo "[3/4] Waiting for server to initialize..."
  28. for i in {1..30}; do
  29. if grep -q "TTS Engine ready" /tmp/tts_server.log 2>/dev/null; then
  30. echo "Server ready!"
  31. break
  32. fi
  33. sleep 1
  34. echo -n "."
  35. done
  36. echo ""
  37. echo "[4/4] Starting TTS client..."
  38. "$CLIENT_PATH" &
  39. CLIENT_PID=$!
  40. echo "Client PID: $CLIENT_PID"
  41. echo ""
  42. echo "=========================================="
  43. echo " Started Successfully!"
  44. echo "=========================================="
  45. echo ""
  46. echo "Server log: tail -f /tmp/tts_server.log"
  47. echo "Stop server: kill $SERVER_PID"
  48. echo "Stop client: kill $CLIENT_PID"
  49. echo ""
  50. tail -f /tmp/tts_server.log