Talaan ng mga Nilalaman:

"Alexa, Send Me the Lyrics to _____": 9 Mga Hakbang (na may Mga Larawan)
"Alexa, Send Me the Lyrics to _____": 9 Mga Hakbang (na may Mga Larawan)

Video: "Alexa, Send Me the Lyrics to _____": 9 Mga Hakbang (na may Mga Larawan)

Video:
Video: 9 Min Exercise For Kids - Home Workout 2024, Nobyembre
Anonim
Image
Image

Pakikinig sa isang kanta na nais mong kantahin kasama? Karaniwan kang kailangang dumaan sa napakahirap na gawain ng pag-type ng pangalan ng kanta sa google, na sinusundan ng salitang "lyrics". Karaniwan kang makakagawa ng isang sapat na halaga ng mga typo, mai-misclick ang isang tiyak na halaga ng mga key, at makitungo sa hindi maiiwasang pagkahuli ng iyong aparato. Sa oras na natagpuan mo ang mga lyrics, nalaman mo na ang iyong kanta ay tapos na at ang lahat na gumana ay para sa wala.

Marahil ay nasa kalagitnaan ka ng isang pandaigdigang pandemya at paghiram ng telepono ng iyong kaibigan ay tila hindi tulad ng pinakadakilang ideya, higit na hindi gaanong hawakan ang Karaoke Machine na nakalagay sa sulok. Nais mong protektahan, ngunit ang pag-alam ng mga lyrics ng kanta ay halos mahalaga. Kailangan mo ng isang maginhawang, contactless na paraan upang maghanap para sa mga lyrics.

Marahil ang parehong mga senaryong iyon ay bahagyang pagpapalaki (ang una ay tiyak na higit pa), ngunit pa rin, ang pagkakaroon ng mga lyrics ng kanta na ipinadala mismo sa iyong email sa pangalawang hiniling mo para maipadala ang mga ito ay tiyak na maginhawa. Iyon ay kung saan ang Instructable na ito (kasama ang Alexa, Wayscript at isang piraso ng Python) ay pumapasok. Tanungin lamang si Alexa para sa mga lyrics sa iyong paboritong kanta at sa ilang segundo maihatid na sila mismo sa iyong inbox.

Bilang isang mag-aaral sa high school na papasok sa aking nakatatandang taon, nahanap ko ang proyektong ito na medyo kapaki-pakinabang at talagang ginamit ko ito ng isang makabuluhang halaga mula nang maitayo ito (isang pambihira - isinasaalang-alang ang karamihan sa aking mga proyekto ay natagpuan na hindi nagalaw buwan na ang lumipas).

Ang tutorial na ito ay medyo antas ng nagsisimula, ngunit kapaki-pakinabang na malaman ang ilang Python bago magtungo.

Mga gamit

Mga Materyales:

  1. Amazon Echo / Anumang Smart-Speaker na Batay sa Alexa
  2. WayScript account (Makukuha ang pag-set up sa mga sumusunod na hakbang)
  3. RapidAPI account
  4. Ilang Kaalam sa Python (Hindi kinakailangan, ngunit kapaki-pakinabang)

Hakbang 1: I-set up ang Wayscript at Alexa

I-set up ang Wayscript at Alexa
I-set up ang Wayscript at Alexa
I-set up ang Wayscript at Alexa
I-set up ang Wayscript at Alexa
I-set up ang Wayscript at Alexa
I-set up ang Wayscript at Alexa

Ano ang Wayscript?

Ang Wayscript ay isang malakas na tool na nagbibigay-daan sa iyo upang magpatakbo ng mga programa gamit ang iba't ibang mga pag-trigger. Gagamitin namin ang Alexa na nag-uudyok sa Instructable na ito, ngunit huwag mag-atubiling mag-eksperimento / galugarin ang software - mayroong lahat ng uri ng pag-andar na maaari mong idagdag.

