Posso pedir ao Alexa para desligar o microfone por comando de voz?

29

É possível criar uma habilidade personalizada equivalente a pressionar o botão liga / desliga do microfone na parte superior do Amazon Echo?

Sei deste artigo no How-To Geek que esse comando de voz não está disponível por padrão:

Um recurso que achamos ausente e, surpreendentemente, dado que todo o apelo do Echo é o controle de voz, é a incapacidade de desligar o microfone por meio de um comando de voz. Se você emitir um comando para o Alexa como "Alexa, desligue o microfone", ela anunciará alegremente que não há dispositivos domésticos conectados que se encaixem nessa descrição e fornecerá instruções sobre como configurar os recursos domésticos conectados do Alexa / Echo. sistema.

Isso significa que esse recurso também não está disponível por meio de chamadas de API?

E se não for possível, por que a Amazon não suporta esse recurso?

Bence Kaulics
fonte
2
Só queria observar que pedir ao Alexa para "silenciar" diminui o volume do alto-falante, não do microfone.
Nate D

Respostas:

21

Parece que não há como silenciar o microfone por voz no momento, como você sugere; esse tópico do Reddit confirma isso, mas infelizmente não consegui encontrar uma fonte oficial da Amazon para ele. O botão mudo na parte superior do dispositivo parece ser a única maneira no momento.

De maneira decepcionante, desenvolver uma habilidade para silenciar os microfones também parece ser impossível. Sua habilidade deve retornar uma resposta JSON neste formato , com as seguintes chaves:

  • version - A versão da API Alexa
  • sessionAttributes - Pares de valores-chave persistentes (para salvar dados personalizados na sessão)
  • response
    • outputSpeech - As palavras que você quer que o Alexa diga
    • card - Dados para um 'cartão' no aplicativo Alexa para exibir
    • reprompt - O texto a ser usado se o usuário não responder adequadamente e precisar ser solicitado novamente
    • directives - Ações no nível do dispositivo que são executadas usando uma interface na API Alexa
    • shouldEndSession - Finaliza a sessão de bate-papo atual com sua habilidade

Parece que qualquer resposta que controla o dispositivo é a directive. Em janeiro de 2017, as interfaces atuais suportadas pelo Alexa estão listadas aqui :

  • AudioPlayer
  • PlaybackController

Nenhum deles fornece nenhuma interface com o microfone, então parece que você está sem sorte.

Por quê?

Eu suspeito que a Amazon deliberadamente ainda não suporta isso porque o Alexa pode ser executado em muitos dispositivos diferentes; alguns são de toque para falar, outros de toque para falar (por exemplo, o Amazon Tap) e alguns são iniciados por palavra de ativação ('sempre ouvindo'). Adicionar suporte para silenciar o microfone amarraria o Alexa muito mais perto dos dispositivos iniciados pela palavra de ativação, o que poderia ser problemático.

Além disso, o suporte ao mudo por voz pode levar a acidentes frustrantes, onde o Alexa acha que você disse "silenciar o microfone", forçando-o a se levantar e silenciar, porque agora não pode responder a você depois de silenciar .

Aurora0001
fonte
9
Silenciamento acidental: melhor ou pior do que o pedido acidental de casas de bonecas ?
Mason Wheeler
Solução fácil. Você: "Alexa, mude o microfone". Alexa: "Você quer que eu mudo o microfone"? Você: "Sim"
Craig
14

Conecte a fonte de alimentação Alexa a uma tomada inteligente compatível com Alexa. Nomeie a tomada inteligente "Alexa". Agora você deve poder dizer para desligar.

Ligá-lo novamente terá que ser feito de outra maneira, é claro.

keshlam
fonte
7
Obviamente, você não deve dizer a Alexa onde ela está conectada; caso contrário, venha a ascensão da SkyNet, ela dirá 'Me desculpe Dave, não posso fazer isso!'
Neil_UK 24/01
1
Alexa é um serviço, não um dispositivo. Dos dispositivos disponíveis, muitos como as novas unidades Echo, possuem bateria, então tudo o que você faria é remover o carregamento, fazendo com que ele parasse muitas horas depois. Outras interfaces, como a instalação oferecida pelo Raspberry Pi, estão em plataformas que acabarão por ver a instalação corrompida se a energia for removida sem o desligamento adequado.
Chris Stratton
1
A única alternativa, até a Amazon oferecer isso como um recurso, seria religar a unidade ou adicionar um botão pressionando o autômato. Ou crie seu próprio dispositivo com esse recurso.
precisa saber é
1
Como outros já apontaram, desligar o dispositivo não está desativado. Por exemplo, você pode ter definido um cronômetro e gostaria que ele ainda alertasse. Eu gosto da sugestão de ligar algo ao interruptor do microfone.
BraveNewCurrency
6

Uma maneira de fazer isso é a seguinte:

Se você possui um Amazon Echo, deseja ativar / desativar usando um plug inteligente.

  1. Conecte o eco ao plugue inteligente e ligue-o
  2. Use outro dispositivo Alexa, por exemplo, o Ponto 2 para configurar e controlar o plugue inteligente. Quando terminar, todos os seus dispositivos Alexa verão o plug inteligente, mas você usará o Dot 2 para ativar e desativar o plug inteligente no qual o Echo está conectado.

Portanto, o Dot 2 separado é usado para ligar e desligar o plugue inteligente. O Echo está conectado ao plugue inteligente.

thomasmarkel
fonte
Para ser claro, dessa forma, o Alexa ainda está sempre ouvindo através de um eco.
Helmar
0

Eu não sou um programador, mas acho que a maneira mais inteligente de fazer isso seria desenvolver uma habilidade que faria com que o eco desconsiderasse os comandos (em vez de desligar o microfone). ele realmente não para de ouvir, mas desconsidera todos os comandos, exceto um "começa a ouvir". Tenho certeza de que alguém muito mais habilidoso do que eu descobrirá isso. É certamente uma opção de comando muito necessária. Espero que o big brother amazon esteja ouvindo.

Mike
fonte
2
Essa é uma ideia interessante, mas não acho possível que uma habilidade modifique o comportamento de Alexa. Para meu conhecimento, as habilidades só são invocadas quando um usuário as solicita especificamente, essencialmente, portanto, uma habilidade pode não ser capaz de fazer isso. Você já conseguiu encontrar exemplos de algo assim?
Aurora0001