当用户有跨语种交换或音频内容翻译的需要时,利用须要能自动检测语音内容再输入为用户须要的语言文字。
HMS Core机器学习服务提供同声传译能力,同声传译实现将实时输出的长语音实时翻译为不同语种的文本以及语音,并实时输入原语音文本、翻译后的文本以及翻译文本的语音播报。
在直播类,会议类的利用中,同声传译显得尤为重要。比方,在会议类利用中,能够将正在进行的会议发言人的发言内容实时输入为指标语言文字,便于不同语言的人实时了解会议内容,进步会议效率。在直播类利用中,能够将主播的谈话内容实时输入为用户须要的语言文字,再进行实时播报,进步了用户的观看体验。
HMS Core机器学习服务同声传译能力不仅反对间断5小时的实时长语音输入转换为文本,还反对中英文互译和多种音色语音播报,满足不同类型利用中不同场景的须要。
DEMO示例
开发步骤
在进行开发之前,您须要实现必要的开发筹备工作,同时请确保您的工程中曾经配置HMS Core SDK的Maven仓地址,并且实现了本服务的SDK集成。
SDK示例代码如下:
dependencies{ // 引入同声传译服务SDKimplementation 'com.huawei.hms:ml-computer-si-sdk:3.5.0.312'}
- 请参见云端鉴权信息应用须知,设置您利用的鉴权信息。
- 创立同传识别器,并设置配置。
MLSimultaneousInterpretationConfig config = new MLSimultaneousInterpretationConfig.Factory() // 设置源语种,目前反对中文和英文.setSourceLanguage(MLSimultaneousInterpretationConstants.LAN_ZH_CN) // 设置指标语种,目前反对中文和英文 .setTargetLanguage(MLSimultaneousInterpretationConstants.LAN_EN_US) // 设置辨认类型。反对原始文本+翻译文本+翻译语音 .setResultType(MLSimultaneousInterpretationConstants.RESULT_TYPE_TEXT_TRANSLATED_VOICE) // 设置发音人,反对中、英男声和女声 .setPerson(MLSimultaneousInterpretationConstants.EN_FEMALE_VOICE) .create(); MLSimultaneousInterpretationRecognizer = MLSimultaneousInterpretationRecognizer.getInstance();
- 创立语音辨认后果监听器回调。
// 回调实现MLSimultaneousInterpretationListener,实现接口中的办法。 protected class SIRecognitionListener implements MLSimultaneousInterpretationListener { @Override public void onStartListening() { // 录音器开始接管声音。 } @Override public void onVoiceDataReceived(byte[] data) { // 返回给用户原始的PCM音频流和音频能量,该接口并非运行在主线程中,返回后果须要在子线程中解决。 } @Override public void onRecognizingResults(Bundle partialResults) { // 从SIRecognitionListener接管到继续语音辨认的文本。 // RESULTS_RECOGNIZING:原始文本;RESULTS_TRANS_RECOGNIZING:tts文本;RESULTS_SN:原始序列号;RESULTS_TRANS_SN:tts序列号 } @Override public void onResults(Bundle results) { // 从SIRecognitionListener接管到残缺的句子 // RESULTS_RECOGNIZED:原始后果;RESULTS_TRANS_RECOGNIZED:tts后果 } @Override public void onError(int error, String errorMessage) { // 辨认产生谬误后调用该接口。 } @Override public void onState(int state, Bundle params) { // 告诉利用状态产生扭转。 } }
- 绑定同传识别器。
mlSimultaneousInterpretationRecognizer.setMLSimultaneousInterpretationListener(new SIRecognitionListener());
- 调用startRecognizing启动语音辨认。
// 开始辨认。 mlSimultaneousInterpretationRecognizer.startRecognizing(config);
- 辨认实现后,完结辨认并开释资源。
if (mlSimultaneousInterpretationRecognizer!= null) { mlSimultaneousInterpretationRecognizer.destroy(); }
理解更多详情>>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~