Innholdsfortegnelse:

"Alexa, Send Me the Lyrics to _____": 9 trinn (med bilder)
"Alexa, Send Me the Lyrics to _____": 9 trinn (med bilder)

Video: "Alexa, Send Me the Lyrics to _____": 9 trinn (med bilder)

Video:
Video: bad news #shorts 2024, November
Anonim
Image
Image

Lytte til en sang du vil synge sammen med? Du må vanligvis gå gjennom den vanskelige oppgaven med å skrive inn sangens navn på google, etterfulgt av ordet "tekster". Du vil vanligvis også gjøre en god mengde skrivefeil, feil klikke på en viss mengde nøkler og måtte håndtere enhetens uunngåelige forsinkelse. Når du har funnet tekster, finner du ut at sangen din er over og alt det arbeidet var for ingenting.

Kanskje du er midt i en global pandemi, og å låne din venns telefon virker ikke som den største ideen, mye mindre rørende at Karaoke -maskinen gjemt i hjørnet. Du vil bli beskyttet, men å kjenne teksten til sangen er nesten like viktig. Du trenger en praktisk, kontaktløs metode for å søke etter tekster.

Kanskje begge scenariene er små overdrivelser (den første definitivt mer), men likevel ville det være ganske praktisk å ha sangtekster sendt rett til e -posten din, den andre du ber om at de skal sendes. Det er her denne Instructable (sammen med Alexa, Wayscript og litt Python) kommer inn. Bare spør Alexa om teksten til favorittsangen din, og om noen sekunder blir de levert rett til innboksen din.

Som en videregående elev som gikk inn på mitt siste år, har jeg funnet ut at dette prosjektet var ganske nyttig og har faktisk brukt det en betydelig mengde siden jeg bygde det (en sjeldenhet - med tanke på at de fleste av prosjektene mine er funnet uberørte måneder senere).

Denne opplæringen er ganske nybegynnernivå, men det er nyttig å kjenne litt Python før du drar inn.

Rekvisita

Materialer:

  1. Amazon Echo/Enhver Alexa-basert smart høyttaler
  2. WayScript-konto (vil bli satt opp i følgende trinn)
  3. RapidAPI -konto
  4. Noe Python -kunnskap (ikke nødvendig, men nyttig)

Trinn 1: Sett opp Wayscript og Alexa

Sett opp Wayscript og Alexa
Sett opp Wayscript og Alexa
Sett opp Wayscript og Alexa
Sett opp Wayscript og Alexa
Sett opp Wayscript og Alexa
Sett opp Wayscript og Alexa

Hva er Wayscript?

Wayscript er et kraftig verktøy som lar deg kjøre programmer ved hjelp av forskjellige utløsere. Vi bruker Alexa -utløseren i denne instruksjonsboken, men du er velkommen til å eksperimentere/utforske programvaren - det er all slags funksjonalitet du kan legge til.

For å begynne, la oss lage en konto med Wayscript:

  1. Klikk på knappene "Kom i gang gratis" eller "Registrer deg". Jeg brukte alternativet 'Registrer deg med Github', da det føltes mest praktisk.
  2. Når du har opprettet en konto, blir du ledet til Wayscripts utviklingsmiljø. Det er nyttig å gå gjennom opplæringen før vi starter.
  3. Når du har fullført opplæringen, navigerer du til profilen din. Klikk på knappen "Opprett et nytt skript", og du blir bedt om å navngi prosjektet ditt. Jeg har kalt den 'Song Lyrics', men du kan kalle den hva du vil. Bare sørg for at det er lett å si, da du bruker programnavnet når du ber Alexa om å sende deg teksten.
  4. Når du har laget navnet ditt, klikker du på "opprett" -knappen, og du blir ledet til et nytt Wayscript -utviklingsmiljø. Vi kommer tilbake til dette snart.

