# voice-service-master **Repository Path**: JYSL/voice-service-master ## Basic Information - **Project Name**: voice-service-master - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Voice Service (AI Triage Gateway) 本服务专为医疗 AI 导诊系统(AI Triage)设计的纯内网高并发**语音交互网关**。 职责是作为连接患者(Kiosk / 麦克风音频)与大语言模型中间的视听桥梁。 ## 核心架构 (The Pipeline) ### 1. 语音识别 (ASR) - 已完成 基于阿里开源的 **FunASR (Paraformer)** 模型,实现毫秒级高并发录音转写。 * **特性**:内置医学专有热词词典(`hotwords.txt`),可抵抗环境噪音。 * **并发控制**:基于 `ThreadPoolExecutor` 和 `Semaphore` 实现了队列积压保护,超时防雪崩设计。 * **接口**:`POST /transcribe` (multipart/form-data) ### 2. 语音合成 (TTS) - 待办集成 (TODO) 根据《AI智能导诊系统2.0需求规格说明书》,TTS 模块**必须**从当前的 Mock(正弦波假测试)全部替换为真实的克隆语音引擎。 **集成要求 (CosyVoice 接入)**: * **唯一指定模型**:**CosyVoice** (阿里开源)。 * **流式响应 (Streaming)**:必须支持流式打字机音频返回。一旦大模型吐出前十几字,TTS 就要立刻生成音频块推回前端,**绝对不能**等一整段话全部生成后再渲染音频(会有严重的几秒级停顿体验)。 * **架构设计**:`_tts_sync` 函数将改为通过内部 API 或 SDK 调用单独部署的 CosyVoice 服务,或者在本库中通过进程隔离挂载 CosyVoice。 ## 环境要求 1. Python 3.10+ 2. CUDA 12+ (若使用 GPU 加速) 3. 依赖安装: ```bash pip install -r requirements.txt ``` ## 启动服务 使用 Uvicorn 启动多 Worker 高并发模式: ```bash # WORKERS = 单个机器上持有的模型副本数量(强烈建议 >= 2) export WORKERS=2 export MAX_CONCURRENT=6 uvicorn main:app --host 0.0.0.0 --port 8001 --workers $WORKERS ``` ## 内部配置速查 (Config) 所有核心参数均可通过环境变量覆盖: * `MODEL_ID`: FunASR 模型标识 (默认: `paraformer-zh`) * `MAX_CONCURRENT`: 单机最大同时推理任务数 (默认: 4) * `INFER_TIMEOUT`: 单次识别防雪崩超时秒数 (默认: 60) * `HOTWORDS_PATH`: 医疗专属热词词典路径 (默认: `hotwords.txt`)