面对面录音解决方案提出背景
亿量科技销售宝产品app提供了现场录音功能,录音后自动形成记录
由于我们公司外呼尚未接入,因此基于场景提出面对面录音需求(可能性的替代需求?),目标如下
- 使用小程序进行录音
- 具体功能
- 录音后可以进行文字转换
- 识别出讲话人及情绪信息
- 识别后形成记录,保存在用户沟通列表中
- 同时对沟通内容进行分析,形成用户画像
- 对沟通录音可回放或片段回放
分析及难点
-
是否可对录音进行准确的文字转换识别及讲话人识别
可以对录音进行文字转换,准确率85%以上。同时可以对讲话人进行识别,准确率90%以上。
-
口腔医疗场景覆盖率大部分(90%?)是混杂环境、声音小、噪音大、干扰多、距离远,需要对此类场景构建识别模型,避免客户使用强烈抵触,进而无法优化
据目前测试结果,模型可以对完整的录音内容进行降噪处理,包括混杂环境,声音小、噪音大、干扰多、距离远等多重因素。
-
小程序端是否可无人工干预连续录音
目前小程序端,用户录制一次录音时长最长支持10分钟,不支持1小时、2小时长时间段录音; 小程序中录音时,用户切换到后台,无法继续录音,录音受限; 小程序中录音时,用户手动息屏,无法继续录音;
分析路径
测试小程序录音 xxk 单声道情况,拟用腾讯云asr 服务,测试模型包括16k_zh,16k_zh_large
ASR测试关键参数及案例
小程序录音参数
"duration": 600000 录音的时长 "sampleRate" 16000 采样率 "numberOfChannels" 1 单通道 "encodeBitRate" 48000 编码码率 "format" MP3 生成的文件格式 "frameSize" 指定帧大小 支持MP3、acc格式 "audioSource" 音频输入源 Auto自动即可
腾讯云asr参数
- "EngineModelType": "16k_zh、16k_zh_large、16k_zh_dialect", # 引擎模型类型
- "ChannelNum": 1, # 音频声道数 1单声道2双声道
- "ResTextFormat": 2, # 2:基础识别结果之上,增加词粒度的详细识别结果(包含词级别时间戳、语速值和标点);
- "SourceType": 0, # 0 表示直接上传音频文件
- "Url":"xxxxxx.cn/tianjinkouq…", #音频上传地址
- "SpeakerDiarization": 1, # 是否开启说话人分离 支持如下模型8k_zh/16k_zh/16k_ms/16k_en/16k_id/16k_zh_large/16k_zh_dialect,且ChannelNum=1时可用
- "FilterDirty": 1, # 是否过滤脏词
- "FilterPunc": 0, # 是否过滤标点符号
- "FilterModal": 1, # 是否过滤语气词
- "EmotionalEnergy": 1, #情绪能量值 取值为音量分贝值/10,取值范围:[1,10],值越高情绪越强烈
- "EmotionRecognition": 0 情绪识别能力(目前仅支持16k_zh,8k_zh)
- "SpeakerNumber": 0, # 0自动分离 或1~10指定人数
测试案例及结果
| 说明 | 录音文件 | 编码码率 | 模型 | 文字准确率 | 讲话人准确率 | 相关参数 |
|---|---|---|---|---|---|---|
| 静室微信录音(Apple) | 录音 | 24000 | 16k_zh | 85% | 分离失败 | channel=1 |
| 静室微信录音(Apple) | 录音 | 24000 | 16k_zh_large | 85% | 分离失败 | channel=1 |
| 静室微信录音(Apple) | 录音 | 36000 | 16k_zh | 85% | 分离失败 | channel=1 |
| 静室微信录音(Apple) | 录音 | 36000 | 16k_zh_large | 85% | 分离失败 | channel=1 |
| 嘈杂微信录音(Apple) | 录音 | 48000双 | 16k_zh | 85% | 90% | channel=1 |
| 嘈杂微信录音(Apple) | 录音 | 48000双 | 16k_zh_large | 85% | 90% | channel=1 |
| 静室微信录音(Apple) | 录音 | 48000 | 16k_zh | 85% | 95% | channel=1 |
| 嘈杂微信录音(Android) | 录音 | 48000 | 16k_zh_large | 85% | 90% | channel=1 |
| 嘈杂微信录音(Android) | 录音 | 48000 | 16k_zh_large | 85% | 90% | channel=1 |
| 嘈杂微信录音(天津方言) | 录音 | 48000 | 16k_zh | 60% | --% | channel=1 |
| 嘈杂微信录音(天津方言) | 录音 | 48000 | 16k_zh_dialect | 75% | --% | channel=1 |
| 嘈杂微信录音(天津方言) | 录音 | 48000 | 16k_zh_large | 75% | --% | channel=1 |
结论方案及建议
小程序长时间连续录音
连续录音最长时间要求5小时,目前小程序单次录音时长支持最长为10分钟,如果要求长时间录音,以10分钟为一个片段进行拼接。 针对小程序中手机息屏和切换至后台无法录音的情况,目前可以通过设置设备为长亮状态,不让手机屏幕息屏。
ASR识别率
以下是16k_zh通用模型和16k_zh_large大模型在性能上的一些主要区别:
识别准确率
16k_zh通用模型:适用于中文普通话的通用场景,对标准普通话的识别准确率较高,能够满足日常的语音识别需求。 16k_zh_large大模型:模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升。这意味着在复杂的音频环境下,16k_zh_large大模型能够提供更准确的识别结果。
语言支持范围
16k_zh通用模型:主要支持中文普通话的识别。 16k_zh_large大模型:同时支持中文、英文、多种中文方言等语言的识别。
适应场景
16k_zh通用模型:适用于对语音识别要求不是特别高、一些常规的语音输入识别、语音搜索等场景。 16k_zh_large大模型:更适合对语音识别要求较高的场景,如智能客服、语音翻译、语音控制等。这些场景通常需要更高的识别准确率和更广泛的语言支持。
性能对比总结
识别准确率:16k_zh_large大模型在复杂音频环境下的识别准确率更高。 语言支持范围:16k_zh_large大模型支持更多语言和方言。 适应场景:16k_zh_large大模型适用于更复杂的语音识别需求。 综上所述,16k_zh_large大模型在识别准确率、语言支持范围和适应场景方面都优于16k_zh通用模型,但其成本也相对较高。
方案1 分阶段实施,成本考虑
- 暂时接入16k_zh模型,基本满足静室双人识别,识别准确率达到85%,讲话人准确率达到90%,不支持方言
- 1-2个月,视市场进度,低成本切换16k_zh_large模型(16k_zh_large暂不支持情感识别),满足嘈杂环境分析,支持部分方言
方案2 一次性接入
直接接入16k_zh_large大模型但是16k_zh_large暂不支持情感识别增值服务。
成本表
| 付费方式 | 时长 | 16k_zh | 16k_zh_large | 增值服务 |
|---|---|---|---|---|
| 预付费60小时包 | 60小时 | 1.2/h | 1.76/h | 0.56/h |
| 预付费1000小时包 | 1000小时 | 0.96/h | 1.6/h | 0.48/h |
注* 有效期:自购买日起1年内有效期。 时长:上传录音时长的累加总时长。
下篇为大家分析实际项目代码中是如何实现,关注我,带你探究一个深入业务的前端每天都在想些什么、干些什么。