Kazalo:

"Alexa, Send Me Lyrics to _____": 9 korakov (s slikami)
"Alexa, Send Me Lyrics to _____": 9 korakov (s slikami)

Video: "Alexa, Send Me Lyrics to _____": 9 korakov (s slikami)

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

Poslušate pesem, ki bi jo radi zapeli? Običajno bi morali opraviti naporno nalogo, da vnesete ime pesmi v google, sledi beseda "besedilo". Običajno bi naredili tudi veliko napak, napačno kliknili določeno količino tipk in se morali spopasti z neizogibnim zamikom vaše naprave. Ko najdete besedila, ugotovite, da je vaše pesmi konec in da je bilo vse to zaman.

Morda ste sredi svetovne pandemije in izposoja telefona vašega prijatelja se ne zdi najboljša ideja, še manj pa dotikanje tega, da je Karaoke Machine zložen v kot. Želite biti zaščiteni, vendar je poznavanje besedila pesmi skoraj tako nujno. Za iskanje besedil potrebujete priročno, brezkontaktno metodo.

Morda sta oba scenarija rahlo pretiravanje (prvi vsekakor bolj), a vseeno bi bilo zelo priročno, če bi besedila pesmi poslala kar na vaš e -poštni naslov, takoj ko zahtevate njihovo pošiljanje. Tam pride ta Instructable (skupaj z Alexa, Wayscript in malo Pythona). Od Alexa zahtevajte besedilo vaše najljubše pesmi in v nekaj sekundah bodo dostavljeni neposredno v vaš poštni predal.

Kot srednješolec, ki sem vstopil v zadnji letnik, se mi je zdel ta projekt precej uporaben in sem ga dejansko porabil precej, odkar sem ga zgradil (redkost - glede na to, da je večina mojih projektov nedotaknjenih mesecev kasneje).

Ta vadnica je na ravni začetnikov, vendar je koristno, da poznate nekaj Pythona, preden se odpravite.

Zaloge

Materiali:

  1. Amazon Echo/kateri koli pametni zvočnik na osnovi Alexa
  2. Račun WayScript (nastavljen bo v naslednjih korakih)
  3. RapidAPI račun
  4. Nekaj znanja o Pythonu (ni nujno, vendar koristno)

1. korak: Nastavite Wayscript in Alexa

Nastavite Wayscript in Alexa
Nastavite Wayscript in Alexa
Nastavite Wayscript in Alexa
Nastavite Wayscript in Alexa
Nastavite Wayscript in Alexa
Nastavite Wayscript in Alexa

Kaj je Wayscript?

Wayscript je močno orodje, ki vam omogoča izvajanje programov z različnimi sprožilci. V tem navodilu bomo uporabljali sprožilec Alexa, vendar vas prosimo, da preizkusite/raziščete programsko opremo - vse vrste funkcij lahko dodate.

Za začetek naredimo račun z Wayscript:

  1. Kliknite gumba »Začni brezplačno« ali »Prijava«. Uporabil sem možnost 'Register with Github', saj se mi je zdelo najbolj priročno.
  2. Ko ustvarite račun, boste preusmerjeni v razvojno okolje Wayscript. Preden začnemo, je koristno, da preberete vadnico.
  3. Ko končate vadnico, se pomaknite do svojega profila. Kliknite gumb »Ustvari nov skript« in morali boste poimenovati svoj projekt. Poimenoval sem ga "Besedilo pesmi", lahko pa ga poimenujete, kot želite. Prepričajte se, da je preprosto reči, saj boste ime programa uporabljali, ko boste Alexa prosili, naj vam pošlje besedila.
  4. Ko ustvarite svoje ime, kliknite gumb 'ustvari' in prišli boste v novo razvojno okolje Wayscript. Kmalu se bomo vrnili k temu.

Preden nadaljujemo, povežimo vaš račun Wayscript z Alexa:

  1. Pojdite na amazon.com in se prijavite v svoj račun-še posebej tisti, ki je povezan z zvočnikom, ki podpira Alexa.
  2. Pojdite na to povezavo: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… in kliknite »omogoči«. Če povezava iz kakršnega koli razloga ne deluje, poiščite Wayscript Alexa Skill - znova kliknite »omogoči«
  3. Ko kliknete omogoči, ga morate povezati s svojim računom Wayscript. Kliknite »Poveži račun« in morali boste odpreti spletno mesto wayScript. Ko se prijavite, bi se moral pojaviti zaslon z napisom »Vaš račun je bil uspešno povezan«.

