Índice:
- Suprimentos
- Etapa 1: configurar Wayscript e Alexa
- Etapa 2: Faça uma conta RapidAPI
- Etapa 3: escrever um programa básico
- Etapa 4: formatar as letras
- Etapa 5: entradas e saídas
- Etapa 6: Adicionando o gatilho Alexa
- Etapa 7: Adicionando Seu Programa Python
- Etapa 8: Envie a letra e confirme com Alexa
- Etapa 9: Pronto
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Está ouvindo uma música com a qual deseja cantar junto? Normalmente, você teria que passar pela árdua tarefa de digitar o nome da música no google, seguido pela palavra "lyrics". Você normalmente cometeria uma grande quantidade de erros de digitação, clicava errado em uma certa quantidade de teclas e tinha que lidar com o atraso inevitável do seu dispositivo. No momento em que você encontra a letra, você descobre que sua música acabou e todo aquele trabalho foi em vão.
Talvez você esteja no meio de uma pandemia global e pegar emprestado o telefone de um amigo não parece a melhor ideia, muito menos tocar naquela máquina de karaokê enfiada no canto. Você quer estar protegido, mas saber a letra da música é quase tão essencial. Você precisa de um método conveniente e sem contato para pesquisar letras.
Talvez ambos os cenários sejam pequenos exageros (o primeiro definitivamente mais ainda), mas ainda assim, ter as letras das músicas enviadas direto para o seu e-mail no segundo que você pede que sejam enviadas certamente seria muito conveniente. É aí que entra este Instructable (junto com Alexa, Wayscript e um pouco de Python). Basta pedir a Alexa a letra de sua música favorita e em alguns segundos ela será entregue diretamente em sua caixa de entrada.
Como um estudante do ensino médio entrando no meu último ano, achei este projeto muito útil e, na verdade, usei uma quantidade significativa desde que o construí (uma raridade - considerando que a maioria dos meus projetos são encontrados intocados meses depois).
Este tutorial é para iniciantes, mas é útil conhecer um pouco de Python antes de começar.
Suprimentos
Materiais:
- Amazon Echo / qualquer alto-falante inteligente baseado em Alexa
- Conta WayScript (será configurada nas etapas a seguir)
- Conta RapidAPI
- Algum conhecimento Python (não necessário, mas útil)
Etapa 1: configurar Wayscript e Alexa
O que é Wayscript?
Wayscript é uma ferramenta poderosa que permite executar programas usando vários gatilhos. Estaremos usando o gatilho Alexa neste Instructable, mas sinta-se à vontade para experimentar / explorar o software - há todos os tipos de funcionalidade que você pode adicionar.
Para começar, vamos fazer uma conta com Wayscript:
- Clique nos botões 'Get Started For Free' ou 'Sign Up'. Usei a opção 'Registrar-se no Github' porque me pareceu mais conveniente.
- Depois de criar uma conta, você será conduzido ao ambiente de desenvolvimento do Wayscript. É útil percorrer o tutorial antes de começar.
- Depois de concluir o tutorial, navegue até seu perfil. Clique no botão 'Criar um novo script' e você será solicitado a nomear seu projeto. Eu chamei de 'Letras de músicas', mas você pode nomeá-la como quiser. Apenas certifique-se de que é fácil dizer, pois você usará o nome do programa ao pedir a Alexa para enviar a letra a você.
- Depois de fazer seu nome, clique no botão 'criar' e você será levado a um novo ambiente de desenvolvimento Wayscript. Voltaremos a isso em breve.
Antes de continuarmos, vamos conectar sua conta Wayscript ao Alexa:
- Vá para amazon.com e faça login em sua conta - especificamente aquela que está conectada ao seu alto-falante habilitado para Alexa.
- Acesse este link: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… e clique em 'ativar'. Se o link não funcionar por qualquer motivo, pesquise Wayscript Alexa Skill - novamente, clique em 'ativar'
- Depois de clicar em ativar, você deve vinculá-lo à sua conta Wayscript. Clique em 'Vincular conta' e você será direcionado ao site dawayscript. Depois de fazer login, uma tela dizendo 'Sua conta foi vinculada com sucesso' deve aparecer.
Depois de configurar tudo isso, podemos (quase) começar a programar!
Etapa 2: Faça uma conta RapidAPI
Para pesquisar a letra da música, usaremos a 'Canarado Lyrics API', que pode ser acessada através do RapidAPI. Se você já tem uma conta RapidAPI, pode pular esta etapa, mas caso não tenha, continue lendo.
Comece criando sua conta RapidAPI:
- Clique no botão 'Inscrever-se' próximo ao canto superior direito e inscreva-se com qualquer uma das opções disponíveis (Google, Github, Facebook ou inscrição regular).
- Depois de se inscrever, acesse a Canarado Lyrics API:
Se você vir uma tela semelhante à terceira imagem anexada acima, você concluiu esta etapa. Finalmente estamos prontos para começar a programar.
Etapa 3: escrever um programa básico
Conforme mencionado na etapa anterior, a Canarado Lyrics API está localizada em:
Uma vez lá, vá para a metade direita da tela com o cabeçalho 'Snippets de código'. Estarei usando Python neste instrutível, mas se você preferir outra linguagem, vá em frente e use-a.
Clique no menu suspenso com o rótulo '(Node.js) Unrest' e navegue até o idioma de sua escolha. Novamente, estarei usando Python - especificamente Python (Solicitações) - já que este programa requer uma solicitação ao host da API para a maioria das informações. Copie o código clicando no botão 'copiar código' próximo ao canto superior direito. Cole este código em seu editor de código de escolha - estarei usando o ambiente Notebook do Jupyter.
Depois de colar o programa, importe o módulo json do Python. Isso nos permitirá imprimir as letras. Adicione o seguinte código próximo ao topo (abaixo das solicitações de importação)
import json
Depois de importar o módulo json, seu programa deve ficar assim:
pedidos de importação
import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/zenith%2520denzel%2520curry" headers = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "YOUR-API-KEY-HERE"} response = requests.request ("GET", url, headers = headers) print (response.text)
Certifique-se de que seu programa seja semelhante (com uma chave de API diferente) e, em seguida, vá para a variável 'url'. Você notará que o parâmetro padrão de Canarado é 'Zenith' de Denzel Curry. Você pode mudar isso inserindo qualquer música de sua preferência. Por exemplo, se eu quiser pesquisar informações sobre letras de músicas sobre Thriller de Michael Jackson, posso inserir "thriller" no lugar de "zenith denzel curry", de forma que o url agora se pareça com:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/thriller"
Você também pode adicionar espaços sem qualquer hesitação - o navegador adicionará automaticamente% 2520 caracteres (você os notará no lugar de espaços no url padrão). Por exemplo, uma pesquisa por Gangstas Paradise pode ter a seguinte aparência:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/gangstas paraíso"
Execute o programa substituindo o valor padrão "zenith% 2520denzel% 2520curry" por qualquer música de sua escolha. Você notará que as letras são impressas, mas de uma forma difícil de ler. Além do mais - outras informações, incluindo a data de lançamento da música, o título e as informações de status da API obstruem a visualização das letras. Vamos corrigir isso na próxima etapa.
Etapa 4: formatar as letras
Formatar as letras de forma que sejam legíveis não é muito difícil. A maioria das pessoas com algum conhecimento de programação será capaz de fazer isso com bastante facilidade. Em vez de simplesmente imprimir "response.text", vamos usar o método.json (). Isso organizará as informações da API em um dicionário e tornará tudo muito mais acessível.
Para começar, crie uma variável para conter 'response.json ()'. Eu chamei minha variável de 'dados'.
data = response.json ()
Em seguida, use o seguinte loop 'for' para acessar a letra.
para i em dados ['conteúdo']:
imprimir (i ['letras'])
O código acima navega para a chave de 'conteúdo' do dicionário de dados. Dentro da chave de conteúdo, o loop for permite que você navegue até a chave 'lyrics'. O código agora deve ser semelhante a este:
pedidos de importação
import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/YOUR-SONG-HERE" headers = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "YOUR-API-KEY-HERE"} response = requests.request ("GET", url, headers = headers) data = response.json () for i in data ['content']: print (i ['letras'])
Execute este programa e você notará que as letras são muito mais legíveis. Na próxima etapa, adicionaremos algumas variáveis extras, para que possamos usar o título de uma música como uma entrada e para que possamos enviar a letra para Alexa.
Etapa 5: entradas e saídas
Até agora, digitamos o título da música no final da URL. Seria bom se pudéssemos usar uma variável de uma entrada e concatenar as duas strings (url e título da música). Fazer isso é realmente muito fácil.
Por enquanto, vamos usar a função de entrada do Python. Assim que carregarmos o código no Wayscript, usaremos nossa fala como entrada. Vamos criar uma variável de título de música definida para uma entrada que peça ao usuário para "inserir um título de música":
song_title = input ("Digite uma música para encontrar a letra de:")
Em seguida, concatene essa string ao url, usando o operador '+' do Python para Strings
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song_title
Agora, quando você executa o programa, não precisa mais editar a url dentro do programa. Em vez disso, simplesmente responda à entrada com o título da sua música, e a letra da música deve ser impressa.
Seu programa agora deve ser semelhante a este:
pedidos de importação
import json song = input ("Digite uma música para encontrar a letra de:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + cabeçalhos de música = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "YOUR-API-KEY-HERE"} response = requests.request ("GET", url, headers = headers) data = response.json () for i in data ['content']: print (i ['lyrics'])
Finalmente, vamos criar uma variável para a saída da letra. Comece criando uma variável definida para uma string vazia. Em seguida, concatene 'i [' lyrics ']' ao final. Imprima a variável fora do loop for.
letras = ""
for i in data ['content']: lyrics + = i ['lyrics'] imprimir (letras)
O programa final deve ser semelhante a este:
pedidos de importação
import json song = input ("Digite uma música para encontrar a letra de:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + cabeçalhos de música = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "YOUR-API-KEY-HERE"} response = requests.request ("GET", url, headers = headers) data = response.json () lyrics = "" for i in data ['content']: lyrics + = i ['lyrics'] imprimir (letras)
O programa imprimirá exatamente a mesma coisa, mas agora você tem uma variável que pode usar como saída. Agora, podemos finalmente adicionar a funcionalidade Alexa e Email com Wayscript.
Etapa 6: Adicionando o gatilho Alexa
Para adicionar seu primeiro gatilho, clique no botão 'Adicionar gatilho':
- Uma barra de pesquisa aparecerá - procure por 'Alexa' e você notará o gatilho Alexa. Se você não usou o gatilho Alexa antes disso, ou se este é seu primeiro projeto, pode ser necessário clicar em 'importar'. Depois de importado, basta clicar nele e ele deve ser adicionado.
- Ative o gatilho clicando no botão em forma de pílula. Deve ficar verde. No lado esquerdo, você notará uma seção que diz 'Saídas'. Clique na caixa de seleção que diz 'Entrada falada' e insira um valor semelhante à variável song_title anterior. Agora podemos usar sua entrada falada no lugar da instrução de entrada que usamos anteriormente
- Certifique-se de ter escrito um valor padrão (talvez suas músicas favoritas), pois sem ele você pode encontrar alguns erros.
Nas próximas etapas, adicionaremos nosso programa Python, o método Send Email e faremos Alexa confirmar que o método foi concluído.
Etapa 7: Adicionando Seu Programa Python
Para adicionar seu programa ao fluxo Wayscript atual, clique em 'Adicionar etapa'
- Procure Python e clique na ação Python. Isso deve atualizar o gatilho e você verá uma guia à esquerda aparecer.
- Passe o mouse sobre o programa no painel lateral e você notará um botão 'Editar código' pop-up. Clique nele e um editor de tela inteira aparecerá.
- No editor de tela inteira, copie e cole o programa python que criamos anteriormente.
- Exclua a variável song_title = input ("….") Que escrevemos e adicione a variável de entrada falada que criamos na etapa anterior. As variáveis criadas nas etapas anteriores podem ser encontradas no canto inferior esquerdo.
- Seu novo programa deve ser semelhante à 6ª imagem anexada acima.
- Finalmente, queremos definir nossa variável lyrics como uma saída. Para fazer isso, copie e cole o código a seguir na parte inferior do seu programa (abaixo ou no lugar da instrução de impressão)
variáveis ['Song_L cycling'] = letras
Isso cria uma variável de saída chamada Song_L cycling e a define igual à variável 'lyrics' que criamos antes. Seu programa final deve ser semelhante à última imagem anexada acima. Execute o código apenas uma vez - para que Wayscript saiba o que está acontecendo e possa criar suas variáveis de saída. Isso pode levar alguns instantes, mas se demorar muito, pode ser necessário recarregar a página. O Wayscript contém alguns bugs, portanto, o pior cenário pode envolver a necessidade de recriar o script.
Etapa 8: Envie a letra e confirme com Alexa
Temos mais duas etapas para adicionar ao nosso fluxo de WayScript - uma etapa que permite que você envie um e-mail para si mesmo e outra que confirma que um e-mail foi enviado. Vamos começar criando a etapa de e-mail.
- Clique em 'Adicionar etapa', pesquise por 'Enviar e-mail' e localize a guia à esquerda
- Use as variáveis criadas nas etapas anteriores como 'Song_Name' (ou Song_Title) e 'Song_L Budap'
- Você pode formatar o e-mail da maneira que desejar. Por exemplo, adicionei a palavra "Lyrics" após a variável 'Song_Name' e adicionei a frase "Aqui está a letra da música que você solicitou" perto do topo.
Este script enviará uma mensagem para o e-mail com o qual você se registrou. Se desejar enviá-lo para um e-mail diferente, pode ser necessário usar a Ação de e-mail SMTP.
Por fim, vamos confirmar que o e-mail foi enviado com Alexa.
- Clique em 'Adicionar etapa' e pesquise por 'Alexa' novamente. Adicione a ação Alexa.
- Eu configurei de forma que, assim que o e-mail for enviado, Alexa diga 'Letras de [Song_Name] foram enviadas'
Voce terminou! Execute o programa uma vez clicando no botão 'Executar'. Se não houver erros, agora você pode usá-lo com Alexa.
Etapa 9: Pronto
Para usá-lo com Alexa, você terá que usar os seguintes comandos:
'Alexa, lançar Wayscript'
Assim que Alexa tiver confirmado que o Wayscript foi lançado, diga:
'Executar [Nome do Programa] com [Nome da Música]'
Por exemplo, meu programa se chama 'Letras de músicas' - Se eu quiser que Alexa me envie a letra de Thriller, direi:
'Run Song Lyrics with Thriller'
Recomendado:
Envie um SMS usando um ESP8266: 5 etapas
Enviar um SMS usando um ESP8266: Este guia o orienta nas etapas para enviar mensagens SMS pela Internet de uma placa de módulo NodeMCU ESP8266 para um telefone celular. Para enviar a mensagem, você precisará seguir as etapas para obter um número de telefone virtual de
Aprendiz de 2 letras com código Morse: 5 etapas
Aprendiz de 2 letras com código Morse: Há algum tempo, venho tentando aprender o Scrabble (tm) com 2 letras, sem sucesso. Também tenho tentado aprender o código Morse novamente com pouco sucesso. Decidi tentar algum aprendizado subliminar construindo uma caixa que mostrava continuamente o
Envie dados para a plataforma AskSensors IoT a partir do navegador da web: 6 etapas
Envie dados para a plataforma AskSensors IoT a partir do navegador da Web: Eu postei recentemente um instrutível mostrando um guia passo a passo para conectar um nó ESP8266 MCU à plataforma AskSensors IoT. Recebi alguns comentários de pessoas mais interessadas na plataforma AskSensors, mas eles não têm um nó MCU em mãos. Isso eu
Capture e envie imagens com ESP32-Cam usando ESP8266 WeMos D1 R1 Wifi Processor com Uno: 7 etapas
Capture e envie imagens com ESP32-Cam usando ESP8266 WeMos D1 R1 Wifi Processor com Uno: Capture imagens usando ESP32-Cam (OV2640) usando ESP8266 WeMos D1 R1 WiFI Processor com Uno e envie por e-mail, salve no Google Drive e envie para Whatsapp usando Twilio.Requirements: ESP8266 WeMos D1 R1 WiFI Processor com Uno (https: // protosupplies
Envie notificações para o seu telefone a partir de um ESP8266 .: 3 etapas
Envie notificações para o seu telefone a partir de um ESP8266 .: De vez em quando, seria útil ser notificado pelo telefone sobre eventos em seu código Arduino. O aplicativo ESP Notify Android e sua biblioteca arduino correspondente permitem que você faça isso com facilidade e pode enviar notificações de qualquer ESP8266