Upang magsimula, gumawa tayo ng isang account gamit ang Wayscript:

  1. Mag-click sa mga pindutang 'Magsimula Para sa Libre' o 'Mag-sign Up'. Ginamit ko ang pagpipiliang 'Magrehistro kasama ang Github' dahil naramdaman nito ang pinaka maginhawa.
  2. Kapag nakagawa ka na ng isang account, hahantong ka sa kapaligiran sa pag-unlad ng Wayscript. Kapaki-pakinabang na dumaan sa tutorial bago kami magsimula.
  3. Kapag nakumpleto mo na ang tutorial, mag-navigate sa iyong profile. Mag-click sa pindutang 'Lumikha ng isang bagong script' at hihilingin sa iyo na pangalanan ang iyong proyekto. Pinangalanan ko ito na 'Song Lyrics', ngunit maaari mo itong pangalanan kahit anong gusto mo. Tiyakin lamang na madaling sabihin habang gagamitin mo ang pangalan ng programa kapag hinihiling mo sa Alexa na ipadala sa iyo ang mga lyrics.
  4. Kapag nagawa mo na ang iyong pangalan, i-click ang pindutang 'lumikha' at hahantong ka sa isang bagong kapaligiran sa pag-unlad ng Wayscript. Babalik tayo sa lalong madaling panahon.

Bago kami magpatuloy, ikonekta natin ang iyong Wayscript account sa Alexa:

  1. Tumungo sa amazon.com at mag-log in sa iyong account - partikular ang isa na nakakonekta sa iyong speaker na pinagana ng Alexa.
  2. Pumunta sa link na ito: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… at i-click ang 'paganahin'. Kung ang link ay hindi gumagana para sa anumang kadahilanan, maghanap para sa Wayscript Alexa Skill - muli, i-click ang 'paganahin'
  3. Kapag na-click mo ang paganahin, kailangan mong i-link ito sa iyong Wayscript account. I-click ang 'Link Account' at dapat kang humantong sa website ng wayscript. Sa sandaling mag-sign in ka, ang isang screen na nagsasabing 'Ikaw ang account ay matagumpay na na-link' dapat na mag-pop up.

Kapag naayos mo na ang lahat ng ito, maaari nating (halos) simulan ang pag-program!

Hakbang 2: Gumawa ng isang RapidAPI Account

Gumawa ng isang RapidAPI Account
Gumawa ng isang RapidAPI Account
Gumawa ng isang RapidAPI Account
Gumawa ng isang RapidAPI Account
Gumawa ng isang RapidAPI Account
Gumawa ng isang RapidAPI Account

Upang maghanap para sa mga lyrics ng kanta, gagamitin namin ang 'Canarado Lyrics API' na naa-access sa pamamagitan ng RapidAPI. Kung mayroon ka nang RapidAPI account, maaari mong laktawan ang hakbang na ito, ngunit kung hindi, ipagpatuloy ang pagbabasa.

Magsimula sa pamamagitan ng paggawa ng iyong RapidAPI account:

  1. I-click ang Button na 'Mag-sign Up' malapit sa kanang sulok sa itaas at mag-sign up sa alinman sa mga pagpipilian na mayroon sila (Google, Github, Facebook o regular na pag-sign up).
  2. Kapag nag-sign up ka na, magtungo sa Canarado Lyrics API:

Kung makakita ka ng isang screen na katulad ng pangatlong imaheng nakakabit sa itaas, nakumpleto mo ang hakbang na ito. Sa wakas handa na kaming magsimula sa pag-program.

Hakbang 3: Sumulat ng isang Pangunahing Program

Sumulat ng isang Pangunahing Program
Sumulat ng isang Pangunahing Program
Sumulat ng isang Pangunahing Program
Sumulat ng isang Pangunahing Program
Sumulat ng isang Pangunahing Program
Sumulat ng isang Pangunahing Program

Tulad ng nabanggit sa nakaraang hakbang, ang Canarado Lyrics API ay matatagpuan sa:

Kapag nandoon, magtungo sa kanang kalahati ng screen gamit ang header na 'Code Snippets'. Gagamitin ko ang Python sa itinuturo na ito, ngunit kung mas gusto mo ng ibang wika magpatuloy at gamitin mo iyon sa halip.

Mag-click sa dropdown menu na may label na '(Node.js) Pagkagulo' at mag-navigate sa iyong piniling wika. Muli, gagamitin ko ang Python - partikular ang Python (Mga Kahilingan) - dahil ang program na ito ay nangangailangan ng isang kahilingan sa host ng API para sa karamihan ng impormasyon. Kopyahin ang code sa pamamagitan ng pag-click sa pindutang 'kopya ng code' malapit sa kanang bahagi sa itaas. I-paste ang code na ito sa iyong code editor ng pagpipilian - Gagamitin ko ang kapaligiran ng Notebook ng Jupyter.

Kapag na-paste mo na ang programa, i-import ang json module ni Python. Papayagan kaming mag-print ng mga lyrics. Idagdag ang sumusunod na code malapit sa itaas (sa ibaba ng mga kahilingan sa pag-import)

