关于android:HMS-Core机器学习服务实现同声传译支持中英文互译和多种音色语音播报

8次阅读

共计 2292 个字符,预计需要花费 6 分钟才能阅读完成。

当用户有跨语种交换或音频内容翻译的需要时,利用须要能自动检测语音内容再输入为用户须要的语言文字。

HMS Core 机器学习服务提供同声传译能力,同声传译实现将实时输出的长语音实时翻译为不同语种的文本以及语音,并实时输入原语音文本、翻译后的文本以及翻译文本的语音播报。

在直播类,会议类的利用中,同声传译显得尤为重要。比方,在会议类利用中,能够将正在进行的会议发言人的发言内容实时输入为指标语言文字,便于不同语言的人实时了解会议内容,进步会议效率。在直播类利用中,能够将主播的谈话内容实时输入为用户须要的语言文字,再进行实时播报,进步了用户的观看体验。

HMS Core 机器学习服务同声传译能力不仅反对间断 5 小时的实时长语音输入转换为文本,还反对中英文互译和多种音色语音播报,满足不同类型利用中不同场景的须要。

DEMO 示例

开发步骤

在进行开发之前,您须要实现必要的开发筹备工作,同时请确保您的工程中曾经配置 HMS Core SDK 的 Maven 仓地址,并且实现了本服务的 SDK 集成。

SDK 示例代码如下:

dependencies{
    // 引入同声传译服务 SDK
implementation 'com.huawei.hms:ml-computer-si-sdk:3.5.0.312'
}
  1. 请参见云端鉴权信息应用须知,设置您利用的鉴权信息。
  2. 创立同传识别器,并设置配置。
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();
  1. 创立语音辨认后果监听器回调。
// 回调实现 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) {// 告诉利用状态产生扭转。}
    }
  1. 绑定同传识别器。
mlSimultaneousInterpretationRecognizer.setMLSimultaneousInterpretationListener(new SIRecognitionListener());
  1. 调用 startRecognizing 启动语音辨认。
// 开始辨认。mlSimultaneousInterpretationRecognizer.startRecognizing(config);
  1. 辨认实现后,完结辨认并开释资源。
if (mlSimultaneousInterpretationRecognizer!= null) {mlSimultaneousInterpretationRecognizer.destroy();
  }

理解更多详情 >>

拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee

关注咱们,第一工夫理解 HMS Core 最新技术资讯~

正文完
 0