Før vi fortsetter, la oss koble Wayscript -kontoen din til Alexa:

  1. Gå videre til amazon.com og logg deg på kontoen din-spesielt den som er koblet til din Alexa-aktiverte høyttaler.
  2. Gå til denne lenken: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… og klikk på 'aktiver'. Hvis koblingen ikke virker av en eller annen grunn, søk etter Wayscript Alexa Skill - klikk igjen på 'aktiver'
  3. Når du har klikket på aktiver, må du koble den til Wayscript -kontoen din. Klikk på "Tilknytt konto", og du bør bli ledet til nettstedet til veiskriptet. Når du logger deg på, skal det vises en skjerm som sier "Du har blitt koblet til kontoen din".

Når du har konfigurert alt dette, kan vi (nesten) begynne å programmere!

Trinn 2: Opprett en RapidAPI -konto

Lag en RapidAPI -konto
Lag en RapidAPI -konto
Lag en RapidAPI -konto
Lag en RapidAPI -konto
Lag en RapidAPI -konto
Lag en RapidAPI -konto

For å søke etter sangteksten bruker vi 'Canarado Lyrics API' som er tilgjengelig via RapidAPI. Hvis du allerede har en RapidAPI -konto, kan du hoppe over dette trinnet, men hvis ikke, fortsett å lese.

Begynn med å opprette din RapidAPI -konto:

  1. Klikk på "Registrer deg" -knappen øverst til høyre og registrer deg med noen av alternativene de har (Google, Github, Facebook eller vanlig registrering).
  2. Når du har registrert deg, gå videre til Canarado Lyrics API:

Hvis du ser en skjerm som ligner det tredje bildet vedlagt ovenfor, har du fullført dette trinnet. Vi er endelig klare til å begynne å programmere.

Trinn 3: Skriv et grunnleggende program

Skriv et grunnleggende program
Skriv et grunnleggende program
Skriv et grunnleggende program
Skriv et grunnleggende program
Skriv et grunnleggende program
Skriv et grunnleggende program

Som nevnt i forrige trinn, ligger Canarado Lyrics API på:

Når du er der, går du til høyre halvdel av skjermen med overskriften 'Code Snippets'. Jeg kommer til å bruke Python i denne instrukserbare, men hvis du foretrekker et annet språk, gå videre og bruk det i stedet.

Klikk på rullegardinmenyen med etiketten '(Node.js) Unrest' og naviger til språket du ønsker. Igjen, jeg bruker Python - spesielt Python (Requests) - ettersom dette programmet krever en forespørsel til API -verten for det meste av informasjonen. Kopier koden ved å klikke på knappen 'kopier kode' øverst til høyre. Lim inn denne koden i den valgte kodeditoren din - jeg bruker Jupyters Notebook -miljø.

Når du har limt inn programmet, importerer du Pythons json -modul. Dette vil gjøre det mulig for oss å skrive ut tekstene. Legg til følgende kode nær toppen (under importforespørsler)

importer json

Når du har importert json -modulen, bør programmet ditt se slik ut:

importforespørsler

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)

Sørg for at programmet ditt ser likt ut (med en annen API -nøkkel), og gå deretter over til 'url' -variabelen. Du vil legge merke til at Canarados standardparameter er 'Zenith' av Denzel Curry. Du kan endre det ved å legge inn en sang du liker. For eksempel, hvis jeg ønsket å søke etter tekstinformasjon angående Michael Jacksons thriller, kan jeg skrive inn "thriller" i stedet for "zenith denzel curry", slik at nettadressen nå ser ut som:

url = "https://canarado-lyrics.p.rapidapi.com/lyrics/thriller"

Du kan også legge til mellomrom uten å nøle - nettleseren vil automatisk legge til %2520 tegn (du vil legge merke til dem i stedet for mellomrom i standardadressen). For eksempel kan et søk etter Gangstas Paradise se slik ut:

url = "https://canarado-lyrics.p.rapidapi.com/lyrics/gangstas paradise"

Kjør programmet ved å erstatte standardverdien "zenith%2520denzel%2520curry" med hvilken som helst sang du ønsker. Du vil legge merke til at tekstene er skrevet ut, men på en vanskelig å lese måte. Dessuten - annen informasjon, inkludert sangens utgivelsesdato, tittel og API -statusinformasjon hindrer visningen av tekstene. La oss fikse dette i neste trinn.

Trinn 4: Formatering av teksten

Formatering av teksten
Formatering av teksten

