32

Is it possible to build a custom skill that would be equivalent to pressing the microphone on/off button on the top of the Amazon Echo?

I know from this article on How-To Geek that such voice command is not available by default:

One feature we found missing, and surprisingly so given that the whole appeal of the Echo is voice control, is the inability to turn off the microphone via voice command. If you issue a command to Alexa like “Alexa, turn off the microphone” she’ll cheerily announce that there are no connected home devices that fit that description and give you instructions on how to set up the connected home features of the Alexa/Echo system.

Does this mean this feature is also unavailable via API calls as well?

And if it's not possible, why does Amazon not support this feature?

Bence Kaulics
  • 7,843
  • 8
  • 42
  • 90

5 Answers5

20

It appears that there is no way to mute the microphone by voice at this time, as you suggest; this Reddit thread confirms this, but unfortunately I couldn't find an official Amazon source for it. The mute button on the top of the device seems to be the only way at the present time.

Disappointingly, developing a skill to mute the microphones also seems to be impossible. Your skill must return a JSON response in this format, with the following keys:

  • version - The Alexa API version
  • sessionAttributes - Persistable key-value pairs (for custom data to save in the session)
  • response
    • outputSpeech - The words you want Alexa to say
    • card - Data for a 'card' in the Alexa app to display
    • reprompt - The text to use if the user doesn't respond appropriately and needs re-prompting
    • directives - Device-level actions that are executed using an interface in the Alexa API
    • shouldEndSession - Ends the current chat session with your skill

It looks like any response which controls the device is a directive. As of January 2017, the current interfaces supported by Alexa are listed here:

  • AudioPlayer
  • PlaybackController

Neither of these provide any interface with the microphone, so it appears you're out of luck.

Why?

I suspect Amazon deliberately do not support this yet because Alexa can run on many different devices; some are push-to-talk, some are tap-to-talk (e.g. the Amazon Tap), and some are wake word initiated ('always listening'). To add support for muting the microphone would tie Alexa much closer in to the wake word initiated devices, which could be problematic.

In addition, supporting mute-by-voice could lead to frustrating accidents where Alexa thought you said "mute the microphone", forcing you to get up and unmute it, because it now can't respond to you after being muted.

Aurora0001
  • 18,520
  • 13
  • 55
  • 169
15

Plug the Alexa power supply into an Alexa-compatible smart outlet. Name the smart outlet "Alexa". You should now be able to tell it to turn itself off.

Turning it back on will have to be done some other way, of course.

keshlam
  • 259
  • 1
  • 3
6

One way to do it is as follows:

If you have an Amazon Echo that you want to turn on/off using a smart plug.

  1. Plug the Echo into the smart plug and power it up
  2. Use another Alexa device e.g. Dot 2 to configure and control the smart plug. When you are done all your Alexa devices will see smart plug but you'll use your Dot 2 to turn the smart plug the Echo is plugged into on and off.

So the separate Dot 2 is used to turn the smart plug on and off.The Echo is connected to the smart plug.

thomasmarkel
  • 61
  • 1
  • 2
0

I am not a programmer, but I would think the smart way to do this would be to build a skill that would cause the echo to disregard commands (rather than turning off the mic). Kind of like Windows voice works when you say "stop listening" it doesn't really stop listening but disregards all commands except one "start listening". I am sure someone way more skilled than me will figure this out. It is certainly a much needed command option. Hopefully big brother Amazon is listening.

Bence Kaulics
  • 7,843
  • 8
  • 42
  • 90
Mike
  • 1
0

The direct answer is no.

Workaround 1: hardware interrupt that can be activated via app across a battery of devices; difficulty level: hard.

Workaround 2: Since you can change the wake word of any echo device via the app and android phones have a variety of batch (tap macro) apps available, hypothetically speaking, you could create a macro that will go through each device in the Alexa app's list and change it's wake word to something other than your regular one. You can then create a second macro that would undo this. Difficulty level: medium.

brooklynsweb
  • 113
  • 3