import json

Kapag na-import mo na ang json module, dapat ganito ang hitsura ng iyong programa:

mag-import ng mga kahilingan

import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/zenith%2520denzel%2520curry" headers = {'x-quickapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "IYONG-API-KEY-DITO"} tugon = requests.request ("GET", url, headers = header) print (response.text)

Tiyaking ang iyong programa ay mukhang magkatulad (na may ibang API Key) at pagkatapos ay magtungo sa variable na 'url'. Mapapansin mo na ang default na parameter ng Canarado ay 'Zenith' ni Denzel Curry. Maaari mong baguhin iyon sa pamamagitan ng pag-input ng anumang kanta na gusto mo. Halimbawa

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

Maaari ka ring magdagdag ng mga puwang nang walang anumang pag-aatubili - awtomatikong idaragdag ng browser ang% 2520 na mga character (Mapapansin mo sila sa lugar ng mga puwang sa default na url). Halimbawa, maaaring ganito ang isang paghahanap para sa Gangstas Paradise:

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

Patakbuhin ang programa sa pamamagitan ng pagpapalit ng default na halaga na "zenith% 2520denzel% 2520curry" sa anumang kanta na iyong pinili. Mapapansin mo na ang mga lyrics ay nai-print, ngunit sa isang mahirap basahin na fashion. Ano pa - ang iba pang impormasyon, kabilang ang petsa ng paglabas ng kanta, pamagat at impormasyon sa katayuan ng API na nakahahadlang sa pagtingin ng mga lyrics. Ayusin natin ito sa susunod na hakbang.

Hakbang 4: Pag-format ng Lyrics

Pag-format ng Lyrics
Pag-format ng Lyrics

Ang pag-format ng mga liriko na nababasa nito ay hindi masyadong mahirap. Karamihan sa mga taong may kaunting kaalaman sa pagprogram ay magagawang gawin ito nang madali. Sa halip na i-print lamang ang "response.text", gamitin natin ang.json () na pamamaraan. Aayos nito ang impormasyon ng API sa isang diksyunaryo at gagawing mas naa-access ang lahat.

Upang magsimula, lumikha ng isang variable upang i-hold ang 'response.json ()'. Pinangalanan ko ang aking variable na 'data'.

data = response.json ()

Susunod, gamitin ang sumusunod na 'para sa' loop upang ma-access ang mga lyrics.

para sa i sa data ['nilalaman']:

i-print (i ['lyrics'])

Ang code sa itaas ay nagna-navigate sa key ng 'nilalaman' ng diksyonaryo ng data. Sa loob ng nilalaman key, pinapayagan ka ng for loop na mag-navigate sa key na 'lyrics'. Ang code ay dapat magmukhang katulad nito sa ngayon:

mag-import ng mga kahilingan

import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/YOUR-SONG-HERE" header = {'x-quickapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "IYONG-API-KEY-DITO"} tugon = requests.request ("GET", url, headers = header) data = response.json () para sa i sa data ['nilalaman']: print (i ['lyrics'])

Patakbuhin ang program na ito at mapapansin mo na ang mga lyrics ay mas maraming nababasa. Sa susunod na hakbang ay magdaragdag kami ng ilang sobrang mga variable, upang magamit namin ang pamagat ng isang kanta bilang isang input at upang ma-output namin ang mga lyrics sa Alexa.

Hakbang 5: Mga Input at Output

Mga Input at Output
Mga Input at Output
Mga Input at Output
Mga Input at Output

Sa ngayon, nagta-type kami sa pamagat ng kanta sa dulo ng URL. Maganda kung maaari kaming gumamit ng isang variable mula sa isang input at pagsamahin ang dalawang mga string (url at pamagat ng kanta). Ang paggawa nito ay talagang madali.

Sa ngayon, gamitin natin ang pag-andar ng input ng Python. Kapag na-upload na namin ang code sa Wayscript, gagamitin namin ang aming pagsasalita bilang isang input sa halip. Lumikha tayo ng isang variable ng pamagat ng kanta na itinakda sa isang input na humihiling sa gumagamit na "maglagay ng pamagat ng kanta":

song_title = input ("Magpasok ng isang kanta upang hanapin ang mga lyrics para sa:")

Pagkatapos, pagsamahin ang string na ito sa url, gamit ang '+' operator ng Python para sa Strings

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