Å formatere tekstene slik at de er lesbare, er ikke så vanskelig. De fleste med litt kunnskap om programmering vil kunne gjøre dette ganske enkelt. I stedet for bare å skrive ut "response.text", la oss bruke.json () -metoden. Dette vil organisere API -informasjonen i en ordbok og gjøre alt mye mer tilgjengelig.

For å begynne, opprett en variabel for å holde 'response.json ()'. Jeg har kalt variabelen min 'data'.

data = response.json ()

Deretter bruker du følgende 'for' -løkke for å få tilgang til tekstene.

for i in data ['innhold']:

print (i ['lyrics'])

Koden ovenfor navigerer til dataordbokens 'innhold' -tast. Innenfor innholdstasten lar for -løkken deg navigere til "tekst" -tasten. Koden skal nå se ut som denne:

importforespørsler

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 ['lyrics'])

Kjør dette programmet, og du vil legge merke til at tekstene er mye mer lesbare. I det neste trinnet legger vi til noen ekstra variabler, slik at vi kan bruke tittelen på en sang som input og slik at vi kan sende teksten til Alexa.

Trinn 5: Innganger og utganger

Innganger og utganger
Innganger og utganger
Innganger og utganger
Innganger og utganger

Så langt har vi skrevet inn sangens tittel på slutten av nettadressen. Det ville være fint hvis vi kunne bruke en variabel fra en inngang og sammenkoble de to strengene (url og sangtittel). Å gjøre det er faktisk ganske enkelt.

Foreløpig, la oss bruke Pythons inngangsfunksjon. Når vi har lastet opp koden til Wayscript, bruker vi talen vår som et input i stedet. La oss lage en sangtittelvariabel satt til en inngang som ber brukeren om å "skrive inn en sangtittel":

song_title = input ("Skriv inn en sang for å finne teksten for:")

Koble deretter denne strengen til url -en ved hjelp av Pythons+operatør for strenger

url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song_title

Når du kjører programmet, trenger du ikke lenger å redigere nettadressen i programmet. I stedet svarer du bare på innspillet med sangens tittel, og sangens tekst skal skrives ut.

Programmet ditt skal nå se ut som dette:

importforespørsler

