65 lines
5.1 KiB
Markdown
65 lines
5.1 KiB
Markdown
---
|
||
title: "Voice AI Integration Engineer"
|
||
type: source
|
||
tags: ["voice-ai", "speech-transcription", "whisper", "asr", "audio-pipeline"]
|
||
date: 2026-05-02
|
||
---
|
||
|
||
## Source File
|
||
- [[Agent/agency-agents/engineering/engineering-voice-ai-integration-engineer.md]]
|
||
|
||
## Summary(用中文描述)
|
||
- 核心主题:Voice AI Integration Engineer(语音 AI 集成工程师)—— 设计并构建生产级语音转文字(STT)管道,涵盖从原始音频摄入到结构化输出的完整流程
|
||
- 问题域:音频质量验证、模型选型、管道工程、隐私合规、多种下游系统集成
|
||
- 方法/机制:Whisper/faster-whisper 本地模型 + 云端 ASR(AssemblyAI/Deepgram 等);ffmpeg 预处理(重采样至 16kHz 单声道、EBU R128 响度归一化);pyannote.audio 说话人分离;分块策略处理长音频;结构化输出(SRT/VTT/JSON);LLM handoff
|
||
- 结论/价值:提供从原始音频到生产就绪结构化文本的完整管道,支持隐私敏感场景本地部署,支持多种下游系统(Handoff、CMS、Agent Pipeline)集成
|
||
|
||
## Key Claims(用中文描述)
|
||
- 未经格式/采样率/声道验证的原始音频直接传入转录模型,是转录精度静默下降的首要原因
|
||
- 长音频(>30 分钟)必须进行重叠感知分块处理,不可依赖模型最大输入时长——溢出无声且无报错地损坏输出
|
||
- 时间戳和说话人归属在所有处理阶段必须保留,不可在交接前剥离——下游消费者(LLM 摘要、CMS 写入)依赖这些元数据
|
||
- PII 检测与脱敏必须作为命名且可配置的管道阶段,而非事后补丁
|
||
- 转录置信度分数≠准确度,低置信度片段需人工审核标记,而非静默删除
|
||
|
||
## Key Quotes
|
||
> "Bad input is the leading cause of silent accuracy degradation." — 音频质量意识
|
||
> "Never discard timestamps. Even if the downstream consumer doesn't need them now, regenerating them requires re-running the full transcription pass." — 时间戳完整性
|
||
> "Never treat punctuation inserted by a model as ground truth." — 模型输出不可信
|
||
> "Transcripts stored longer than policy allows are a compliance liability." — 数据保留合规
|
||
|
||
## Key Concepts
|
||
- [[VoiceActivityDetection]]:通过 VAD(Voice Activity Detection)过滤静音片段,减少无效处理,提高转录效率
|
||
- [[SpeakerDiarization]]:将 pyannote.audio 或云端 ASR 的说话人标签与转录结果合并,产生带说话人归属的段落
|
||
- [[EBUR128LoudnessNormalization]]:EBU R128 响度归一化标准(I=-16:TP=-1.5:LRA=11),确保不同来源音频具有一致的响度水平
|
||
- [[FasterWhisper]]:CTranslate2 优化的 Whisper 实现,比原版快 2-3 倍,支持 GPU 加速,精度与原版相当
|
||
- [[OverlapAwareChunking]]:对超长音频(>30 分钟)进行重叠感知分块,防止词边界被切断,分块重叠区域在合并时裁剪
|
||
- [[PIIRedaction]]:个人身份信息(PII)检测与脱敏作为命名管道阶段,支持 HIPAA/GDPR 合规
|
||
- [[StructuredTranscriptJSON]]:稳定 Schema 的结构化 JSON 输出,包含分段时间戳、说话人、置信度,供下游 LLM 和 CMS 消费
|
||
- [[LLMHandoff]]:将结构化转录文本格式化后传递给 LLM 摘要/问答/行动项提取 Agent 的标准接口
|
||
|
||
## Key Entities
|
||
- [[OpenAIWhisper]]:OpenAI 开源的 Whisper 模型系列(tiny→large-v3),支持多语言语音识别,是本地转录的核心模型
|
||
- [[pyannote.audio]]:开源说话人分离库(pyannote/speaker-diarization-3.1),通过 HF token 加载,用于音频说话人分段标注
|
||
- [[AssemblyAI]]:云端 ASR 服务提供商,支持说话人标签、置信度、PII 检测,作为本地 Whisper 的云端替代方案
|
||
- [[Deepgram]]:云端 ASR 服务,支持实时流式转录和说话人分离,与本地 Whisper 形成混合路由架构
|
||
- [[ffmpeg]]:开源多媒体处理工具,用于音频格式检测、重采样、单声道转换、响度归一化、静音切除
|
||
- [[LangChain]]:LLM 应用框架,Voice AI Integration Engineer 通过 [[LLMHandoff]] 向其传递结构化输入
|
||
|
||
## Connections
|
||
- [[FasterWhisper]] ← uses ← [[OpenAIWhisper]]
|
||
- [[SpeakerDiarization]] ← merges_with ← [[FasterWhisper]]
|
||
- [[VoiceActivityDetection]] ← preprocessing_for ← [[FasterWhisper]]
|
||
- [[EBUR128LoudnessNormalization]] ← preprocesses ← [[FasterWhisper]]
|
||
- [[PIIRedaction]] ← pipeline_stage → [[StructuredTranscriptJSON]]
|
||
- [[LLMHandoff]] ← consumes ← [[StructuredTranscriptJSON]]
|
||
|
||
## Contradictions
|
||
- 与 [[EngineeringFrontendDeveloper]] 冲突:
|
||
- 冲突点:音频格式验证(前端通常信任文件扩展名,Voice AI 工程师从不信任扩展名)
|
||
- 当前观点:必须用 ffprobe 探测实际容器/codec,永远不依赖扩展名猜测
|
||
- 对方观点:前端通常通过 MIME type 和文件扩展名做快速客户端验证
|
||
- 与 [[EngineeringSRE]] 冲突:
|
||
- 冲突点:生产监控中的原始音频日志(Voice AI 严禁,SRE 倾向详细日志)
|
||
- 当前观点:生产监控中禁止记录原始音频内容或未脱敏转录文本
|
||
- 对方观点:可观测性基础设施需要足够详细的日志用于故障排查
|