Ko vse to nastavite, lahko (skoraj) začnemo s programiranjem!

2. korak: Ustvarite račun RapidAPI

Ustvarite račun RapidAPI
Ustvarite račun RapidAPI
Ustvarite račun RapidAPI
Ustvarite račun RapidAPI
Ustvarite račun RapidAPI
Ustvarite račun RapidAPI

Za iskanje besedil pesmi bomo uporabili "Canarado Lyrics API", ki je dostopen prek RapidAPI. Če že imate račun RapidAPI, lahko ta korak preskočite, če pa ne, nadaljujte z branjem.

Začnite z ustvarjanjem računa RapidAPI:

  1. Kliknite gumb »Prijava« v zgornjem desnem kotu in se prijavite s katero koli možnostjo, ki jo imajo (Google, Github, Facebook ali običajna prijava).
  2. Ko se prijavite, pojdite na API za besedila Canarado:

Če vidite zaslon, podoben tretji sliki, priloženi zgoraj, ste dokončali ta korak. Končno smo pripravljeni na programiranje.

3. korak: Napišite osnovni program

Napišite osnovni program
Napišite osnovni program
Napišite osnovni program
Napišite osnovni program
Napišite osnovni program
Napišite osnovni program

Kot je bilo omenjeno v prejšnjem koraku, je Canarado Lyrics API na naslovu:

Ko ste tam, pojdite na desno polovico zaslona z glavo »Odlomki kode«. V tem navodilu bom uporabljal Python, če pa imate raje drug jezik, nadaljujte in ga uporabite namesto tega.

Kliknite spustni meni z oznako '(Node.js) Nemiri' in se pomaknite do svojega jezika. Spet bom uporabljal Python - natančneje Python (zahteve) - saj ta program za večino informacij zahteva zahtevo do gostitelja API -ja. Kopirajte kodo tako, da kliknete gumb »kodiraj kodo« v zgornjem desnem kotu. To kodo prilepite v izbrani urejevalnik kod - uporabljal bom okolje Jupyter's Notebook.

Ko prilepite program, uvozite Pythonov modul json. Tako bomo lahko natisnili besedila. Na vrh (pod zahtevami za uvoz) dodajte naslednjo kodo

uvoz json

Ko uvozite modul json, bi moral biti vaš program videti tako:

uvozne zahteve

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)

Prepričajte se, da je vaš program podoben (z drugačnim ključem API -ja), nato pa pojdite na spremenljivko 'url'. Opazili boste, da je privzeti parameter Canarado "Zenith" Denzela Curryja. To lahko spremenite tako, da vnesete poljubno pesem. Če bi na primer želel poiskati informacije o besedilih v zvezi s trilerjem Michaela Jacksona, lahko vnesem "triler" namesto "zenith denzel curry", tako da je URL zdaj videti tako:

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

Brez zadržkov lahko dodate tudi presledke - brskalnik bo samodejno dodal znake %2520 (opazili jih boste namesto presledkov na privzetem URL -ju). Na primer, iskanje Gangstas Paradise bi lahko izgledalo tako:

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

Zaženite program tako, da privzeto vrednost "zenith%2520denzel%2520curry" zamenjate s poljubno skladbo po vaši izbiri. Opazili boste, da so besedila natisnjena, vendar težko berljiva. Še več - druge informacije, vključno z datumom izida pesmi, naslovom in statusom API -ja, ovirajo pogled na besedila. Odpravimo to v naslednjem koraku.

4. korak: Oblikovanje besedila

Oblikovanje besedila
Oblikovanje besedila

Oblikovanje besedil tako, da so berljiva, ni pretežko. Večina ljudi z nekaj znanja programiranja bo to zmogla precej enostavno. Namesto da preprosto natisnemo "response.text", uporabimo metodo.json (). Tako boste podatke API -ja razvrstili v slovar in naredili vse veliko bolj dostopno.

Za začetek ustvarite spremenljivko, ki bo vsebovala 'response.json ()'. Svojo spremenljivko sem poimenoval 'podatki'.

