语音识别功能集成总结

一、场景

业务需求,需要集成语音识别功能,用于移动使用。

[En]

Business requirements, the need to integrate speech recognition function for mobile use.

二、调研

在初步了解后,决定整合国内三大主流厂商,iFLYTEK、百度、腾讯。不用说,在语音识别之前,iFLYTEK被评为全球最聪明的50家公司之一,紧随其后的是两家传统的大公司。

[En]

After a preliminary understanding, decided to integrate the three mainstream domestic manufacturers, iFLYTEK, Baidu, Tencent. Needless to say, iFLYTEK was ranked as one of the 50 smartest companies in the world before voice recognition, followed by two traditional big companies.

三、基本技术概念

VAD Voice Activity Detection, 语音端点检测技术。

这个技术的主要任务是从带有噪声的语音中准确的定位出语音的开始和结束点,因为语音中含有很长的静音,也就是把静音和实际语音分离开来,因为是语音数据的原始处理,所以VAD是语音信号处理过程的关键技术之一。它的好坏,直接影响成败,由于技术本身的特殊性,所以在涉及语音信号处理的领域,端点检测技术的应用非常广泛。语音识别系统在识别或者声学模型训练阶段所遇到的第一个技术就是端点检测,把静音和噪声作为干扰信号从原始数据中去除,并且端点检测对于语音识别系统的性能至关重要。

四、集成

1、科大讯飞

账号注册地址:https://www.xfyun.cn/doc/platform/quickguide.html

集成文档说明地址:语音听写 Android SDK 文档 | 讯飞开放平台文档中心

其移动端的说明为语音转写,没有区分长语音和短语音,也就是所谓的实时语音转写,集成还算方便,使用过程中系统会根据VAD检测自动结束识别。

回调事件:

开始

onBeginOfSpeech

结束

onEndOfSpeech

文本结束

onResult 中有isLast 自动判断

参数设置说明:https://www.xfyun.cn/doc/asr/voicedictation/Android-SDK.html#_2%E3%80%81sdk%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97

语音识别功能集成总结

2、百度

账号注册地址: https://cloud.baidu.com/doc/UserGuide/s/Fkiprudwp

集成文档说明地址:https://ai.baidu.com/ai-doc/SPEECH/5khq3i39w

实时语音识别中分长语音和短语音两种模式,后者即开启静音检测,但是不支持设置超时时间,实际上不使用其自训练模型,只支持设置语言pid。

回调事件,苹果平台:

正常短语音识别结束的回调流程:

[En]

Callback process for the end of normal short speech recognition:

EVoiceRecognitionClientWorkStatusEnd

EVoiceRecognitionClientWorkStatusFinish

EVoiceRecognitionClientWorkStatusChunkEnd

用户在没有声音时检测到的过程:

[En]

The process detected by the user when there is no voice:

EVoiceRecognitionClientWorkStatusError

长语音识别,检测无语音的用户

[En]

Long speech recognition, detection of users without voice

EVoiceRecognitionClientWorkStatusStart

EVoiceRecognitionClientWorkStatusChunkEnd

EVoiceRecognitionClientWorkStatusChunkEnd

EVoiceRecognitionClientWorkStatusChunkEnd

EVoiceRecognitionClientWorkStatusLongSpeechEnd

语音识别功能集成总结

百度在整合过程中遇到了参数设置不生效的问题。调试了很长时间,才知道官网上列出的很多参数都需要它的自训模式。这一点不清楚,需要抱怨。

[En]

Baidu encountered the problem that the parameter setting did not take effect in the process of integration. After debugging for a long time, I only knew that many of the parameters listed on the official website needed its self-training model. This point is not clear and needs to complain.

语音识别功能集成总结

百度开发者的账号只能有半年的免费试用期。如果过期,则会报告如下错误:

[En]

Baidu developers can only have a half-year free trial period for an account. If it expires, an error will be reported as follows:

2021-11-08 14:08:34.985 15556-16225/com.org.BaseWebviewApp E/ASREngine: EVoiceRecognitionClientWorkStatusError errorDomain : 33 errorCode : -3004 desc : Server app name unknown.[(-3004)4: Open api request limit reached] mLastRecognitionResult:

语音识别功能集成总结

3、腾讯

账号注册地址: https://cloud.tencent.com/document/product/378/17985

集成文档说明地址:语音识别 实时语音识别 – SDK 文档 – 文档中心 – 腾讯云

实时语音识别也分为两种模式:长语音和短语音。启用静音检测时,可以设置超时。

[En]

Real-time speech recognition is also divided into two modes: long and short speech. When mute detection is enabled, the timeout can be set.

回调事件, SDK 安卓平台还有缺陷:

3.1 目前的回调在开启静音检测后,超时后语音识别成功,不会回到onSuccess,所以暂时将语音识别文本返回放在了状态回调 onStopRecord 中。

3.2 另外就是在demo中的识别分片间隔设置太大,如果没注意的话,可能会导致自己设置的静音超时时间不生效的假象。

final AudioRecognizeConfiguration audioRecognizeConfiguration = new AudioRecognizeConfiguration.Builder()

.setSilentDetectTimeOut(true)// 是否使能静音检测,true表示不检查静音部分

.audioFlowSilenceTimeOut(3000) // 静音检测超时停止录音

. minAudioFlowSilenceTime(2000) // 语音流识别时的间隔时间

.minVolumeCallbackTime(80) // 音量回调时间

.sensitive(2.5f)

.build();

3.3 在多次重复调用开启语音识别时,可能是由于前一次任务没有结束,接口不支持并发,会导致第二次启动报错,然后终止整个识别任务。

2021-02-24 12:11:40.652 5332-5389/com.tencent.iot.speech.app I/WebsocketTaskManager: WebSocketListener onMessage String{“code”:4008,”message”:”客户端数据上传超时”}

2021-02-24 12:11:40.654 5332-5389/com.tencent.iot.speech.app I/MainActivity: onFailure..:code=4008, message=客户端数据上传超时

语音识别功能集成总结

以上就是三个厂商在集成过程中总结的基本特性,总体来说,科大讯飞是老玩家了,这个比较成熟,SDK也应该好久没有更新了,在识别准确度和语音以及方言支持方面,确认无人能及。

百度的官方文档说明不够清晰,在一些参数的调试方面会让开发者比较疑惑。 腾讯也行在大力开发这方面的功能,所以更新比较频繁,就在我集成的过程中,其SDK都有了版本更新,所以对于、

一体化用户多少有点像老鼠,但他们对工单的反馈非常正面,可能是因为有了最新的考核机制,就连开发者也像当年的淘宝卖家一样,屡次乞求五星好评。

[En]

Integrated users are more or less like mice, but their feedback on work orders is very positive, perhaps because of the latest assessment mechanism, and even developers, like Taobao sellers at that time, have repeatedly begged for five-star praise.

五、各个厂商接口统一

由于移动端提供的native功能对于前段调用来说要磨平厂商差异,所以对于接口需要进行统一处理,最终基于折中,将使用方式都改为了默认使用长语音识别,一次识别控制在60秒以内。当然科大讯飞没有

在该模型中,只能将超时设置得尽可能大,以减少体验中的不一致。

[En]

In this model, the timeout can only be set as large as possible to reduce inconsistencies in the experience.

语音识别功能集成总结

Original: https://blog.csdn.net/yangwubolwg/article/details/114286661
Author: 杨武博
Title: 语音识别功能集成总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526180/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球