Faça a Alexa falar sussurando, alto, baixo, lento, rápido e com outros efeitos com o node Alexa Cakebaked! TTS da Alexa!

Antes de tudo gostaria de avisar que nesse tutorial vou focar no tema dele que é os efeitos que podemos colocar nas falas da Alexa! O pack de nodes é bem completo tem várias funções bem legais.

Primeiro vamos instalar os nodes Alexa Cakebaked!

Vá no menu no canto direito em cima e depois em Manage palette.

Clique em Install e ao lado da lupa escreva “alexa”, aparecendo o pack clique em Install.

Com os nodes instalados vai verificar que irá aparecer os nodes na lista de nodes.

3

Para que a Alexa fale com o efeito que queremos vamos utilizar o node Alexa Routine.
Quando colocado no flow aparece com o nome Routine Speak.

4

Antes de tudo temos que adicionar a conta da Amazon no node! Dentro do node clique no lápis na parte Account.

Em This IP coloque o ip do seu Home Assistant!
Exemplo: 192.168.1.xxx
Em File Path escreva “authAlexa2”, em Page coloque “amazon.com.br” e em Language preencha com “pt-BR”.

Pronto, temos tudo configurado, mas vai perceber que irá aparecer uma mensagem, ela nos informa que devemos clicar em Deploy para a conta ser adicionada.

Com a conta adicionada vai aparecer uma mensagem piscando embaixo do node! Ela pede para entrarmos no ip do Home Assistant com a porta 3456. Então entre em http://192.168.1.xxx:3456.

8

Ao entrarmos agora vamos adicionar a conta da Amazon!

E vamos preencher com a Verificação em duas etapas!

Pronto, conta adicionada! Agora é só fechar a janela do navegador.

9.5

Com a conta adicionada corretamente vai perceber que embaixo do node vai aparecer escrito “ready”.

10

Só um detalhe, a cada node alexa remote2 que arrastar para o flow é necessário selecionar a conta.

Existem várias opções no node Alexa Routine, mas vamos utilizar a primeira mesmo, Speak.

Em Speak temos três opções: Regular, SSML e Announcement.
Regular e Announcement tem funções iguais, a Alexa vai falar o que escrever em Text, só que em Announcement a Echo vai dar um sinal sonoro avisando.

A opção que vamos utilizar é a SSML. Em Text vamos preencher com os códigos para cada efeito diferente!

Para a Alexa falar muito alto:

<prosody volume="x-loud">Isso é muito alto.</prosody>

Para a Alexa falar baixo:

<prosody volume="x-soft">Isso é baixo.</prosody>

Para a Alexa falar lento:

<prosody rate="50%">Isso é lento.</prosody>

Para a Alexa falar rápido:

<prosody rate="150%">Isso é rápido.</prosody>

Para a Alexa falar do fundo do poço:

<prosody pitch="-33.3%">Isso é profundo.</prosody>

Para a Alexa falar do alto:

<prosody pitch="+50%">Isso é alto.</prosody>

Para a Alexa falar sussurando:

<speak>
<amazon:effect name="whispered">Isso é um sussuro.</amazon:effect>
</speak>

Em Devices escolha qual dispositivo Echo a Alexa vai falar.

Bom é isso, sei que existem várias opções com esses nodes Alexa Cakebaked! Vou deixar um vídeo em inglês mostrando várias funções para quem quiser aprender mais!

Um abraço!

Quer usar seus fluxos do Node-red na Alexa? Entra aqui:

7 Likes

Boa tarde LeandroIssa, primeiramente quero parabenizar por compartilhar seu conhecimento, meu amigo quando digito o endereço ip mais :3456 da conexão recusada, eu tenho o home assistant instalado em uma máquina virtual no lubuntu uma distribuição linux derivada do Ubuntu e to no período de avaliação da conta nabu casa, mesmo tendo o nabu casa eu tenho que fazer o redirecionamento de portas para usar a conta Amazon no node red?

Vc ta digitando o ip correto? É http, não https!
Não sei oq é lubuntu, não entendo nada de linux…

Sim estou digitando correto http e o endereço ip tb está correto, independente se está no linux eu estou rodando o home assistant pelo Virtual Box, a dúvida mesmo seria: mesmo eu pagando pelo Nabu Casa pra fazer integrações com a Alexa pelo node red eu preciso redirecionar portas?

Acredito que não, já usei nabucasa por um mês e nunca precisei.
Tbm uso o HA pelo virtual box…

1 Like

Atualizei com os nodes Alexa Cakebaked, os nodes Alexa Remote 2 foram abandonados.

Pessoal, assim como eu, algumas pessoas relataram no nosso grupo do Telgram problemas com a autenticação do serviço, que sempre se perde, ou em qualquer alteração dentro do Node-Red ou em uma reinicialização do HA. Vou deixar aqui o meu passo a passa para resolver esse problema, ou pelo menos o que funcionou comigo. São três passos.

1 - Inicialmente, como já foi atualizado no post, o Remote 2 foi abandonado. Um outro projeto copiou tudo o que existia nele até então e está sendo acompanhado a partir de agora, o Cakebaked. Se você nunca usou, só instalar ele assim como o post inicial indica e ir para o passo 2. Mas caso já tenha o Remote 2, inicialmente vai precisar remover todos os nós referentes a essa integração e em seguida excluir também a conta que foi criada para ele (da Alexa). Para ver e excluir ela, vá em “Configuration nodes”.

image

E exclua a alexa-remote-account, a conta que foi criada Você não vai conseguir fazer isso enquanto ela ainda estiver sendo utilizada por um nó qualquer, precisa ir excluindo todos.

Em seguida, no Mannage palette, você pode procurar pelo Remote 2, em “Nodes” e excluir ele.

image

2 - O segundo passo consiste em instalar e configurar o Cakebaked, assim como está sendo instruído no primeiro tópico. Mas aqui tem um detalhe, o meu eu coloquei um diretório diferente (File Path) do que está no post, um diretório “mais acessível”, {/config/authAlexa}. Eu não sei dizer se isso faz diferença, porque eu estava fazendo várias tentativas e depois funcionou estando assim, ai não voltei atrás para testar. Se apenas essa mudança fizer diferença para alguém nos informe por favor para que possamos colocar ele é mandatória.

3 - O último passo é ativar a variáveis permanentes no Node-Red. O Node–Red trabalha com algumas variáveis na memória, mas que por padrão são armazenadas na memória volátil, e se perdem sempre que ele é reiniciado, fazendo essa alteração você indica para o Node-Red passar a armazenar essas variáveis em disco, mantendo elas a cada reinicialização.

Para isso você de abrir o arquivo “settings.js”, que se encontra na pasta \config\node-red.

Dentro do aquivo, deve incluir as seguintes linhas:

// Salvar variaveis na memoria
  contextStorage: { 
    default: { 
      module: "localfilesystem" 
    } 
  },

É muito importante a formação das chaves, para quem não tem experiência, o ideal é colocar no final do arquivo, vou deixar uma imagem de como ficou o meu, para você ver como inserir corretamente essa parte (em destaque);

image

É isso, espero que funcione.

5 Likes

Rafael, boa tarde!

Fiz todo esse procedimento que descreveu acima,
Porém continua solicitando de tempo em tempo para fazer a autenticação.

Saberia o que pode estar ocorrendo?

Obrigado