Audio 如何为Alexa Voice编码音频?
我想使用亚马逊的Alexa语音服务(AVS),但是当我使用这个服务时,我得到的只是“{message:null}”。身份验证工作正常,请求似乎是正确的,因为当身份验证失败或请求格式不正确时,我收到了来自API的错误消息 我有一个wav音频文件,16000 Hz,1个通道,并使用PHP的base64_encode()对wav文件的内容进行编码 对于音频文件,AVS文档仅显示Audio 如何为Alexa Voice编码音频?,audio,amazon,encode,amazon-echo,alexa-voice-service,Audio,Amazon,Encode,Amazon Echo,Alexa Voice Service,我想使用亚马逊的Alexa语音服务(AVS),但是当我使用这个服务时,我得到的只是“{message:null}”。身份验证工作正常,请求似乎是正确的,因为当身份验证失败或请求格式不正确时,我收到了来自API的错误消息 我有一个wav音频文件,16000 Hz,1个通道,并使用PHP的base64_encode()对wav文件的内容进行编码 对于音频文件,AVS文档仅显示类型:二进制数据。表示音频的数据。 这是我发出的请求: 标题 POST /v1/avs/speechrecognizer/re
类型:二进制数据。表示音频的数据。
这是我发出的请求:
标题
POST /v1/avs/speechrecognizer/recognize HTTP/1.1
Host: access-alexa-na.amazon.com
Content-Type: multipart/form-data; boundary=86371ffc080fbb6fc614e8e36d0b8a4d
Authorization: Bearer Atza|IQEBL... (valid token)
Transfer-Encoding: chunked
Cache-Control: no-cache
身体
知道有什么问题/遗漏了吗?音频文件的编码应该是线性PCM而不是基64。希望这有帮助音频文件的编码应该是线性PCM而不是基64。希望这有助于文章正文应该包含原始音频二进制数据。您可以使用类似于的工具将音频转换为AVS期望的格式,即单声道、16k Hz采样率、有符号16位PCM。POST正文应包含原始音频二进制数据。您可以使用之类的工具将音频转换为AVS期望的格式,即单声道、16k Hz采样率、带符号的16位PCM。请原谅这个相当愚蠢的问题,但我是否可以将二进制文件内容复制到帖子正文中(如
5249 4646 b80a 0200 5741 5645 666d 7420…
)请原谅这个相当愚蠢的问题,但我是否可以复制帖子正文中的二进制文件内容(如5249 4646 b80a 0200 5741 5645 666d 7420…
)?
--86371ffc080fbb6fc614e8e36d0b8a4d
Content-Disposition: form-data; name="request"
Content-Type: application/json; charset=UTF-8
{
"messageHeader": {
"deviceContext": [
{
"name":"playbackState",
"namespace":"AudioPlayer",
"payload": {
"streamId": "xxxxxxxxxxxx",
"offsetInMilliseconds": "xxxxxxxxxxxx",
"playerActivity": "xxxxxxxxxxxx"
}
}
]
},
"messageBody": {
"profile": "alexa-close-talk",
"locale": "en-us",
"format": "audio/L16; rate=16000; channels=1"
}
}
--86371ffc080fbb6fc614e8e36d0b8a4d
Content-Disposition: form-data; name="audio"
Content-Type: audio/L16; rate=16000; channels=1
SUQzAgAAAAAQS1RUMgAAFwBhb...(truncated result of base64_encode(file.wav))
--86371ffc080fbb6fc614e8e36d0b8a4d--