Is it possible to just have our Android app answer the question to only our Alexa custom skill and not have the entire default behavior of Echo? For example: I created a custom skill, say, calculate Can I make an android app which uses Alexa Voice service API to answer the questions only related to calculate and no other questions? (i.e. no default behavior like weather, music)
Why does the example on developer documentation app say "companion app"? Do I need Echo to use it? Can I not make an app which will answer questions but does not require echo?
Is it possible to get text and audio both as output using Alexa API?
I appreciate any input. Any links and references are welcome.
The benefit of Alexa is it's voice recognition abilities, and the ability to choose an appropriate intent based on a voice interaction. If the skill is written with clearly defined intents Alexa will be able to respond as you wanted. It may be that "Calculate..." might be too vague an intent for Alexa to differentiate.
Also, the useful bit is the skill you build. You define how things are calculated, and what answer to give. Unless you are trying to leverage the voice recognition and AI you might be better off going with some other technology (and if you need those things, then maybe WitAI might be more useful to you: https://wit.ai/ it's a little more roll-your-own than Alexa).
Alexa Voice Services (AVS) is available in the US, but not yet the UK or Germany until 2017 (and who know's when for other markets). AVS can be added physical devices that have a speaker and microphone, so it is possible to use Alexa without using an Echo or Echo Dot.
At it's core, the input and output of Alexa apps are JSON (so text). Alexa parses the text response and speaks the appropriate part. I'm not sure that you can route this response in some other way than having it spoken. However, in between the request and response is the Lambda function (or native device function), so in addition to generating the response to Alexa, you could dump the response somewhere else at the same time that would be available outside of Alexa.
Is it possible to just have our Android app answer the question to only our Alexa custom skill and not have the entire default behavior of Echo? For example: I created a custom skill, say, calculate Can I make an android app which uses Alexa Voice service API to answer the questions only related to calculate and no other questions? (i.e. no default behavior like weather, music)
Yes, it's possible to override the commands. First of all, create your custom skills using Amazon Skill Kit, then use android or iOS Alexa Application for
Android.
In "Settings", go to your product if echo/dot or your android/iOS application and enable your skill.
Why does the example on developer documentation app say "companion app"? Do I need Echo to use it? Can I not make an app which will answer questions but does not require echo?
The documentation context of companion app is only to use your hardware as an Alexa device. So using the Amazon login with Amazon SDK library the developer has the to authorize the user and get token from Amazon server for your hardware to communicate with the Alexa server.
Yes, you can make an android or iOS app for talking to the Alexa server. The link below is to a well-developed library for the same.
https://github.com/willblaschko/AlexaAndroid
Is it possible to get text and audio both as output using Alexa API?
No you will never get the text intepretation you will only get the response from Alexa in the form of JSON.
Related
I can not find any information anywhere on the net, not even in Google Documentation about controlling our self developed android app by voice without having to tap a GUI element previously.
We successfully implemented voice control into our app, but for the app to start listening, I have to tap a microphone icon on the GUI.
I want our app listening all the time and if I say a specific command like "Hey MyApp!" (Like Hey Google) then the app knows that it needs to listen for my command.
Is it possible?
I found this:
https://developer.android.com/training/wearables/user-input/voice
And this:
https://developer.android.com/guide/app-actions/overview
And this:
https://support.google.com/accessibility/android/answer/6151848?hl=en
But none of them explaining things in a way that I understand if it's possible or not. English is my third language and I am not a programmer, but a designer.
Our programmers are also not experienced in this field.
Thanks for answers in advance.
Is it possible?
That depends.
If you are building your own custom hardware with its own custom build of Android on it, then yes.
If not, and you literally want what you are asking ("I want our app listening all the time and if I say a specific command like "Hey MyApp!" (Like Hey Google) then the app knows that it needs to listen for my command"), then no. You cannot even have your app running all the time, let alone with the microphone active. You also would need to have your plans reviewed by qualified legal counsel, as continuously monitoring everything said on the microphone will have ramifications.
If you are planning on distributing your app via the Play Store, and you are willing to be more flexible in your requirements, you could integrate with Google Assistant, per one of the documents that you linked to. Google Assistant can then launch your app if/when needed based on an app action triggered by user speech.
I wanna try to make an application like Discord (Groups/Add Friends/Voice Call/Video Call/Streaming) and until now I was focus on messages and on an application for Web(ReactJS or any) and PC/Mac/Linux(ElectronJS or any), and working on backend with NodeJS/ExpressJS/Socket.IO/GraphQL/MongoDB. Recently got a solution for Voice Call and Video Call which is PeerJS, but now I asked myself how would this work in Androd/iOS application? Am I choosing well my frameworks and language? Because of course one Android/iOS user have to be able to join to a Voice/Video with users on PC/Web Is there other frameworks? Not just for Voice/Video Call, all the application. Can anyone please share some documentation or tips?
Thanks
A personal tip would be to refrain from using PeerJS, as it doesn’t support VP8 Simulcast. When creating high-load group video calling software like discord, you need VP8 Simulcast because it splits a stream into different bitrates for different users, dependent on their bandwidth and that of the person streaming.
Consider reading about WebRTC in JS WebAPI! Unfortunately, the main issue nowadays is hosting a Signalling server (which essentially manages who is where in terms of rooms) and TURN Servers (which gets information such as the IP address of a user joining a room).
In terms of the iOS app, and Android App, consider implementing with a language of your choice, such as Xamarin.
Personally, I prefer React Native for mobile applications. Take a look at it online!
Good luck in your venture!
I know this is broad question but I've spent counless hours searching for the right solution. Google provides at least 15 different types of Google Assistant connections all of them are different and I don't know which one to use for my project. The project is pretty simple - I would like to call dynamic url with parameters (webhook to my home server) from mobile Google Assistant.Example - I would say to my Android mobile phone
> Ok, Google set the TV volume to 50
and the assistant would call
GET "https://192.168.1.12/tv/volume/50
or
GET "https://192.168.1.12/?device=tv&action=volume&value=50
where 'tv', 'volume' and '50' are the dynamic parameters (not static) so I could also call
> Ok, Google set the TV channel to 132
I just want a link or a name of the Google dev console that I can use. I don't want to waste another several hours just to find out that another Google package is not suitable for my project. Have anyone done something similar?
PS
I know that I could achieve something similar with "Ok, Google let's talk to ...." but that is not my case.
also I CAN'T USE IFTTT
There's no one-click mechanism to do this directly in Assistant. The smart home platform allows you to configure a service that would capture commands such as Channel and Volume and let you handle those commands in the way you want, using a cloud backend and optionally the Local Home SDK.
This may be a bit more work than you want, and you may want to consider existing smart home platforms which may handle some of the backend work such as https://homeassistant.io which does have an Assistant integration already, though I'm less sure of whether it may work in your use case.
It's hard to answer your question without knowing your constraints. Are you a developer? Are you looking to make a commercial app? For non-commercial use you can use the Google Assistant Service to create custom commands that do whatever you want (including call your API). As a benefit, you don't have to say "hey Google" before your command.
Also, it would help to know why you can't use IFTTT, given that it seems to do exactly what you're asking for.
I am researching ways to implement form filling via voice command given by user inside my application.I have searched two options but no one is seems useful and I am bit confused here.
First I tried with android voice to speech library integration.It gives me text but isn't smart enough to converse with as google assistance do.
Then second I tried to integrate google assistance with api.a. It provides the user conversation but it is like adding command to google assistance .It doesn't provide me voice to text data so that I can fill form and do further operation.
Please suggest me ways to implement.
You can use the SDK provided by Slang Labs which allows you to add a custom voice experience inside your app. You can create a "buddy" in their console and configure the kind-of intents/utterances you want to handle. Then integrate its SDK into your app, which takes care of all the voice-related functionality and you can register callbacks for the intents you have configured in the console to handle the app-specific actions.
(disclaimer: I am a co-founder of Slang Labs :-))
You wouldn't use Actions on Google through Dialogflow for your implementation but rather the Google Assistant SDK which is meant for devices.
However, in your case it may make sense to use Dialogflow's Android client. You would not need to pull all of the Google Assistant's capabilities and the voice interaction would be limited to your own application.
the following link gives me speech in Arabic by using google translate server side api , some website descripe that using this is illegal is this true or not ? because I want to added it to my android application.
P.S : android os does not support Arabic speech
http://translate.google.com/translate_tts?tl=ar&q=%D9%85%D8%B1%D8%AD%D8%A8%D8%A7
http://code.tutsplus.com/tutorials/use-text-to-speech-on-android-to-read-out-incoming-messages--cms-22524
Please Google "text to speech android tutorial" you'll get many.
Edit: Sorry , I understood you question wrong.
I believe it is. But if you are really concerned, please contact Google or ask on their forums, I dont think you'll get an answer to that here. Good luck!
As described in the Terms of Service in Google Translate API:
1. Prohibitions
You will not knowingly use the API to create, train, or improve (directly or
indirectly) a substantially similar product or service, including any other machine translation engine.
That means, for my understanding, that if You plan something like this, it is not allowed if it is Your own implementation of a translate engine. For example, You are calling Your app "Hussamabd´s great Translation Engine" and this app is really for translate words into other languages, then it is not allowed. BUT, there is another part in the API:
Introduction
This document is intended for developers who want to write applications that can interact with the Google Translate API. Google Translate is a tool that automatically translates text from one language to another language (e.g. French to English). You can use the Google Translate API to programmatically translate text in your webpages or apps.
This means to me, if You create an app, which intention is not to translate words, but You need this translation for any other reason, for example making Your app in every language, it will be ok.
Also, You have to pay some fees for using this API. But to get really sure, You should contact Google or a lawyer, because I am not and I can´t give You any law confirmed statement!