data = response.json ()

Nato za dostop do besedil uporabite naslednjo zanko 'for'.

for i in data ['content']:

tiskanje (i ['besedilo'])

Zgornja koda se pomakne do ključa »vsebina« slovarja podatkov. Znotraj ključa za vsebino se lahko pomaknete do tipke "besedilo". Koda bi morala izgledati tako:

uvozne zahteve

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 () za i in data ['content']: print (i ['lyrics'])

Zaženite ta program in opazili boste, da so besedila veliko bolj berljiva. V naslednjem koraku bomo dodali nekaj dodatnih spremenljivk, tako da bomo lahko uporabili naslov pesmi kot vhod in tako lahko besedila oddamo v Alexa.

5. korak: Vhodi in izhodi

Vhodi in izhodi
Vhodi in izhodi
Vhodi in izhodi
Vhodi in izhodi

Doslej smo na koncu URL -ja tipkali naslov pesmi. Lepo bi bilo, če bi uporabili spremenljivko iz vnosa in združili dva niza (url in naslov pesmi). To je pravzaprav precej enostavno.

Zaenkrat uporabimo vnosno funkcijo Pythona. Ko kodo naložimo v Wayscript, bomo njen govor uporabili kot vnos. Ustvarimo spremenljivko naslova pesmi, nastavljeno na vhod, ki od uporabnika zahteva, da "vnese naslov pesmi":

song_title = input ("Vnesite pesem, če želite poiskati besedilo za:")

Nato povežite ta niz z URL -jem z uporabo Pythonovega operaterja '+' za nize

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

Ko zaženete program, vam ni treba več urejati URL -ja v programu. Namesto tega preprosto odgovorite na vnos z naslovom svoje pesmi in besedilo pesmi je treba natisniti.

Vaš program bi moral zdaj izgledati tako:

uvozne zahteve

