最长支持5小时!实时语音转写,直播也能同步字幕

2022年05月12日 阅读数:11
这篇文章主要向大家介绍最长支持5小时!实时语音转写,直播也能同步字幕,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

信息爆发时代,有效率有质量地整理视频、音频、文字等信息变得尤其重要。会议、讲座、采访、客服电话等场景均须要造成完整的文字记录材料,音视频文件也要配有字幕。语音转文字的智能化,让信息录入即时高效。segmentfault

在直播类、会议类、笔记类的应用中都具有实时语音转写功能。例如,在音视频会议中,能够将发言内容可视化,即时生成会议纪要,方便记录、修改,提升会议效率;在直播类应用中,能够识别主播所说的话,达到“边说边出文字”的效果,提高用户观看体验,营造更好的直播氛围;在笔记类应用中,支持重点内容随讲随记,捕捉你的每个想法。机器学习

HMS Core机器学习服务提供实时语音转写能力,让开发者在应用中构建长语音转文字功能。能够将会议记录、笔记、总结、音视频直播内容等音频流实时转换为文字流数据结果,实现即时对语音内容的识别,展示对应文字内容。maven

最高可支持5小时的实时长语音输入转换为文本,不只可以输出标点符号,同时能够生成带有时间戳的文本信息。无论你是中文普通话、英语、法语,甚至中英文混说都可以很好识别,知足不一样的场景须要。ide

实时语音转写部署状况

效果展现

在效果展现里咱们能够看到经过实时语音转写功能转成的文字在结束后能够即刻进行编辑、复制、修改等,十分方便。学习

注意事项

• 目前法语实时语音转写服务仅支持华为手机和荣耀手机使用,中英文实时语音转写服务支持全部品牌手机。gradle

• 实时语音转写服务经过访问云侧接口完成识别服务,调测和使用时需保证设备可正常访问互联网。ui

开发步骤

1 .在AppGallery Connect中配置相关信息。

在开发应用前,须要在AppGallery Connect中配置相关信息。google

具体开发准备能够参考文档url

2 .配置HMS Core SDK的Maven仓地址。

2.1 打开Android Studio项目级“build.gradle”文件。spa

2.2 添加HUAWEI agcp插件以及Maven代码库。

在allprojects->repositories里面配置HMS Core SDK的Maven仓地址。

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
 }
在buildscript->repositories里面配置HMS Core SDK的Maven仓地址。
buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
 }

在buildscript ->dependencies里面增长配置。

buildscript{
    dependencies {
         classpath 'com.huawei.agconnect:agcp:1.3.1.300'
    }
 }

3 .建立语音识别器,并设置配置。

MLSpeechRealTimeTranscriptionConfig config = new MLSpeechRealTimeTranscriptionConfig.Factory()
    // 设置语言,目前支持中文、英语、法语转写。
    .setLanguage(MLSpeechRealTimeTranscriptionConstants.LAN_ZH_CN)
    // 设置标点。
    .enablePunctuation(true)
    // 设置句子的偏移。
    .enableSentenceTimeOffset(true)
    // 设置词的偏移。
    .enableWordTimeOffset(true)
    .create();
MLSpeechRealTimeTranscription mSpeechRecognizer = MLSpeechRealTimeTranscription.getInstance();

4. 建立语音识别结果监听器回调。

// 回调实现MLSpeechRealTimeTranscriptionListener接口,实现接口中的方法。
Protected class SpeechRecognitionListener implements MLSpeechRealTimeTranscriptionListener{
    @Override
    public void onStartListening() {
        // 录音器开始接收声音。
    }
 
    @Override
    public void onStartingOfSpeech() {
        // 用户开始讲话,即语音识别器检测到用户开始讲话。
    }
 
    @Override
    public void onVoiceDataReceived(byte[] data, float energy, Bundle bundle) {
        // 返回给用户原始的PCM音频流和音频能量,该接口并不是运行在主线程中,返回结果须要在子线程中处理。
   }
 
    @Override
    public void onRecognizingResults(Bundle partialResults) {
        // 从MLSpeechRealTimeTranscription接收到持续语音识别的文本。
    }
 
    @Override
    public void onError(int error, String errorMessage) {
        // 识别发生错误后调用该接口。
    }
 
    @Override
    public void onState(int state,Bundle params) {
        // 通知应用状态发生改变。
    }
}

5. 绑定语音识别器。

mSpeechRecognizer.setRealTimeTranscriptionListener(new SpeechRecognitionListener());

6 .调用startRecognizing启动语音识别。

mSpeechRecognizer.startRecognizing(config);

7. 识别完成后,结束识别并释放资源。

if (mSpeechRecognizer!= null) {
    mSpeechRecognizer.destroy();
}

了解更多详情>>
访问机器学习服务联盟官网
获取机器学习服务开发指导文档
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注咱们,第一时间了解 HMS Core 最新技术资讯~