VoiceDialogue / docs /architecture.md
liumaolin
Document API usage, system architecture, configuration, and troubleshooting
1858ba9
|
raw
history blame
1.51 kB

系统架构

数据流程图 (CLI 模式)

用户语音输入 → 回声消除 → 语音活动检测 → 语音转录 (ASR) → LLM生成回复 → TTS合成 → 音频输出
↑                                                                              ↓
└─────────────────────────────── 实时语音交互循环 ────────────────────────────────┘

核心组件说明

组件 功能描述 技术实现
EchoCancellingAudioCapture 回声消除音频捕获 实时音频流捕获与预处理
SpeechStateMonitor 语音活动检测 VAD 算法检测用户说话状态
ASRWorker 语音识别转录 FunASR / Whisper 模型推理
LLMResponseGenerator 智能文本生成 Qwen2.5 (llama.cpp) 对话生成
TTSAudioGenerator 语音合成 GPT-SoVITs / Kokoro TTS 文本转语音
AudioStreamPlayer 音频流播放 实时音频输出播放
FastAPI App API服务 提供HTTP接口,封装核心服务

多线程架构

系统采用多线程设计,各组件通过队列进行通信:

  • 音频采集线程: 持续捕获音频数据
  • 语音监测线程: 检测用户语音活动
  • ASR线程: 语音识别处理
  • LLM线程: 文本生成处理
  • TTS线程: 语音合成处理
  • 音频播放线程: 音频输出播放