import json song = input ("Vnesite pesem, da poiščete besedilo za:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + naslovi pesmi = {'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'])

Na koncu ustvarimo spremenljivko za izpis besedila. Začnite z ustvarjanjem spremenljivke za prazen niz. Nato združite 'i [' lyrics ']' do konca. Natisnite spremenljivko zunaj zanke for.

besedilo = ""

for i in data ['content']: besedilo += i ['lyrics'] tisk (besedilo)

Končni program bi moral izgledati tako:

uvozne zahteve

import json song = input ("Vnesite pesem, da poiščete besedilo za:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + naslovi pesmi = {'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 ['vsebina']: besedilo += i ['besedilo'] tiskanje (besedilo)

Program bo natisnil popolnoma isto stvar, zdaj pa imate spremenljivko, ki jo lahko uporabite kot izhod. Zdaj lahko končno dodamo funkcijo Alexa in Email z Wayscript.

6. korak: Dodajanje sprožilca Alexa

Dodajanje sprožilca Alexa
Dodajanje sprožilca Alexa
Dodajanje sprožilca Alexa
Dodajanje sprožilca Alexa
Dodajanje sprožilca Alexa
Dodajanje sprožilca Alexa

Če želite dodati svoj prvi sprožilec, kliknite gumb »Dodaj sprožilec«:

  1. Prikaže se iskalna vrstica - poiščite »Alexa« in opazili boste sprožilec Alexa. Če pred tem niste uporabljali sprožilca Alexa ali če je to vaš prvi projekt, boste morda morali klikniti »uvoz«. Ko ga uvozite, ga preprosto kliknite in ga dodajte.
  2. Sprožilec omogočite s klikom na stikalo v obliki tabletke. Postati mora zelena. Na levi strani boste opazili razdelek z napisom 'Outputs'. Kliknite potrditveno polje z napisom "Spoken Input" in vnesite vrednost, podobno naši prejšnji spremenljivki song_title. Zdaj lahko uporabimo vaš govorni vnos namesto stavka vnosa, ki smo ga uporabili prej
  3. Poskrbite, da ste napisali privzeto vrednost (morda vaše najljubše pesmi), saj lahko brez nje naletite na nekaj napak.

V naslednjih korakih bomo dodali naš program Python, metodo pošiljanja e -pošte in Alexa bo potrdila, da je metoda dokončana.

7. korak: Dodajanje programa Python

Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python
Dodajanje programa Python

Če želite dodati program v trenutni tok Wayscript, kliknite »Dodaj korak«

  1. Poiščite Python in kliknite dejanje Python. To bi moralo sprožiti sprožilec in opazili boste levi zavihek.
  2. Premaknite miškin kazalec nad program na stranski plošči in pojavil se bo gumb »Uredi kodo«. Kliknite nanjo in pojavil se bo celozaslonski urejevalnik.
  3. V celozaslonskem urejevalniku kopirajte in prilepite program python, ki smo ga ustvarili prej.
  4. Izbrišite spremenljivko song_title = input ("…."), Ki smo jo napisali, in dodajte spremenljivko govornega vnosa, ki smo jo ustvarili v prejšnjem koraku. Spremenljivke, ustvarjene v prejšnjih korakih, najdete v spodnjem levem kotu.
  5. Vaš novi program bi moral biti podoben šesti sliki, priloženi zgoraj.
  6. Nazadnje želimo spremenljivko besedila nastaviti kot izhod. Če želite to narediti, kopirajte in prilepite naslednjo kodo na dnu programa (spodaj ali namesto izjave o tiskanju)

spremenljivke ['Song_Lyrics'] = besedilo

To ustvari izhodno spremenljivko, imenovano Song_Lyrics, in jo nastavi enako spremenljivki "lyrics", ki smo jo ustvarili prej. Vaš končni program bi moral izgledati tako kot zadnja slika, priložena zgoraj. Zaženite kodo samo enkrat - tako da Wayscript ve, kaj se dogaja, in lahko ustvari vaše izhodne spremenljivke. To lahko traja nekaj trenutkov, če pa traja predolgo, boste morda morali znova naložiti stran. Wayscript vsebuje nekaj hroščev, zato lahko v najslabšem primeru scenarij znova ustvarite.

8. korak: Pošljite besedilo in potrdite z Alexa

Pošljite besedilo in potrdite z Alexa
Pošljite besedilo in potrdite z Alexa
Pošljite besedilo in potrdite z Alexa
Pošljite besedilo in potrdite z Alexa
Pošljite besedilo in potrdite z Alexa
Pošljite besedilo in potrdite z Alexa

Našemu toku WayScript moramo dodati še dva koraka - korak, ki vam omogoča, da e -poštno sporočilo pošljete sebi, in drugega, ki potrjuje, da je bilo poslano e -poštno sporočilo. Začnimo z ustvarjanjem koraka po e -pošti.

  1. Kliknite »Dodaj korak«, poiščite »Pošlji e-pošto« in poiščite zavihek na levi strani
  2. Uporabite spremenljivke, ustvarjene v prejšnjih korakih, na primer 'Ime_pojke' (ali Naslov_pojke) in 'Besedilo_pojme'
  3. E -poštno sporočilo lahko poljubno formatirate. Na primer, za spremenljivko »Song_Name« sem dodal besedo »Besedila« in na vrhu dodal stavek »Tukaj je besedilo pesmi, ki ste jo zahtevali«.

Ta skript bo poslal sporočilo na e -poštni naslov, na katerega ste se registrirali. Če ga želite poslati na drug e -poštni naslov, boste morda morali uporabiti e -poštno dejanje SMTP.

Na koncu potrdimo, da je bilo e -poštno sporočilo poslano skupaj z Alexa.

  1. Kliknite »Dodaj korak« in znova poiščite »Alexa«. Dodajte dejanje Alexa.
  2. Nastavil sem ga tako, da Alexa po pošiljanju e -poštnega sporočila reče "Besedila za [Song_Name] so poslana"

Končali ste! Program enkrat zaženite s klikom na gumb 'Zaženi'. Če ni napak, ga lahko zdaj uporabite z Alexa.

9. korak: Končali ste

Če ga želite uporabljati z Alexa, morate uporabiti naslednje ukaze:

"Alexa, zaženi Wayscript"

Ko Alexa potrdi, da je Wayscript uveden, recite:

'Zaženi [Ime programa] z [Ime pesmi]'

Na primer, moj program se imenuje "Lyrics Song" - Če želim, da mi Alexa pošlje besedilo v Thriller, bom rekel:

"Zaženi besedilo pesmi s trilerjem"

Priporočena: