本周工作总结:
1. TRTC实时会话与转写方案落地
完成基于腾讯云TRTC的实时会话及转写文字效果实现,支持双设备同房间通信。优化ASR上传规则,将原本双向采集改为电脑端单方向监听——分别捕获麦克风输入与音频输出并独立提交给ASR,实现说话人角色区分,提升转写结果的可读性与后续分析价值。
2. 软电话系统搭建与通话录音转录
完成Asterisk软交换平台与Linphone软电话的部署配置,为电脑端和手机端分别分配软电话账号。通过Asterisk路由实现两端通话功能,并启用通话录音能力。建立录音分片机制,将通话录音按时间或静音边界切分后批量上传至ASR进行转录,完成转录结果的持久化存储。通过手机外放音频进行端到端转录效果测试,验证专有名词下的实时性与准确率表现。
3. 后端技术栈迁移
将后端项目从Python迁移至Golang,利用Golang在高并发与实时处理场景的性能优势,优化音频流处理与ASR交互效率。
问题与洞察:
-
说话人区分的工程价值:将麦克风输入与音频输出分别提交ASR,实现了”本地侧”与”远端侧”的自动标注。这一优化虽增加了ASR调用次数,但大幅降低了后续对话角色分离的处理成本,在客服质检、销售复盘等场景具有直接业务价值。
-
Python迁移Golang的动机与风险:迁移动机明确——Golang在音频流并发处理、内存占用、部署便捷性上优于Python。但短期内增加了开发调试成本,且Golang生态在音频处理库(如pydub、librosa的等价物)丰富度上弱于Python,部分功能可能需要自研或引入C绑定。
-
软电话方案的真实通话体验差距:Linphone作为软电话在通话音质、抗丢包能力上与硬件话机或原生手机通话存在差距,且Asterisk的录音质量受编解码配置影响较大。当前测试用手机外放音频属于实验室环境,真实通话场景(网络抖动、背景噪音、回声)下的转写效果仍需验证。
下周重点工作:
-
软电话方案工程化与稳定性优化
-
优化Asterisk录音配置(编解码、采样率、降噪),提升录音质量与ASR识别准确率
-
建立分片上传的失败重试与本地缓存机制,确保数据不丢失
-
-
真实通话场景验证
-
模拟真实电话场景测试(弱网、噪音、多人通话),评估转写效果边界
-
对比软电话方案与TRTC方案在相同音频质量下的ASR准确率差异
-
收集业务方反馈,明确软电话方案是否满足核心场景需求
-
-
多厂商ASR对比
-
模拟不同场景对不同ASR引擎,如阿里云、腾讯云、火山引擎等,进行测试
-