我是Alexa技能发展新手。我正在尝试创建一个语音pin认证。
这就是我想要实现的目标:
用户:"打开灯"
阿列克谢:“你的安全别针是什么?”
User:"6456"(错误的pin)
阿列克谢:“认证失败!请再试一次。"
用户:"1234"(正确引脚)
Alexa:“开灯!”
如果用户第一次告诉正确的pin没有问题,但如果用户第一次告诉错误的pin Alexa只是说了reprompt消息,没有接受新的pin值,我将如何获得新的pin值,并在相同的意图处理程序中再次检查该pin?
这是我的代码:
const RemoteControlIntentHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'RemoteControlIntent';
},
handle(handlerInput) {
var speakOutput = '';
var userPin = handlerInput.requestEnvelope.request.intent.slots.securityPin.value;
if (userPin !== userSecurityPin) {
speakOutput = 'Authentication Failed! Please retry!';
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
} else {
speakOutput = 'Turning ON the light!';
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt('add a reprompt if you want to keep the session open for the user to respond')
.getResponse();
}
}
问题是你的远程控制意图
没有映射与引脚话语.所以,当你尝试与实际引脚第二次alexa不知道它应该与哪个意图映射。
您需要一种方法来再次执行远程控制器
与实际的引脚。
这将需要您的意图模式来正确地解决问题,但这里有一个解决方案会起作用
const RemoteControlIntentHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'RemoteControlIntent';
},
handle(handlerInput) {
var speakOutput = '';
var userPin =handlerInput.requestEnvelope.request.intent.slots.securityPin.value;
const request = handlerInput.requestEnvelope.request;
if (userPin !== userSecurityPin) {
speakOutput = 'Authentication Failed! Please retry!';
return handlerInput.responseBuilder
.speak(speakOutput)
.addElicitSlotDirective('securityPin') // this line will ask for the pin again against the same intent
.getResponse();
} else {
speakOutput = 'Turning ON the light!';
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt('add a reprompt if you want to keep the session open for the
user to respond')
.withShouldEndSession(true)
.getResponse();
}
}
};
记住为RemoteControlIntent
启用自动委派,并使用什么是您的安全pin?在securityPin
提示符中。
我正在尝试使用适用于Xamarin Android的Microsoft认知语音从麦克风构建连续语音识别。我认为没有Xamarin的库,所以我稍微修改了“Xamarin。认知。BingSpeech”库(endpoint等)以使其正常工作。我有一些问题 我想通过以下教程连接到microsoft web套接字https://docs.microsoft.com/en-us/azure/cognitive
我正在努力寻找使用谷歌云语音API进行实时连续语音识别的例子。我的要求是使用麦克风,检测语音,并在用户说话时进行转录。 我知道他们的RESTAPI没有这种支持,所以我研究了grpc示例,包括他们提供的示例。但它们似乎都是用户可以上传音频并检测语音的例子。 我在Java,谷歌grpc也支持java。有人遇到一个很好的例子,展示了如何通过麦克风持续进行这种识别吗?
我正在尝试从扬声器转录音频 我正在将声音从扬声器传送到节点。js文件(https://askubuntu.com/a/850174) 这是我的抄本。js公司 但谷歌云语音到文本在1分钟内对流媒体识别有一个限制。所以我有一个错误“超过了允许的最大流持续时间65秒” 如何将流拆分为以静默为拆分器的块,或拆分为持续30秒的块?
我正在开发amazon alexa skill,我想在其中添加语音识别功能,因此当任何用户与alexa通话时,我的技能应该能够识别语音,并从我们的数据库中获取他的信息,或者将他的数据保存为我们数据库中的新帐户,我不知道如何进行语音识别,你知道如何进行语音识别吗?
[信息]:#安装纯Python模块 [信息]:需求(SpeechRecognition,pyaudio)没有菜谱,试图用pip安装它们 [信息]:如果失败,这可能意味着模块已经编译了组件,需要一个配方。 工作:pid 3095的线程后台线程异常:n/python2.7-u-c“导入设置...(和509更多) 回溯(最近调用的最后一次): 文件“/usr/lib/python2.7/threadin
之前我们学习了利用 pin 设备控制 led 的亮灭,这一节我们学习利用 pin 设备进行按键的控制。 基础知识 按键控制的实现有很多的方式,在裸机编程的时候最常用的就是延时消抖以及抬手检测了,可以很简单的就实现按键的输入。其实还有更加简单、灵活的按键处理方式,就是每隔一定的时间间隔扫描一次按键的状态,如果连续多次按键的状态都是按下的状态,我们就认为按键是按下的。 在裸机编程的时候,按键处理一般是