sha*_*ren 1 transcription azure-speech
我想使用 Azure 语音服务批量转录 API来创建音频文件的转录。我已经成功使用语音服务 SDK(适用于 Node.js),但有兴趣尝试 v3.1 预览版 api ( displayFormWordLevelTimestampsEnabled) 中提供的较新功能之一,所以我想我必须使用REST API 服务来执行此操作。
总的来说,我的问题是,无论我为Create TranscriptAPI提供什么输入contentUrls,我总是会得到相同的错误:
"error": {
"code": "InvalidData",
"message": "The recordings URI contains invalid data."
}
Run Code Online (Sandbox Code Playgroud)
经过一番挖掘后,我通过 Azure 门户找到了一些提示,可用于以sox请求的特定格式处理音频文件的转码。
他们在门户文档中提到的具体格式显示:如果您使用 REST API,请确保它使用此表中的格式之一:
| 格式 | 编解码器 | 比特率 | 采样率 |
|---|---|---|---|
| 音频格式 | 相变材料 | 256kbps | 16 kHz,单声道 |
| 奥格 | 奥普斯 | 256kbps | 16 kHz,单声道 |
sox 的具体命令是:
| 活动 | SoX命令 |
|---|---|
| 检查音频文件格式。 | 红袜--我 |
| 将音频文件转换为单声道、16 位、16 KHz。 | sox -b 16 -e 有符号整数 -c 1 -r 16k -t wav .wav |
我通过第二个命令运行我的 mp3 并使用第一个命令验证该文件,文件的内容如下所示:
Input File : 'out5.wav'
Channels : 1
Sample Rate : 16000
Precision : 16-bit
Duration : 00:00:30.09 = 481488 samples ~ 2256.97 CDDA sectors
File Size : 963k
Bit Rate : 256k
Sample Encoding: 16-bit Signed Integer PCM
Run Code Online (Sandbox Code Playgroud)
最后,我将文件上传到公共 S3 存储桶,用作我的请求的内容 url:
POST https://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions
{
"contentUrls": [
"https://s3.us-west-1.amazonaws.com/xxxx/out5.wav"
],
"locale": "en-US",
"displayName": "Test"
}
Run Code Online (Sandbox Code Playgroud)
但它仍然失败,并出现我上面发布的相同错误。对可能出现问题的任何见解?谢谢!
更新:
下面的答案提到能够在Get Transcript/ Create Transcriptapi 调用上引用 reports.json 文件。
当我使用Create TranscriptAPI 时,我的有效负载是:
{
"self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/transcriptions/02815462-e9c0-4fdc-8bbe-7b0e78152f95",
"model": {
"self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/models/base/c3b008fa-eb47-4f6d-a5b9-71dd37870bb7"
},
"links": {
"files": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/transcriptions/02815462-e9c0-4fdc-8bbe-7b0e78152f95/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"displayFormWordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked"
},
"lastActionDateTime": "2022-09-13T23:37:09Z",
"status": "NotStarted",
"createdDateTime": "2022-09-13T23:37:09Z",
"locale": "en-US",
"displayName": "Test"
}
Run Code Online (Sandbox Code Playgroud)
调用Get Transcript我看到:
{
"self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/transcriptions/02815462-e9c0-4fdc-8bbe-7b0e78152f95",
"model": {
"self": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/models/base/c3b008fa-eb47-4f6d-a5b9-71dd37870bb7"
},
"links": {
"files": "https://westus.api.cognitive.microsoft.com/speechtotext/v3.1-preview.1/transcriptions/02815462-e9c0-4fdc-8bbe-7b0e78152f95/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"displayFormWordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked",
"error": {
"code": "InvalidData",
"message": "The recordings URI contains invalid data."
}
},
"lastActionDateTime": "2022-09-13T23:37:22Z",
"status": "Failed",
"createdDateTime": "2022-09-13T23:37:09Z",
"locale": "en-US",
"displayName": "Test"
}
Run Code Online (Sandbox Code Playgroud)
最后查看成绩单文件,我得到一个空列表:
{
"values": []
}
Run Code Online (Sandbox Code Playgroud)
我没有看到任何对 reports.json 的引用,也没有看到此处填充的任何数据。
在许多情况下,您可以通过执行 GEThttps://westus.api.cognitive.microsoft.com/speechtotext/v3.0/transcriptions/<transcription_id>/files并查看其中引用的 report.json 来获取详细的错误信息。
如果这没有帮助,您可以发布失败转录的转录 ID,以便团队中的某人(我是其中之一)可以查看服务日志。
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |