# FunASR realtime ASR demo This project keeps the frontend and backend in separate directories. The frontend serves the original Tencent demo assets from frontend/static/ unchanged. ## Project layout - backend/: FunASR WebSocket adapter, native engine launcher, CAM++ service, and backend dependencies. - frontend/: Tencent demo files, static HTTP/WebSocket proxy, and frontend dependencies. - scripts/: shared model download tools and the model manifest. ## Install and download models Install a host-compatible PyTorch/torchaudio build first. Then install backend dependencies, copy the example environment file, and download the FunASR runtime models: ~~~powershell python -m pip install -r backend/requirements-funasr.txt python -m pip install -r backend/requirements-auxiliary.txt python -m pip install -r frontend/requirements.txt if (-not (Test-Path .env)) { Copy-Item .env.funasr.example .env } python scripts/download_models.py --funasr-runtime ~~~ ## Start Run the backend and frontend in separate terminals from the project root: ~~~powershell python backend/run_backend.py python frontend/run_frontend.py ~~~ The backend supervises CAM++, FunASR native WSS, and the browser protocol adapter. The frontend serves the unchanged Tencent page and proxies its same-origin /ws and /api/stop requests to the backend. Configure ports and model locations in .env.