| #!/usr/bin/env bash |
| |
| |
| set -euo pipefail |
|
|
| VLLM_PORT=50000 |
| VLLM_URL="http://127.0.0.1:${VLLM_PORT}/v1" |
| MODEL="qwen3.5-9b" |
| VENV="$HOME/.venvs/s2s" |
| WS_PORT=8765 |
| API_KEY="" |
|
|
| [ -d "$VENV" ] || python3 -m venv "$VENV" |
| source "$VENV/bin/activate" |
| pip install -qU pip |
| |
| pip install -q torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu |
| pip install -q "kokoro>=0.9.2" soundfile speech-to-speech |
|
|
| curl -fsS "$VLLM_URL/models" >/dev/null || { echo "vLLM not reachable at $VLLM_URL" >&2; exit 1; } |
|
|
| |
| exec speech-to-speech \ |
| --mode realtime \ |
| --ws_port "$WS_PORT" \ |
| --thresh 0.45 --min_speech_ms 256 --min_speech_continuation_ms 128 \ |
| --device cpu \ |
| --stt parakeet-tdt \ |
| --llm_backend responses-api \ |
| --tts kokoro \ |
| --kokoro_device cpu \ |
| --model_name "$MODEL" \ |
| --responses_api_base_url "$VLLM_URL" \ |
| --responses_api_api_key "$API_KEY" \ |
| --responses_api_stream |
|
|