import json song = input ("Enter a song to find the lyrics for:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song 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 ['lyrics'])

Til slutt, la oss lage en variabel for å sende tekstene. Start med å lage et variabelsett til en tom streng. Koble deretter 'i [' tekster ']' til slutten av den. Skriv ut variabelen utenfor for -løkken.

tekst = ""

for i in data ['content']: lyrics += i ['lyrics'] print (tekst)

Det endelige programmet skal se slik ut:

importforespørsler

import json song = input ("Enter a song to find the lyrics for:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song 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 () lyrics = "" for i in data ['content']: lyrics += i ['lyrics'] print (lyrics)

Programmet vil skrive ut akkurat det samme, men nå har du en variabel som du kan bruke som utgang. Nå kan vi endelig legge til Alexa- og e -postfunksjonaliteten med Wayscript.

Trinn 6: Legge til Alexa Trigger

Legger til Alexa Trigger
Legger til Alexa Trigger
Legger til Alexa Trigger
Legger til Alexa Trigger
Legger til Alexa Trigger
Legger til Alexa Trigger

For å legge til din første utløser, klikk på knappen "Legg til utløser":

  1. En søkefelt vil dukke opp - søk etter 'Alexa', og du vil legge merke til Alexa -utløseren. Hvis du ikke har brukt Alexa -utløseren før dette, eller hvis dette er ditt første prosjekt, må du kanskje klikke på 'import'. Når den er importert, klikker du bare på den, og den skal legges til.
  2. Aktiver utløseren ved å klikke på den pilleformede bryteren. Den skal bli grønn. På venstre side vil du legge merke til en seksjon som sier 'Outputs'. Klikk på avmerkingsboksen som sier "Talt inndata" og skriv inn en verdi som ligner vår tidligere song_title -variabel. Vi kan nå bruke din talte innspill i stedet for input -setningen vi hadde brukt tidligere
  3. Sørg for at du har skrevet en standardverdi (favorittsangene dine kanskje), ettersom du kan støte på noen feil uten en.

I de neste trinnene legger vi til vårt Python -program, Send e -post -metoden, og vi får Alexa til å bekrefte at metoden er fullført.

Trinn 7: Legge til ditt Python -program

Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program
Legger til ditt Python -program

For å legge til programmet i din nåværende Wayscript -flyt, klikker du på 'Legg til trinn'

  1. Søk etter Python og klikk på Python -handlingen. Dette bør oppdatere utløseren, og du vil merke at en venstre fane vises.
  2. Hold musepekeren over programmet på sidepanelet, og du vil se at en "Rediger kode" -knapp dukker opp. Klikk på den, og en fullskjermredigerer vil dukke opp.
  3. I redigeringsprogrammet i fullskjerm, kopier og lim inn python-programmet vi hadde opprettet tidligere.
  4. Slett variabelen song_title = input ("…") vi hadde skrevet, og legg til variabelen for muntlig inndata vi opprettet i forrige trinn. Variabler som er opprettet i de foregående trinnene, finner du nederst i venstre hjørne.
  5. Det nye programmet skal se ut som det sjette bildet som er vedlagt ovenfor.
  6. Til slutt vil vi sette tekstvariabelen som en utgang. For å gjøre dette, kopier og lim inn følgende kode nederst i programmet (enten under eller i stedet for utskriftserklæringen)

variabler ['Song_Lyrics'] = tekster

Dette oppretter en utgangsvariabel kalt Song_Lyrics og setter den lik variabelen "tekster" vi hadde opprettet før. Det endelige programmet ditt skal se ut som det siste bildet vedlagt ovenfor. Kjør koden bare én gang - slik at Wayscript vet hva som skjer og kan lage utgangsvariabler. Dette kan ta noen øyeblikk, men hvis det tar for lang tid, må du kanskje laste siden på nytt. Wayscript inneholder noen få feil, så det verste scenariet kan innebære at du må gjenskape skriptet.

Trinn 8: Send teksten og bekreft med Alexa

Send teksten og bekreft med Alexa
Send teksten og bekreft med Alexa
Send teksten og bekreft med Alexa
Send teksten og bekreft med Alexa
Send teksten og bekreft med Alexa
Send teksten og bekreft med Alexa

Vi har ytterligere to trinn å legge til i vår WayScript -flyt - et trinn som lar deg sende en e -post til deg selv og en annen som bekrefter at en e -post er sendt. La oss begynne med å lage trinnet for e -post.

  1. Klikk på "Legg til trinn", søk etter "Send e-post" og finn fanen på venstre side
  2. Bruk variabler som er opprettet i de forrige trinnene som 'Song_Name' (eller Song_Title) og 'Song_Lyrics'
  3. Du kan formatere e -posten uansett. For eksempel har jeg lagt til ordet "Lyrics" etter variabelen "Song_Name" og har lagt til setningen "Her er teksten til sangen du ba om" nær toppen.

Dette skriptet sender en melding til e -posten du hadde registrert deg med. Hvis du vil sende den til en annen e -post, må du kanskje bruke SMTP -e -posthandlingen i stedet.

Til slutt, la oss bekrefte at e -posten er sendt med Alexa.

  1. Klikk på "Legg til trinn" og søk etter "Alexa" igjen. Legg til Alexa -handlingen.
  2. Jeg har konfigurert det slik at når e -posten er sendt, sier Alexa "Tekster for [Song_Name] er sendt"

Du er ferdig! Kjør programmet en gang ved å klikke på "Kjør" -knappen. Hvis det ikke er noen feil, kan du nå bruke det med Alexa.

Trinn 9: Du er ferdig

For å bruke det med Alexa må du bruke følgende kommandoer:

'Alexa, start Wayscript'

Når Alexa har bekreftet at Wayscript har blitt lansert, sier du:

'Kjør [Programnavn] med [Sangnavn]'

For eksempel heter programmet mitt 'Song Lyrics' - Hvis jeg vil at Alexa skal sende meg teksten til Thriller, sier jeg:

'Run Song Lyrics with Thriller'

Anbefalt: