一个专注于多场景应用的智能语音助手,能够实时记录对话内容、识别发言人、分析观点并提供即时建议。
- 实时语音转文字
- 多人发言识别
- 场景上下文和角色设置
- 观点分析,实时建议
- 基于预设知识库的建议生成
graph TD
A[音频输入] --> B[VAD检测]
B --> C{停顿判断}
C -->|短停顿 200-300ms 或超时3秒| D[快速ASR]
C -->|长停顿 500-800ms| E[精确ASR]
D --> F[实时文本]
E --> G[最终文本]
F --> H[说话人识别]
G --> H
H --> I[场景上下文管理]
H --> J[角色关系图谱]
I --> K[观点提取与分析]
J --> K
K --> L[LLM建议生成]
L --> M[结果存储与推送]
B --> N[缓冲区]
N -->|短停顿间隔音频| D
N -->|长停顿间隔音频| E
-
音频格式:
- 前端采集:16kHz 单通道 int16
- 后端处理:float32 格式
- WebSocket 实时传输
-
VAD 检测:
- 短停顿(200-300ms):用于触发快速 ASR;如果在 3 秒内未检测到短停顿,则直接触发快速 ASR 以获取快速反馈
- 长停顿(500-800ms):用于触发精确 ASR,确保语义完整
- 使用 Silero-VAD 模型进行检测
-
ASR 处理:
- 快速模式:采用短停顿或超时触发,响应时间快(<1 秒)
- 精确模式:结合上下文优化识别,确保高准确度
-
说话人识别:
- 基于 pyannote/campplus 实现,结合 ASR 结果为最终文本添加说话人标签
-
智能分析层:
- 场景上下文管理:
- 维护会议目标、背景知识、行业术语等上下文信息
- 动态更新对话状态机(对话阶段、核心议题等)
- 角色关系图谱:
- 构建发言人角色关系网络(隶属关系、利益相关方等)
- 记录历史立场和主张
- 观点提取与分析:
- 关键主张识别:使用语义角色标注提取观点主体和立场
- 矛盾点检测:通过文本蕴含分析识别观点冲突
- 议程偏离预警:对比会议目标检测讨论偏移
- 实时建议生成:
- 基于 OpenAI API 生成结构化建议(法律条款、谈判策略等)
- 优先级排序:根据上下文相关性评分输出建议
- 场景上下文管理:
-
缓冲管理:
- 使用单一缓冲区存储音频数据
- 根据停顿类型提取间隔音频:
- 快速 ASR:从缓冲区取短停顿间隔的音频
- 精确 ASR:从缓冲区取长停顿间隔的音频
-
语音处理
-
VAD
- snakers4/silero-vad
-
ASR
- SenseVoice 默认引擎(中英文优化,速度快)
- Whisper 备选引擎(通用场景,高准确度)
-
Speaker Diarization
- pyannote
- funasr/campplus
-
降噪和声音增强
- todo
-
-
内容分析
- 目标和说明
- 立场和人员管理
- 立场分析和反驳、主张建议
- 基于 OpenAI 兼容的 API,通过 LLM 接口提供建议
-
客户端
- 使用 Flutter 跨平台开发
- 依赖模块支持 Windows/MacOS/Android/iOS
- 测试环境:Macbook Pro M1
- 本地运行,保证数据安全性
-
数据存储
- Isar DB 本地存储(会议记录、用户设置、全文检索)
- Redis Stack 向量存储(语义搜索、RAG, todo)
本软件仅供在合法场景下使用,用户需自行承担使用风险。不得在未经授权的场合进行录音,需遵守当地相关法律法规。
AGPL License
本项目遵循 AGPL 协议开源,欢迎贡献代码和建议。商业使用请联系获取授权。