INHOUDSOPGAWE:

"Alexa, stuur vir my die lirieke na _____": 9 stappe (met foto's)
"Alexa, stuur vir my die lirieke na _____": 9 stappe (met foto's)

Video: "Alexa, stuur vir my die lirieke na _____": 9 stappe (met foto's)

Video:
Video: НЕ УБОЮСЬ Я ЗЛА / I Will Fear no Evil 2024, November
Anonim
Image
Image

Luister jy na 'n liedjie waarmee jy wil sing? Normaalweg moet u die moeilike taak onderneem om die naam van die liedjie in Google in te tik, gevolg deur die woord "lirieke". Normaalweg maak u baie foute, klik u op 'n sekere aantal sleutels en moet u die onvermydelike vertraging van u toestel hanteer. Teen die tyd dat u lirieke gevind het, kom u agter dat u liedjie verby is en dat alles verniet was.

Miskien is u midde -in 'n wêreldwye pandemie en lyk die telefoon van u vriend nie na die beste idee nie, nog minder raak die Karaoke -masjien in die hoek. U wil beskerm word, maar om die lirieke van die liedjie te ken, is amper net so belangrik. U benodig 'n maklike, kontaklose metode om na lirieke te soek.

Miskien is albei hierdie scenario's geringe oordrywings (die eerste beslis meer), maar dit is tog redelik gerieflik om liedlirieke direk na u e -pos te stuur, die tweede wat u vra om dit te stuur. Dit is waar hierdie Instructable (saam met Alexa, Wayscript en 'n bietjie Python) inkom. Vra net vir Alexa vir die lirieke van u gunsteling liedjie, en dit word binne 'n paar sekondes direk in u inkassie afgelewer.

As 'n hoërskoolleerling in my senior jaar, het ek gevind dat hierdie projek redelik handig was en dit eintlik 'n aansienlike hoeveelheid gebruik het sedert ek dit gebou het ('n rariteit - aangesien die meeste van my projekte maande later onaangeraak gevind word).

Hierdie handleiding is redelik op beginnersvlak, maar dit is handig om 'n paar Python te ken voordat u binnekom.

Voorrade

Materiaal:

  1. Amazon Echo/Enige Alexa-gebaseerde slimluidspreker
  2. WayScript-rekening (word in die volgende stappe opgestel)
  3. RapidAPI rekening
  4. Sommige Python -kennis (nie nodig nie, maar nuttig)

Stap 1: Stel Wayscript en Alexa op

Stel Wayscript en Alexa op
Stel Wayscript en Alexa op
Stel Wayscript en Alexa op
Stel Wayscript en Alexa op
Stel Wayscript en Alexa op
Stel Wayscript en Alexa op

Wat is Wayscript?

Wayscript is 'n kragtige instrument waarmee u programme kan uitvoer met behulp van verskillende snellers. Ons gebruik die Alexa -sneller in hierdie Instructable, maar eksperimenteer/verken die sagteware - daar is allerhande funksies wat u kan byvoeg.

Om mee te begin, maak 'n rekening met Wayscript:

  1. Klik op die knoppies 'Gratis aan die gang' of 'Aanmeld'. Ek het die opsie 'Register with Github' gebruik, aangesien dit die gemaklikste gevoel het.
  2. Sodra u 'n rekening gemaak het, word u na die ontwikkelingsomgewing van Wayscript gelei. Dit is handig om deur die tutoriaal te gaan voordat ons begin.
  3. Nadat u die tutoriaal voltooi het, gaan u na u profiel. Klik op die 'Skep 'n nuwe script' -knoppie en u sal gevra word om u projek 'n naam te gee. Ek het dit 'Song Lyrics' genoem, maar jy kan dit noem wat jy wil. Maak net seker dat dit maklik is om te sê, aangesien u die programnaam sal gebruik as u Alexa vra om die lirieke vir u te stuur.
  4. Sodra u u naam gemaak het, klik op die 'skep' -knoppie, en u word na 'n nuwe Wayscript -ontwikkelingsomgewing gelei. Ons kom binnekort hierop terug.

Voordat ons verder gaan, laat ons u Wayscript -rekening aan Alexa koppel:

  1. Gaan na amazon.com en meld aan by u rekening-spesifiek die een wat aan u luidspreker met Alexa gekoppel is.
  2. Gaan na hierdie skakel: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… en klik op 'aktiveer'. As die skakel om watter rede ook al nie werk nie, soek na die Wayscript Alexa Skill - klik weer op 'aktiveer'
  3. Nadat u op aktiveer geklik het, moet u dit koppel aan u Wayscript -rekening. Klik op 'Koppel rekening', en u moet na die webwerf van die manuskrip gelei word. Sodra u ingeteken het, verskyn 'n skerm met die boodskap 'U rekening is suksesvol gekoppel'.

As u dit alles opgestel het, kan ons (amper) begin programmeer!

Stap 2: Maak 'n RapidAPI -rekening

Maak 'n RapidAPI -rekening
Maak 'n RapidAPI -rekening
Maak 'n RapidAPI -rekening
Maak 'n RapidAPI -rekening
Maak 'n RapidAPI -rekening
Maak 'n RapidAPI -rekening

Om na die liedjie van die liedjie te soek, gebruik ons die 'Canarado Lyrics API' wat toeganklik is via RapidAPI. As u reeds 'n RapidAPI -rekening het, kan u hierdie stap oorslaan, maar indien nie, lees verder.

Begin deur u RapidAPI -rekening te maak:

  1. Klik op die 'Registreer'-knoppie in die regter boonste hoek en meld aan met enige van die opsies wat hulle het (Google, Github, Facebook of gereelde aanmelding).
  2. Sodra u aangemeld het, gaan na die Canarado Lyrics API:

As u 'n skerm soortgelyk aan die derde prent hierbo sien, het u hierdie stap voltooi. Ons is uiteindelik gereed om te begin programmeer.

Stap 3: Skryf 'n basiese program

Skryf 'n basiese program
Skryf 'n basiese program
Skryf 'n basiese program
Skryf 'n basiese program
Skryf 'n basiese program
Skryf 'n basiese program

Soos in die vorige stap genoem, is die Canarado Lyrics API geleë op:

As u daar is, gaan u na die regter helfte van die skerm met die opskrif 'Code Snippets'. Ek sal Python in hierdie instruksies gebruik, maar as u 'n ander taal verkies, moet u dit eerder gebruik.

Klik op die keuselys met die etiket '(Node.js) Unrest' en navigeer na u taal van keuse. Weereens gebruik ek Python - spesifiek Python (versoeke) - aangesien hierdie program 'n versoek aan die API -gasheer benodig vir die meeste inligting. Kopieer die kode deur op die 'kopieer kode' -knoppie regs bo te klik. Plak hierdie kode in u gekose kode -redakteur - ek sal die Jupyter Notebook -omgewing gebruik.

Nadat u die program geplak het, voer Python se json -module in. Dit sal ons in staat stel om die lirieke uit te druk. Voeg die volgende kode bo -aan (onder invoerversoeke)

invoer json

Nadat u die json -module ingevoer het, behoort u program so te lyk:

invoer versoeke

invoer 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)

Maak seker dat u program dieselfde lyk (met 'n ander API -sleutel) en gaan dan na die 'url' -veranderlike. U sal sien dat Canarado se standaardparameter 'Zenith' deur Denzel Curry is. U kan dit verander deur enige liedjie in te voer wat u wil. As ek byvoorbeeld na inligting oor die lirieke van Michael Jackson se Thriller wil soek, kan ek 'riller' in die plek van 'zenith denzel curry' invoer, sodat die url nou lyk:

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

U kan ook spasies sonder huiwering byvoeg - die blaaier sal outomaties die %2520 karakters byvoeg (u sal dit in die plek van spasies in die standaard url sien). 'N Soektog na Gangstas Paradise kan byvoorbeeld so lyk:

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

Begin die program deur die standaardwaarde "zenith%2520denzel%2520curry" te vervang deur enige liedjie van u keuse. U sal sien dat die lirieke uitgedruk is, maar op 'n moeilik leesbare manier. Boonop belemmer ander inligting, insluitend die datum van die liedjie, die titel en die status -inligting van die API, die siening van die lirieke. Laat ons dit in die volgende stap regstel.

Stap 4: Formatering van die lirieke

Formatering van die lirieke
Formatering van die lirieke

Dit is nie te moeilik om die lirieke so op te stel dat dit leesbaar is nie. Die meeste mense met kennis van programmering sal dit redelik maklik kan doen. Gebruik die.json () -metode in plaas van om 'response.text' uit te druk. Dit sal die inligting van die API in 'n woordeboek organiseer en alles baie toegankliker maak.

Om te begin, skep 'n veranderlike om 'response.json ()' te hou. Ek het my veranderlike 'data' genoem.

data = response.json ()

Gebruik vervolgens die volgende 'vir' -lus om toegang tot die lirieke te kry.

vir i in data ['inhoud']:

druk (i ['lirieke'])

Bogenoemde kode navigeer na die 'inhoud' -sleutel van die datawoordeboek. Binne die inhoudsleutel kan u met die for -lus na die 'lirieke' -sleutel gaan. Die kode moet nou so lyk:

invoer versoeke

invoer 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 () vir i in data ['content']: druk (i ['lirieke'])

Begin hierdie program en u sal sien dat die lirieke baie meer leesbaar is. In die volgende stap voeg ons 'n paar ekstra veranderlikes by, sodat ons die titel van 'n liedjie as invoer kan gebruik en die lirieke na Alexa kan stuur.

Stap 5: Invoer en uitvoer

Insette en uitsette
Insette en uitsette
Insette en uitsette
Insette en uitsette

Tot dusver het ons die titel van die liedjie aan die einde van die URL ingetik. Dit sal goed wees as ons 'n veranderlike van 'n invoer kan gebruik en die twee snare (url en liedtitel) aan mekaar kan koppel. Dit is eintlik redelik maklik om dit te doen.

Laat ons solank die invoerfunksie van Python gebruik. Sodra ons die kode na Wayscript opgelaai het, gebruik ons ons spraak eerder as 'n invoer. Laat ons 'n veranderlike in die titel van 'n liedjie skep met 'n invoer wat die gebruiker vra om 'n liedtitel in te voer ':

song_title = input ("Tik 'n liedjie in om die lirieke te vind vir:")

Koppel hierdie string dan aan die url, met behulp van Python se '+' - operateur vir Strings

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

As u die program nou uitvoer, hoef u nie meer die url binne die program te wysig nie. Antwoord eerder die invoer met die titel van u liedjie, en die lirieke van die liedjie moet uitgedruk word.

U program moet nou so lyk:

invoer versoeke

invoer json song = input ("Tik 'n liedjie in om die lirieke te vind vir:") 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 () vir i in data ['inhoud']: druk (i ['lirieke'])

Laastens, laat ons 'n veranderlike skep om die lirieke uit te voer. Begin deur 'n veranderlike stel na 'n leë string te skep. Koppel dan 'i [' lirieke ']' aan die einde daarvan. Druk die veranderlike buite die for -lus uit.

lirieke = ""

vir i in data ['inhoud']: lirieke += i ['lirieke'] druk (lirieke)

Die finale program moet so lyk:

invoer versoeke

invoer json song = input ("Tik 'n liedjie in om die lirieke te vind vir:") 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 () lirieke = "" vir i in data ['inhoud']: lirieke += i ['lirieke'] druk (lirieke)

Die program sal presies dieselfde uitdruk, maar u het nou 'n veranderlike wat u as uitset kan gebruik. Nou kan ons uiteindelik die Alexa- en e -posfunksies byvoeg met Wayscript.

Stap 6: Voeg die Alexa Trigger by

Voeg die Alexa Trigger by
Voeg die Alexa Trigger by
Voeg die Alexa Trigger by
Voeg die Alexa Trigger by
Voeg die Alexa Trigger by
Voeg die Alexa Trigger by

Om u eerste sneller by te voeg, klik op die 'Voeg sneller by':

  1. 'N Soekbalk verskyn - soek na' Alexa 'en u sal die Alexa -sneller sien. As u nog nie die Alexa -sneller hiervoor gebruik het nie, of as dit u eerste projek is, moet u moontlik op 'invoer' klik. Sodra dit ingevoer is, klik eenvoudig daarop, en dit moet bygevoeg word.
  2. Aktiveer die sneller deur op die pilvormige skakelaar te klik. Dit moet groen word. Aan die linkerkant sien u 'n gedeelte wat 'Uitsette' sê. Klik op die boks wat 'Gesproke invoer' sê en voer 'n waarde in wat ooreenstem met ons vorige song_title -veranderlike. Ons kan u gesproke insette nou gebruik in plaas van die invoerverklaring wat ons voorheen gebruik het
  3. Maak seker dat u 'n standaardwaarde geskryf het (miskien u gunsteling liedjies), want sonder een kan u 'n paar foute ondervind.

In die volgende stappe voeg ons ons Python -program by, die Send Email -metode en ons laat Alexa bevestig dat die metode voltooi is.

Stap 7: Voeg u Python -program by

Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by
Voeg u Python -program by

Om u program by u huidige Wayscript -vloei te voeg, klik op 'Voeg stap by'

  1. Soek Python en klik op die Python -aksie. Dit moet die sneller verfris en u sal sien dat 'n linkeroortjie verskyn.
  2. Beweeg oor die program op die sypaneel en u sal sien dat 'knoppie' Kode wysig 'verskyn. Klik daarop en 'n volskerm-redakteur verskyn.
  3. Kopieer en plak die python-program wat ons voorheen geskep het, in die volledige skerm-redakteur.
  4. Vee die veranderlike song_title = input ("….") uit wat ons geskryf het en voeg die veranderlike in gesproke invoer by wat ons in die vorige stap geskep het. Veranderlikes wat in die vorige stappe geskep is, kan links onder in die hoek gevind word.
  5. U nuwe program moet soortgelyk lyk aan die sesde prent hierbo.
  6. Ten slotte wil ons ons lirieke veranderlike as 'n uitset stel. Om dit te kan doen, kopieer en plak die volgende kode onderaan u program (onder of in die plek van die afdrukverklaring)

veranderlikes ['Song_Lyrics'] = lirieke

Dit skep 'n uitvoerveranderlike genaamd Song_Lyrics en stel dit gelyk aan die 'lyrics' veranderlike wat ons voorheen geskep het. Jou finale program moet net soos die laaste prent hierbo lyk. Begin die kode net een keer - sodat Wayscript weet wat aangaan en u uitvoerveranderlikes kan skep. Dit kan 'n paar minute neem, maar as dit te lank neem, moet u die bladsy moontlik herlaai. Wayscript bevat wel 'n paar foute, dus in die ergste geval kan dit nodig wees om die script te herskep.

Stap 8: Stuur die lirieke en bevestig met Alexa

Stuur die lirieke en bevestig met Alexa
Stuur die lirieke en bevestig met Alexa
Stuur die lirieke en bevestig met Alexa
Stuur die lirieke en bevestig met Alexa
Stuur die lirieke en bevestig met Alexa
Stuur die lirieke en bevestig met Alexa

Ons moet nog twee stappe byvoeg tot ons WayScript -vloei - 'n stap waarmee u 'n e -pos na uself kan stuur en 'n ander een wat bevestig dat 'n e -pos gestuur is. Kom ons begin met die skep van die e -posstap.

  1. Klik op 'Voeg stap by', soek na 'Stuur e-pos' en vind die oortjie aan die linkerkant
  2. Gebruik veranderlikes wat in die vorige stappe geskep is, soos 'Song_Name' (of Song_Title) en 'Song_Lyrics'
  3. U kan die e -pos in elk geval formateer. Ek het byvoorbeeld die woord 'Lirieke' bygevoeg na die veranderlike 'Song_Name' en het die sin 'Hier is die lirieke by die liedjie wat u aangevra het' bo -aan bygevoeg.

Hierdie skrif stuur 'n boodskap na die e -pos waarmee u geregistreer het. As u dit na 'n ander e -pos wil stuur, moet u moontlik eerder die SMTP -e -posaksie gebruik.

Laastens, laat ons bevestig dat die e -pos met Alexa gestuur is.

  1. Klik op 'Voeg stap by' en soek weer na 'Alexa'. Voeg die Alexa -aksie by.
  2. Ek het dit so opgestel dat Alexa, nadat die e -pos gestuur is, sê 'Lyrics for [Song_Name] is gestuur'

Jy is klaar! Begin die program een keer deur op die 'Run' -knoppie te klik. As daar geen foute is nie, kan u dit nou met Alexa gebruik.

Stap 9: Jy is klaar

Om dit met Alexa te kan gebruik, moet u die volgende opdragte gebruik:

'Alexa, begin Wayscript'

Sodra Alexa bevestig het dat Wayscript van stapel gestuur is, sê:

'Begin [Naam van program] met [Songnaam]'

My program heet byvoorbeeld 'Song Lyrics' - as ek wil hê Alexa moet vir my die lirieke na Thriller stuur, sal ek sê:

'Run Song Lyrics with Thriller'

Aanbeveel: