长音频文件的转录
本教程将逐步说明如何使用 API 将会议、演讲、呼叫中心通话录音等长音频转换为文本。我们将使用 curl 命令和 jq 命令来说明,而不是编写程序。
准备
要执行此教程,您需要以下内容:
- curl
- jq
- 注册 AmiVoice API 并获取
APPKEY - 准备要转录的音频文件
我们使用 jq 命令来格式化结果,使其更易于阅读。即使没有安装 jq,您也可以继续进行本教程的音频转录,不安装也没关系。
curl
请检查您的系统是否已安装 curl 命令。
curl -V
如果没有显示版本信息,请从 https://curl.se/ 下载适合您操作系统的 package,或使用 package 管理器安装 curl。
jq
请检查您的系统是否已安装 jq 命令。
jq -V
如果没有显示版本信息,请从 https://stedolan.github.io/jq/ 下载适合您操作系统的 package,或使用 package 管理器安装 jq。
获取 APPKEY
- 注册 AmiVoice API。
- 登录到您的 MyPage ,记录下MyPage TOP中[Connection Information]部分列出的 APPKEY。如果您在 MyPage 上发行了多个 APPKEY,只要是有效的就可以使用任何一个。
AmiVoice Tech Blog 详细描述了获取 APPKEY 的步骤。有关获取 APPKEY 的信息,请参阅 尝试使用 AmiVoice API。
音频文件
准备要转录的音频文件。
在这里,我们将使用与客户端库的示例程序一起提供的音频文件 test.wav。
执行
1. 语音识别请求
语音识别请求时指定的参数与同步 HTTP 接口完全相同。
curl https://acp-api-async.amivoice.com/v2/recognitions \
-F d=-a-general \
-F u={APP_KEY} \
-F a=@test.wav
请求成功后,您将收到如下响应。请求将作为Job进入队列,并按顺序处理。
{"sessionid":"017c25ec12c00a304474a999","text":"..."}
2. 获取Job状态和结果
您可以使用请求中获得的 sessionid 来获取Job状态(status)和结果。在获得语音识别结果之前,需要多次执行此操作。请在 Authorization header 中指定 {APPKEY}。
curl -H "Authorization: Bearer {APPKEY}" \
https://acp-api-async.amivoice.com/v2/recognitions/017c25ec12c00a304474a999
发送请求后,status 初始状态为 queued。
{"service_id":"{YOUR_SERVICE_ID}","session_id":"017c25ec12c00a304474a999","status":"queued"}
当Job从队列中取出时,status 变为 started 状态。
{"service_id":"{YOUR_SERVICE_ID}","session_id":"017c25ec12c00a304474a999","status":"started"}
当实际开始语音识别处理时,status 变为 processing 状态。您可以使用 API 接收到的音频大小和 MD5 校验 和来确认所发送的音频是否正确处理。processing 状态所需的时间取决于音频的长度。
{'audio_md5': '40f59fe5fc7745c33b33af44be43f6ad', 'audio_size': 306980, 'service_id': '{YOUR_SERVICE_ID}', 'session_id': '017c25ec12c00a304474a999', 'status': 'processing'}