Ngayon, kapag pinatakbo mo ang programa, hindi mo na kailangang i-edit ang url sa loob ng programa. Sa halip, tumugon lamang sa input na may pamagat ng iyong kanta, at dapat i-print ang mga lyrics ng kanta.

Ikaw ang programa ay dapat magmukhang katulad nito sa ngayon:

mag-import ng mga kahilingan

import json song = input ("Magpasok ng isang kanta upang hanapin ang mga lyrics para sa:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + mga header ng kanta = {'x-mabilisapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "IYONG-API-KEY-DITO"} tugon = requests.request ("GET", url, headers = header) data = tugon.json () para sa i sa data ['nilalaman']: i-print (i ['lyrics'])

Panghuli, lumikha tayo ng isang variable upang ma-output ang mga lyrics. Magsimula sa pamamagitan ng paglikha ng isang variable na itinakda sa isang walang laman na string. Pagkatapos, pagsamahin ang 'i [' lyrics ']' hanggang sa wakas nito. I-print ang variable sa labas ng para sa loop.

lyrics = ""

para sa i sa data ['nilalaman']: lyrics + = i ['lyrics'] print (lyrics)

Ang panghuling programa ay dapat magmukhang ganito:

mag-import ng mga kahilingan

import json song = input ("Magpasok ng isang kanta upang hanapin ang mga lyrics para sa:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + mga header ng kanta = {'x-mabilisapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "IYONG-API-KEY-DITO"} tugon = requests.request ("GET", url, headers = header) data = tugon.json () lyrics = "" for i in data ['content']: lyrics + = i ['lyrics'] print (lyrics)

I-print ng programa ang eksaktong parehong bagay, ngunit ngayon mayroon kang isang variable na maaari mong gamitin bilang isang output. Ngayon, sa wakas ay maidaragdag namin ang pag-andar ng Alexa at Email sa Wayscript.

Hakbang 6: Pagdaragdag ng Alexa Trigger

Pagdaragdag ng Alexa Trigger
Pagdaragdag ng Alexa Trigger
Pagdaragdag ng Alexa Trigger
Pagdaragdag ng Alexa Trigger
Pagdaragdag ng Alexa Trigger
Pagdaragdag ng Alexa Trigger

Upang maidagdag ang iyong unang gatilyo, mag-click sa pindutang 'Magdagdag ng Trigger':

  1. Lalabas ang isang search bar - maghanap para sa 'Alexa' at mapapansin mo ang Alexa na nag-trigger. Kung hindi mo pa nagamit ang Alexa trigger bago ito, o kung ito ang iyong unang proyekto, maaaring kailanganin mong i-click ang 'import'. Kapag na-import, i-click lamang ito, at dapat itong idagdag.
  2. Paganahin ang gatilyo sa pamamagitan ng pag-click sa switch na hugis pill. Dapat itong maging berde. Sa kaliwang bahagi, mapapansin mo ang isang seksyon na nagsasabing 'Mga Output'. Mag-click sa checkbox na nagsasabing 'Spoken Input' at maglagay ng halagang katulad ng aming nakaraang variable ng song_title. Maaari na naming magamit ang iyong pasalitang input bilang kapalit ng pahayag sa pag-input na ginamit namin dati
  3. Tiyaking nakasulat ka ng isang default na halaga (marahil ang iyong mga paboritong kanta), tulad ng walang isa maaari kang makatagpo ng ilang mga error.

Sa mga susunod na hakbang, idaragdag namin ang aming Python Program, ang paraan ng Magpadala ng Email at magkukumpirma namin ang Alexa na ang pamamaraan ay kumpleto na.

Hakbang 7: Pagdaragdag ng Iyong Program sa Python

Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python
Pagdaragdag ng Iyong Program sa Python

Upang maidagdag ang iyong programa sa iyong kasalukuyang daloy ng Wayscript, mag-click sa 'Magdagdag ng Hakbang'

  1. Maghanap para sa Python at mag-click sa pagkilos na Python. Dapat nitong i-refresh ang gatilyo at mapapansin mong lilitaw ang isang tab na kaliwang kamay.
  2. Mag-hover sa ibabaw ng programa sa panel sa gilid at mapapansin mo ang isang pop na 'I-edit ang Code' na mag-pop up. Mag-click dito at ang isang full-screen editor ay mag-pop up.
  3. Sa full-screen editor, kopyahin at i-paste ang python program na nilikha namin dati.
  4. Tanggalin ang song_title = input ("….") Variable na isinulat namin at idagdag ang binibigkas na variable ng input na nilikha namin sa nakaraang hakbang. Ang mga variable na nilikha sa mga nakaraang hakbang ay matatagpuan sa ibabang kaliwang sulok.
  5. Ang iyong bagong programa ay dapat magmukhang katulad sa ika-6 na imaheng nakakabit sa itaas.
  6. Sa wakas, nais naming itakda ang aming variable ng lyrics bilang isang output. Upang magawa ito, kopyahin at i-paste ang sumusunod na code sa ilalim ng iyong programa (alinman sa ibaba o sa lugar ng naka-print na pahayag)

variable ['Song_L Lyrics'] = lyrics

Lumilikha ito ng isang variable na output na tinatawag na Song_L Lyrics at itinatakda itong katumbas ng variable na 'lyrics' na nilikha namin dati. Ang iyong panghuling programa ay dapat magmukhang katulad ng huling imaheng nakakabit sa itaas. Minsan lang patakbuhin ang code - upang malaman ng Wayscript kung ano ang nangyayari at maaaring lumikha ng iyong mga variable ng output. Maaari itong tumagal ng ilang sandali, ngunit kung masyadong mahaba, maaaring kailanganin mong i-reload ang pahina. Naglalaman ang Wayscript ng ilang mga bug, kaya ang pinakapangit na sitwasyon na maaaring maganap sa pagkakaroon upang muling likhain ang script.

Hakbang 8: Ipadala ang Lyrics at Kumpirmahin Sa Alexa

Ipadala ang Lyrics at Kumpirmahin Sa Alexa
Ipadala ang Lyrics at Kumpirmahin Sa Alexa
Ipadala ang Lyrics at Kumpirmahin Sa Alexa
Ipadala ang Lyrics at Kumpirmahin Sa Alexa
Ipadala ang Lyrics at Kumpirmahin Sa Alexa
Ipadala ang Lyrics at Kumpirmahin Sa Alexa

Mayroon kaming dalawa pang mga hakbang upang idagdag sa aming daloy ng WayScript - isang hakbang na nagbibigay-daan sa iyo upang magpadala ng isang email sa iyong sarili at isa pa na nagpapatunay na naipadala na ang isang email. Magsimula tayo sa pamamagitan ng paglikha ng hakbang sa email.

  1. I-click ang 'Magdagdag ng Hakbang', hanapin ang 'Magpadala ng Email' at hanapin ang tab na kaliwang bahagi
  2. Gumamit ng mga variable na nilikha sa mga nakaraang hakbang tulad ng 'Song_Name' (o Song_Title) at 'Song_L Lyrics'
  3. Maaari mong mai-format ang email kahit saan mo nais. Halimbawa, naidagdag ko ang salitang "Lyrics" pagkatapos ng variable na 'Song_Name' at naidagdag ang pangungusap na "Narito ang mga lyrics sa kanta na hiniling mo" malapit sa tuktok.

Ang script na ito ay magpapadala ng isang mensahe sa email na iyong nakarehistro. Kung nais mong ipadala ito sa ibang email, maaaring kailanganin mong gamitin ang SMTP Email Action sa halip.

Sa wakas, kumpirmahin natin na ang email ay naipadala kasama ni Alexa.

  1. I-click ang 'Magdagdag ng Hakbang' at hanapin muli ang 'Alexa'. Idagdag ang aksyon sa Alexa.
  2. Naayos ko na ito upang sa sandaling maipadala na ang email, sinabi ni Alexa na 'Ang lyrics para sa [Song_Name] ay naipadala na'

Tapos ka na! Patakbuhin ang programa nang isang beses sa pamamagitan ng pag-click sa pindutang 'Run'. Kung walang mga error, maaari mo na itong gamitin sa Alexa.

Hakbang 9: Tapos Na

Upang magamit ito sa Alexa, kakailanganin mong gamitin ang mga sumusunod na utos:

'Alexa, ilunsad ang Wayscript'

Kapag nakumpirma na ni Alexa na ang Wayscript ay inilunsad, sabihin:

'Patakbuhin ang [Pangalan ng Programa] kasama ang [Pangalan ng Kanta]'

Halimbawa, ang aking programa ay tinawag na 'Song Lyrics' - Kung nais kong ipadala sa akin ni Alexa ang mga lyrics sa Thriller, sasabihin ko:

'Run Song Lyrics with Thriller'

Inirerekumendang: