How To Use Amazon Skill Set Without Amazon Echo Device
Asked Answered
T

5

14

I am trying to integrate amazon skill kit in my website without an amazon echo unit. I want to implement voice commands on my website using the laptop/PC microphone instead of an echo unit.

I have used this tutorial but I didn't find anything about how to implement it on my side.

I also tried these samples available on github. But I think these also require an Amazon echo device: https://github.com/amzn/alexa-skills-kit-js

I am using Windows with the development environment given below

My development environment

  • I am able to configure web server for Alexa skills and it is working
  • Asp.Net
  • C#
  • Javascript / Jquery
  • Azure

Is it possible to use Amazon Alexa Skill Kit without an echo device?

Talkington answered 17/2, 2016 at 5:54 Comment(1)
Is There any Speech To Text api or speech recognition api available free that I can use to implement Voice Command on my website ?Talkington
K
5

Yes, the Alexa Voice Service does exactly that: Lets you process audio from any source, like a laptop or tablet or phone, using the Alexa Skills Kit. No Echo is necessary.

Make sure you read through Getting Started with the Alexa Voice Service and the Reference Implementation Guide; there are a lot of configuration steps that need to be done to make everything work together.

Did you get the Alexa Voice tutorial you linked to working?

Kaenel answered 18/2, 2016 at 6:17 Comment(5)
Ok let me check the link you are providingTalkington
Is there any online demo available for Alexa Voice Service that I can check or I need to create it . I need to see online demo to get simpler view of how I can implement it .Talkington
I haven't been able to find one, unfortunately. There are so many moving pieces it would be helpful if Amazon or someone wrote up a complete tutorial example.Kaenel
You might find github.com/sammachin/AlexaCHIP and youtube.com/watch?v=frH9HaQTFL8 helpful.Kaenel
there is alexa web repository available by sammachin . i looked at it is also having demo link Error At Console Browser is - POST alexaweb.herokuapp.com/audio 500 (Internal Server Error) Link For alexaweb - github.com/sammachin/alexaweb I have create issue regarding error over thereTalkington
P
5

If you haven't already, check out https://echosim.io

It's a web simulator of an Echo device.

It behaves just like any other Alexa 'device'. Login with your Amazon account and it picks up all your selected skills, etc. Shows up as just another device in the Alexa app.

Only downsides: You have to click to talk, and it's pretty slow, presumably because it has to receive, buffer, convert and re-ship the audio.

Also, I'm not sure how you register/connect to the Alexa service in the first place without an Echo/Dot device, but I assume there is a way.

More recently, there are a number of free 3rd-party apps on Android and iOS devices to also simulate an Alexa/Echo device. Search for 'Alexa' in your App/Play store and try a few of them out. "Reverb" is one: https://itunes.apple.com/us/app/reverb-for-amazon-alexa/id1144695621

Good luck.

Prehensile answered 16/11, 2016 at 21:13 Comment(1)
Thanks for this :)Nerty
C
2

Things you can do with this library:

  1. Login with Amazon and get access token
  2. Get access token and refresh token from 'code' response type
  3. Get access token from refresh token
  4. Request user microphone
  5. Record user audio using microphone
  6. Send user audio to AVS
  7. Parse response from AVS
  8. Queue and play MP3 responses from AVS.

The audio recorded in this library is mono channel, sampled at 16k Hz, and signed 16 bit PCM encoding which is required by AVS.

Tutorial: https://github.com/miguelmota/alexa-voice-service.js Demo:https://miguelmota.com:9745/

Coffeecolored answered 19/12, 2016 at 6:36 Comment(0)
O
1

Generally speaking, once you set up your Alexa Voice Service (AVS) client, either on you desktop/laptop, webpage, Android or Raspberry Pi, you should be able to use the AVS client just like the way you use Echo.

Here's the official AVS sample app, well maintained and documented: https://github.com/alexa/alexa-avs-sample-app

As to Alexa Skills, note that "skills" are just like apps for Amazon Alexa. You login your Amazon account, install (enable) the skills for your Alexa service. Then whenever you speak to AVS with the pre-defined command corresponding to a certain skill, it will automatically redirect your command to that skill.

Overstretch answered 2/2, 2017 at 1:34 Comment(0)
G
0

Yes. You can certainly create and test skills without the actual device. Below are the steps I used to get it working. Note that I have not attempted to get it working on a website but I suppose it is possible by adapting the method used for the java client.

Step 1: Emulate the device. Use the "Alexa Voice Service" sample code, which behaves exactly like the device. Follow the steps on this page: https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/docs/reference-implementation-guide. I used the java client to simulate the Alexa device and skipped the steps for the Android and iOS devices.

When you launch the java client it behaves just like an Alexa device.

Step 2: Create your Skill. The easiest way to get started is to launch the sample lambda function, as per https://developer.amazon.com/appsandservices/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-lambda-function.

Now when I launch the java client it can access the skill that I published to Lambda. I can edit the skill in lambda and hear the updates without even needing to re-launch the java client.

It would be great if someone has an example of this running over the web, rather than on the java client.

Guimond answered 28/2, 2016 at 23:4 Comment(2)
The java client runs on the desktop and this certainly works for speaking and getting audio, is that what you mean? If you are asking whether it can launch a desktop app, from what I can see the desktop client does not receive a text-based version of the outbound or inbound audio. To launch an app on a particular trigger, I suspect you might need to trigger the launch inside your lambda function (in AWS) then somehow forward that to the java client to perform an action on the desktop.Guimond
Actually i want to achieve it in web app . wanted to enable microphone-get audio- pass file to - alexa voice service - get text - use that text as command in code - to perform relevant actions .Talkington

© 2022 - 2024 — McMap. All rights reserved.