发 帖  
原厂入驻New
[经验]

【HarmonyOS】超简单集成华为HMS实时语音转写技术,轻松搞定会议纪要

2020-10-30 11:42:22  143 HarmonyOS
分享
2
原文链接:https://HarmonyOS.51cto.com/posts/1492

前言

在工作中,我们经常需要整理会议内容、输出会议纪要,但是总遇到记录不全、遗漏重点等难题,逼着我们要全程进行会议录音。但发现重听会议录音又会很浪费时间、影响效率,往往一个小时的会议录音可能需要花费1.5个小时重听,更不用说长时间的会议录音了,瞬间工作量翻倍,妥妥要加班的节奏啊!

反正小编每次开会和整理会议纪要时,都在想:要是有个免费软件可以将领导讲话实时转化为文本就好了,那小编只需要简单修改、编辑、删减等,就可以快速输出会议纪要,简单又从容,完全就是商务精英模样。

现在机会来了——华为HMS ML Kit实时语音转写技术,轻松解决会议纪要输出费时费力的难题。重点是免费!

服务介绍

华为HMS实时语音转写技术具有以下功能:
  • 支持5小时内实时语音转写
  • 支持标点符号输出
  • 支持生成带有时间戳的文本内容
  • 端侧免费,超简单集成
  • 支持普通话、中英混合、英文、法语等语言识别

应用场景介绍

华为实时语音转写技术除了满足会议语音内容实时转化为文本外,还可以应用于实时直播字幕添加、学术讲座、课程培训等场景。

例如,直播时,实时语音转写技术可以将直播音频内容实时输出为直播字幕,减少后期制作,提升观看体验。学术讲座时,实时语音转写技术将演讲者发言实时转化为文字上屏,实现演讲者话语可视化,即使在嘈杂环境下也能取得良好的演讲效果。课程培训时,利用实时语音转写服务可以实现重点内容随讲随记,再也不用担心记完上句遗漏下句了,实时输出课堂笔记,减少课后整理时间,留存更多时间理解和反应。

开发代码

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

在开发应用前,需要在AppGallery Connect中配置相关信息。
具体操作步骤:https://developer.huawei.com/con ... 0000001050990353-V5

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

2.1  打开Android Studio项目级“build.gradle"文件。
2.2  添加HUAWEI agcp插件以及Maven代码库。

在allprojects->repositoriesl里面配置HMS Core SDK的Maven仓地址。
  1. allprojects {
  2.     repositories {
  3.         google()
  4.         jcenter()
  5.         maven {url 'https://developer.huawei.com/repo/'}
  6.     }
  7. }
复制代码

在buildscript->repositories里面配置HMS Core SDK的Maven仓地址。
  1. buildscript {
  2.     repositories {
  3.         google()
  4.         jcenter()
  5.         maven {url 'https://developer.huawei.com/repo/'}
  6.     }
  7. }
复制代码

在buildscript ->dependencies里面增加配置。
  1. buildscript{
  2.     dependencies {
  3.          classpath 'com.huawei.agconnect:agcp:1.3.1.300'
  4.     }
  5. }
复制代码


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

  1. <pre class="language-markup"><code>MLSpeechRealtimeTranscriptionConfig config = new MLSpeechRealTimeTranscriptionConfig.Factory()
  2.     // 设置语言,目前支持中文、英语、法语转写。
  3.     .setLanguage(MLSpeechRealTimeTranscriptionConstants.LAN_ZH_CN)
  4.     // 设置标点。
  5.     .enablePunctuation(true)
  6.     // 设置句子的偏移。
  7.     .enableSentenceTimeOffset(true)
  8.     // 设置词的偏移。
  9.     .enableWordTimeOffset(true)
  10.     .create();
  11. MLSpeechRealTimeTranscription mSpeechRecognizer = MLSpeechRealTimeTranscription.getInstance();</code></pre>
复制代码

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

  1. // 回调实现MLSpeechRealTimeTranscriptionListener接口,实现接口中的方法。
  2. protected class SpeechRecognitionListener implements MLSpeechRealTimeTranscriptionListener{
  3.     @Override
  4.     public void onStartListening() {
  5.         // 录音器开始接收声音。
  6.     }

  7.     @Override
  8.     public void onStartingOfSpeech() {
  9.         // 用户开始讲话,即语音识别器检测到用户开始讲话。
  10.     }

  11.     @Override
  12.     public void onVoiceDataReceived(byte[] data, float energy, Bundle bundle) {
  13.         // 返回给用户原始的PCM音频流和音频能量,该接口并非运行在主线程中,返回结果需要在子线程中处理。
  14.     }

  15.     @Override
  16.     public void onRecognizingResults(Bundle partialResults) {
  17.         // 从MLSpeechRealTimeTranscription接收到持续语音识别的文本。
  18.     }

  19.     @Override
  20.     public void onError(int error, String errorMessage) {
  21.         // 识别发生错误后调用该接口。
  22.     }

  23.     @Override
  24.     public void onState(int state,Bundle params) {
  25.         // 通知应用状态发生改变。
  26.     }
  27. }
复制代码


5  绑定语音识别器。

  1. mSpeechRecognizer.setRealTimeTranscriptionListener(new SpeechRecognitionListener());
复制代码


6  调用startRecognizing启动语音识别。

  1. mSpeechRecognizer.startRecognizing(config);
复制代码


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

  1. IF (mSpeechRecognizer!= null) {
  2.     mSpeechRecognizer.destroy();
  3. }
复制代码


DEMO演示



只有小组成员才能发言,加入小组>>

1095个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表