跳至主要内容

接口的选择使用

AmiVoice API根据用途提供了3种接口。

本节将说明各接口的区别以及选择使用的标准。

同步 HTTP 接口

这是最简单的实现方法。通过HTTP POST发送带有请求参数的音频文件,响应中即可获得语音内容的文本。仅当音频文件大小不超过16MB时才可使用。

图. AmiVoice API 概述

用例

  • 想要验证识别精度等情况
  • 想要简单地集成到应用程序中的情况
  • 想要识别短时语音的情况

虽然无法逐步获取识别结果,但如果要识别的语音足够短(几秒钟左右),且对结果的实时性要求不是很高,也可以在生产环境中使用。

优点

只需通过HTTP POST发送音频和一些参数,因此实现起来很简单。此外,只要有能够发送HTTP请求的工具,如curlPostman、Visual Studio Code的REST Client等,就可以立即进行测试。

注意事项

  • 如果音频文件超过16MB,将会报错。
  • 也可以使用Chunked格式分段发送。但结果会一次性返回。
  • 即使发送的音频数据包含多个语音段,也不会返回语音段的时间信息。如果需要按发言部分的结果,请使用异步 HTTP 接口WebSocket接口
  • 不会返回识别中间结果(语音识别结果确定前的假设)。如果需要识别中间结果,请使用WebSocket接口

资源

异步 HTTP 接口

语音识别作为Job在服务器端异步执行。可以轮询直到Job完成,然后获取识别结果。

图. AmiVoice API 概述

用例

  • 想要将大型音频文件(大于16MB)转换为文本的情况
  • 不需要逐步接收响应,而希望尽可能提高精度的情况

例如,适用于批处理场景,如将呼叫中心的通话录音文件或会议录音文件批量转换为文本。

备注

语音识别所需的时间大约是发送音频时长的0.51.5倍。例如,发送1小时的音频时,获得结果可能需要3090分钟左右。在这种情况下,如果在一个HTTP会话中进行请求和结果获取,需要长时间维持会话,如果中途会话断开,可能无法获得结果。因此,同步 HTTP 接口将音频文件大小限制在16MB以下,对于更大的音频文件,建议使用 异步 HTTP 接口 分别进行请求和结果获取。

优点

  • 与其他接口相比,可能会获得更高的精度。
    备注

    根据我们对各种测试集的测试,异步 HTTP 接口 的错误改善率平均比其他接口高5个百分点。 这是由于以下原因:

    • 不需要立即返回响应,因此在推测某一时点的语音内容时,可以预读更多的未来信息后再进行处理。
    • 配置为可以使用比使用同步HTTP或WebSocket接口进行识别时更多的计算资源。
  • 不仅可以获得逐词的时间信息,还可以获得按发言部分的结果。当音频文件包含多个语音段时,可以使用语音的开始时间和结束时间。

注意事项

  • 开始Job可能需要几十秒到几分钟的延迟,因此对于短音频的识别,相对来说延迟时间的影响会更大。此外,对于短音频,上述优点中的精度改善效果也会减小。
  • 不会返回识别中间结果(语音识别结果确定前的假设)。如果需要识别中间结果,请使用WebSocket接口

资源

WebSocket接口

通过建立WebSocket连接,可以实现双向通信。可以从流式音频源逐步发送音频到服务器,并逐步获取语音识别结果。适用于需要实时性的应用程序。

图. AmiVoice API 概述

用例

  • 音频源为音频流,想要逐步获取并使用结果的情况
  • 想要使用语音识别的中间结果(语音识别结果确定前的假设)的情况
  • 想要提高用户说话结束检测的精度的情况

优点

  • 可以逐步获取语音识别结果。
  • 可以获得识别中间结果(语音识别结果确定前的假设)。由于语音识别结果在检测到语音结束后才会确定,因此在实时应用程序中可能需要一些时间才能获得结果。通过在屏幕上显示中间结果,可以实现对用户的快速响应。
  • 可以由API端进行语音结束的检测。例如,如果使用同步 HTTP 接口实现对话应用程序,需要在用户说话结束时停止录音并创建音频文件。如果录音系统没有结束检测功能,或者只有基于简单音量的实现,在背景噪音较大或用户声音较小的情况下可能无法正常工作。使用WebSocket接口时,只需逐步发送音频数据,就可以利用AmiVoice API的深度学习模型进行语音结束检测,比简单的基于音量的结束检测能够更精确地检测说话结束并获得结果。
  • 不仅可以获得逐词的时间信息,还可以从发言部分的结果获取发言的开始和结束时间。当音频文件包含多个语音段时,可以使用语音的开始时间和结束时间。

注意事项

  • 建立WebSocket连接后,需要使用自定义的基于文本的协议与语音识别服务器通信,因此实现可能会变得复杂。

资源