天天看点

使用智能语音交互识别视频中的音频

本文将介绍如何将视频文件中的音频剥离出来并使用阿里云智能语音交互的录音文件识别功能进行识别。

环境准备

  • 本文以Windows环境为例,请确保Git,Maven, Java已经安装并配置成功。
  • 开通智能语音交互服务,具体步骤请参考: 开通服务
  • 创建智能语音交互项目,具体步骤请参考: 创建项目

项目创建成功后单击创建的项目,您将在页面上方获取到对应项目的appkey,如下图所示:

使用智能语音交互识别视频中的音频
  • 语音产生源:视频文件。
  • 所在行业:教育。
  • 语种/方言:中文普通话(标准)。
  • 模型名称:通用。
  • 来源:官方。
  • 适用场景:适用采样16000语音。
  • 说明:通用(中文) 。
    使用智能语音交互识别视频中的音频
说明:在语音识别服务中,如果在您的业务领域有一些特有的词,默认识别不出来的时候可以考虑使用热词功能,请参考 管理热词

操作步骤

  1. 选择视频文件
  2. 抽取音频文件

    本文将使用格式工厂抽取视频中的音频文件并对音频进行转换,配置等。

    1. 下载格式工厂 地址
    2. 选择输出音频格式

      本例中我们选择MP3格式作为音频格式。

    3. 添加文件

      添加步骤1的视频文件作为源文件。

    4. 配置输出文件

将输出文件的采样率设置为项目支持的采样率,本例中为16000Hz。

开始抽取

说明:智能语音交互录音文件识别 :
  • 支持单轨/双轨的WAV格式、MP3格式的录音文件识别;
  • 支持8000Hz、16000Hz的采样率;
  1. 将音频文件存放到OSS。

    具体步骤请参考

    上传文件
  2. 下载示例项目

    下载地址见附件

  3. 导入示例项目

    将示例项目导入到eclipse:

使用智能语音交互识别视频中的音频
  1. 设置音频文件访问链接

    将示例代码中的音频访问链接

    taskObject.put(KEY_FILE_LINK, "https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav")

    ; 替换成我们存储到OSS的音频文件链接 。
  2. 运行配置:
    1. 右键示例项目,单击 Run As →Run Configurations。
    2. 在弹出的Run Configurations界面中单击 Arguments页签,在Program arguments输入框中我们将依次输入 AccessKey ID ,Access Key Secret和项目Appkey,如下图所示:
      使用智能语音交互识别视频中的音频
    3. 单击 Run 运行。

查看识别结果

识别结果以及相关参数将打印在Eclipse控制台,如下图所示:

使用智能语音交互识别视频中的音频

可以添加以下代码过滤掉其他参数只显示中文结果:

if(result.getJSONObject("Result")!=null) {
           JSONArray jArray = result.getJSONObject("Result").getJSONArray("Sentences");
           for (java.util.Iterator tor=jArray.iterator();tor.hasNext();) {
               JSONObject sentence = (JSONObject)tor.next();
             System.out.println(sentence.get("Text"));
           }
            }           

过滤后的识别结果如下图所示:

使用智能语音交互识别视频中的音频

(本文作者为阿里云大数据产品文档工程师)