- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要使用 curl 的 Alexa 语音 API ( https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/rest/speechrecognizer-requests )。 voicerecogniser API 调用比我习惯使用的更复杂,需要一个包含语音样本的 MP3 文件附件。任何人都可以建议如何使用 curl 构造以下内容吗? (在给定的链接中有更多信息)
POST /v1/avs/speechrecognizer/xxxxxxxxxxxx HTTP/1.1
Host: access-alexa-na.amazon.com
Authorization: Bearer xxxxxxxxxxxx
Content-Type: multipart/form-data; boundary=boundary_term
Transfer-Encoding: chunked
--boundary_term
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"
}
}
--boundary_term
Content-Disposition: form-data; name="audio"
Content-Type: audio/L16; rate=16000; channels=1
...encoded_audio_data...
--boundary_term--
最佳答案
我不是 bash 专家,但这是我能够使用 cURL 与 AVS 交互的方式。我生成一个包含多部分主体内容的文件,其中包括二进制音频数据并将其传递给 cURL。
############################################################
# First we creat a bunch of variables to hold data.
############################################################
# Auth token
TOKEN="Atza|IQEBLjAsAhR..."
# Boundary
BOUNDARY="BOUNDARY1234"
BOUNDARY_DASHES="--"
# Newline characters
NEWLINE='\r\n';
# Metadata headers
METADATA_CONTENT_DISPOSITION="Content-Disposition: form-data; name=\"metadata\"";
METADATA_CONTENT_TYPE="Content-Type: application/json; charset=UTF-8";
# Audio headers
AUDIO_CONTENT_TYPE="Content-Type: audio/L16; rate=16000; channels=1";
AUDIO_CONTENT_DISPOSITION="Content-Disposition: form-data; name=\"audio\"";
# Metadata JSON body
METADATA="{\
\"messageHeader\": {},\
\"messageBody\": {\
\"profile\": \"alexa-close-talk\",\
\"locale\": \"en-us\",\
\"format\": \"audio/L16; rate=16000; channels=1\"\
}\
}"
############################################################
# Then we start composing the body using the variables.
############################################################
# Compose the start of the request body
POST_DATA_START="
${BOUNDARY_DASHES}${BOUNDARY}${NEWLINE}${METADATA_CONTENT_DISPOSITION}${NEWLINE}\
${METADATA_CONTENT_TYPE}\
${NEWLINE}${NEWLINE}${METADATA}${NEWLINE}${NEWLINE}${BOUNDARY_DASHES}${BOUNDARY}${NEWLINE}\
${AUDIO_CONTENT_DISPOSITION}${NEWLINE}${AUDIO_CONTENT_TYPE}${NEWLINE}"
# Compose the end of the request body
POST_DATA_END="${NEWLINE}${NEWLINE}${BOUNDARY_DASHES}${BOUNDARY}${BOUNDARY_DASHES}${NEWLINE}"
# Now we create a request body file to hold everything including the binary audio data.
# Write metadata to body file
echo -e $POST_DATA_START > multipart_body.txt
# Append binary audio data to body file
cat hello.wav >> multipart_body.txt
# Append closing boundary to body file
echo -e $POST_DATA_END >> multipart_body.txt
############################################################
# Finally we get to compose the cURL request command
# passing it the generated request body file as the multipart body.
############################################################
# Compose cURL command and write to output file
curl -X POST \
-H "Authorization: Bearer ${TOKEN}"\
-H "Content-Type: multipart/form-data; boundary=${BOUNDARY}"\
--data-binary @foo.txt\
https://access-alexa-na.amazon.com/v1/avs/speechrecognizer/recognize\
> response.txt
音频必须是单声道,以 16k Hz 采样,有符号 16 位 PCM。否则 AVS 不返回任何内容。
有关更多信息,请查看我的 Alexa Voice Service (AVS) with cURL博文。
关于rest - 将 Alexa 语音服务 Rest API 与 cURL 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881477/
我正在研究 Alexa 技能(用于 Echo),并且我从一开始就研究了 Alexa 技能套件。 现在,我对 Alexa 语音服务感到困惑。我已经阅读了亚马逊上的文档,但无法更好地理解它。 请指导什么是
我正在尝试为 Alexa 创建一项技能,根据我选择的 tg 类别重现 .mp3 文件。我声明我从未使用过 node.js 并且我看过一门关于如何创建 alexa 技能的类(class)。到目前为止,我
是否可以远程触发 Alexa,即我有一个场景,应根据移动应用程序上的某些操作触发 Alexa,并且所提供的响应将由 echo dot 读出。 瓦伦 最佳答案 如果用户不与支持 Alexa 的设备交互,
在 Alexa 中创建技能时,每个插槽最多可以添加多少个值? 由于担心将原始用户对话记录为输入的技能,AMAZON.LITERAL 似乎已被弃用。 如果无法记录用户原始输入,我有大量可能的值可用作输入
我正在尝试编写我的第一个 Alexa 技能,但应用程序流程有点困惑,甚至阅读了有关对话委托(delegate)等的所有文档。我真的很喜欢一些建议。 我追求的流量 "Alexa, start Movie
我已经使用 aws lamda 函数创建了示例技能。我已经使用模拟器测试了技能,效果很好。我想测试 Alexa 应用程序的技能。 有人可以提及从头开始测试 Alexa 应用程序技能的步骤吗? 最佳答案
我已经使用 aws lamda 函数创建了示例技能。我已经使用模拟器测试了技能,效果很好。我想测试 Alexa 应用程序的技能。 有人可以提及从头开始测试 Alexa 应用程序技能的步骤吗? 最佳答案
我正在开发节点中的 Alexa 技能,我想知道如何对我的代码进行单元测试。我正在使用亚马逊发布的alexa sdk。 我找到了很多库来实现这一点,但它们似乎是在 alexa sdk 可用之前开发的。
我正在尝试在 Amazon Alexa 中创建一个简单的调查技巧,Alexa 向用户提出问题,然后他们以他们喜欢的任何方式(开放式)做出回应。例如,如果 Alexa 询问“你会做饭吗?”,用户可能会以
是否有任何方法可以在 Alexa 技能中显示像“阅读更多”这样的超链接?我试图在我的自定义 Alexa 技能中显示超链接,但找不到任何方法来实现它 最佳答案 超链接现在作为 APL 的一部分提供支持它
我正在尝试开发 Alexa 技能,我需要获取相对时间,例如:“ 5 分钟前 ”。 我为我的技能定义了一个时间段,它接受像 5 minutes 这样的时间, 6.30 am或 4 in the morn
我正在开发一项 Alexa 技能,我会在其中停下来获取水果名称。但是,如果我说诸如“苹果的成本是多少”之类的话,其中插槽值带有撇号,Alexa 似乎无法识别撇号。解决方法是说“一个苹果的成本是多少”之
如何为Alexa技能创建通用插槽?这样我就可以创建自己的Todo应用程序,它将识别自由格式的文本。 最佳答案 Alexa blog announced a List Skill API。如上所述,新技
如果我告诉 Alexa 以某些语言(中文、俄语等)或表情符号发出文本,它不会对用户说什么。 Alexa API 是否有办法指示字符串在发出之前或之后将转换为空/无声?或者,有没有办法在 Alexa 之
我想在我的网站/移动应用程序中使用 amazon alexa api。鉴于我开发了我的自定义技能,我想知道是否可以使用以及如何集成 alexa。 最佳答案 您可以使用 Alexa 语音服务。您需要收集
我打算根据自己的技能调用指定的电话号码。 例如 Me: Alexa, ask to find the customer service number Alexa: Sure, the custome
自定义技能已创建但未发布。 我可以在服务模拟器中对其进行测试。 当我尝试从门户网站 ( http://alexa.amazon.com/ ) 或手机上的 Alexa 应用程序将技能添加到我的设备时,搜
我一直在进行 alexa 开发,最近遇到了前所未有的情况。在尝试启用新技能测试时,我在 上收到以下错误测试 标签 : There was a failure enabling your skill,
我正在重写与 Particle.io API 通信的 Alexa 技能。这次我使用 ask-cli 来管理上传。所以到目前为止我的基本流程是: “问新”以创建入门技能和 lambda “请求部署”以创
我使用 PHP 创建了自定义技能和 https 端点。我已经在它正在运行的模拟器上测试了技能。我能够在 alexa android 应用程序上看到我的技能,并且我已经启用了它。但未得到有效响应。 最佳
我是一名优秀的程序员,十分优秀!