File size: 1,424 Bytes
ac573f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
# Start the three processes of Dynamic Accent Duplex on one GPU (tested on 1x H100 80GB).
#  1) vLLM OpenAI server with the reply LLM (Qwen3-30B-A3B-Instruct-2507-FP8, Apache-2.0)   :8001
#  2) ASR worker: Dynamic ASR (Modularcomputing/dynamic-asr, fine-tuned omniASR_CTC_1B_v2; needs `pip install "omnilingual-asr>=0.2.0" huggingface_hub`) :8002
#     ASR_MODEL=dynamic-asr (default) | dynamic-asr-cs | omni (stock omniASR_CTC_1B; also the automatic fallback)
#  3) duplex server (VAD + turn-taking + LID/mix + validator + Flash TTS) + web UI             :7860
# TTS: set DA_REL to a local copy of huggingface.co/Modularcomputing/dynamic-accent-pro-v1.1 (Flash-DPO weights,
# CC-BY-SA-4.0) set up as its README describes (CosyVoice repo + Fun-CosyVoice3-0.5B-2512 base, CV3_DIR).
set -e
HERE=$(cd $(dirname $0); pwd)
: "${DA_REL:?set DA_REL to the dynamic-accent-pro-v1.1 folder}"
VLLM=${VLLM:-vllm}; PY_ASR=${PY_ASR:-python}; PY=${PY:-python}
$VLLM serve Qwen/Qwen3-30B-A3B-Instruct-2507-FP8 --served-model-name llm --port 8001 --gpu-memory-utilization 0.62 --max-model-len 8192 &
(cd $HERE/code && ASR_MODEL=${ASR_MODEL:-dynamic-asr} $PY_ASR -m uvicorn asr_server:app --host 127.0.0.1 --port 8002) &
until curl -s localhost:8001/v1/models >/dev/null && curl -s localhost:8002/health >/dev/null; do sleep 5; done
cd $HERE/code && DA_REL=$DA_REL $PY server.py      # open http://localhost:7860 (use headphones)