Мазмуну:

"Alexa, мага текстти _____ жөнөт": 9 кадам (сүрөттөр менен)
"Alexa, мага текстти _____ жөнөт": 9 кадам (сүрөттөр менен)

Video: "Alexa, мага текстти _____ жөнөт": 9 кадам (сүрөттөр менен)

Video:
Video: Nico: mom, you hit me! #funny #dog #cute #smartnico 2024, Ноябрь
Anonim
Image
Image

Сиз менен бирге ырдагыңыз келген ырды угуп жатасызбы? Сиз адатта гуглга ырдын атын терип, "текст" деген сөздү жазуу менен машыгууңуз керек болчу. Ошондой эле, адатта, көп ката кетирип, баскычтардын бир бөлүгүн туура эмес чыкылдатып, түзмөгүңүздүн сөзсүз артта калуусу менен күрөшүүгө туура келет. Ырдын текстин тапканыңызда, сиздин ырыңыз бүтүп калганын жана бул иштин баары бекер болгонун байкайсыз.

Балким, сиз глобалдык пандемиянын ортосунда турасыз жана досуңуздун телефонун карызга алуу эң сонун идеядай көрүнбөйт, андыктан Караоке Машинасы бурчка илинип калган. Сиз коргоону каалайсыз, бирок ырдын текстин билүү дээрлик маанилүү. Ырды издөө үчүн сизге ыңгайлуу, контактсыз ыкма керек.

Балким, бул эки сценарий анча -мынча апыртмалар (бирок биринчиси сөзсүз түрдө), бирок, ошентсе да, ырлардын тексттери сиздин электрондук почтаңызга жөнөтүлсө, экинчисинде аларды жөнөтүүнү сурансаңыз, бул абдан ыңгайлуу болмок. Мына ушул Instructable (Alexa, Wayscript жана бир аз Python менен бирге) кирет. Жөн эле Alexa'дан сүйүктүү ырыңыздын текстин сураңыз жана бир нече секунданын ичинде алар сиздин кутуңузга жеткирилет.

Жогорку класстын окуучусу катары, мен бул долбоорду абдан пайдалуу деп таптым жана аны кургандан бери аны олуттуу өлчөмдө колдондум (сейрек кездешет - менин долбоорлорумдун көпчүлүгү кол тийбестен бир нече айдан кийин табылганын эске алуу менен).

Бул окуу куралы башталгыч деңгээлде, бирок кирүүдөн мурун Python менен таанышуу пайдалуу.

Жабдуулар

Материалдар:

  1. Amazon Echo/Alexa негизиндеги каалаган акылдуу спикер
  2. WayScript эсеби (Кийинки кадамдарда орнотулат)
  3. RapidAPI эсеби
  4. Кээ бир Python билими (кереги жок, бирок пайдалуу)

1 -кадам: Wayscript жана Alexa орнотуу

Wayscript жана Alexa орнотуу
Wayscript жана Alexa орнотуу
Wayscript жана Alexa орнотуу
Wayscript жана Alexa орнотуу
Wayscript жана Alexa орнотуу
Wayscript жана Alexa орнотуу

Wayscript деген эмне?

Wayscript - бул ар кандай триггерлерди колдонуп программаларды иштетүүгө мүмкүнчүлүк берген күчтүү курал. Биз Alexa триггерин ушул Нускамада колдонобуз, бирок программалык камсыздоону сынап көрүңүз/изилдеңиз - сиз кошо ала турган бардык функциялар бар.

Баштоо үчүн, Wayscript менен каттоо эсебин түзөлү:

  1. 'Бекер баштоо' же 'Катталуу' баскычтарын басыңыз. Мен "Github менен катталуу" опциясын колдондум, анткени ал эң ыңгайлуу болчу.
  2. Аккаунт ачкандан кийин, сиз Wayscriptтин өнүгүү чөйрөсүнө алып барасыз. Баштоодон мурун үйрөткүчтөн өтүү пайдалуу.
  3. Окутууну бүтүргөндөн кийин, профилиңизге өтүңүз. 'Жаңы скрипт түзүү' баскычын чыкылдатыңыз жана сизден долбооруңуздун аталышы талап кылынат. Мен ага "Ырдын тексттери" деп ат койгом, бирок сиз каалаган нерсеңизди атасаңыз болот. Alexaдан сизге текстти жөнөтүүнү суранганыңызда, программанын атын колдоно турганыңызды айтуу оңой болушун камсыздаңыз.
  4. Атыңызды чыгаргандан кийин, "түзүү" баскычын чыкылдатыңыз жана жаңы Wayscript иштеп чыгуу чөйрөсүнө алып келесиз. Биз буга жакында кайтып келебиз.

Улантуудан мурун, Wayscript каттоо эсебиңизди Alexa менен байланыштыралы:

  1. Amazon.com сайтына баш багыңыз жана өзүңүздүн каттоо эсебиңизге кириңиз-тактап айтканда, Alexa иштетилген колонкаңызга туташкан.
  2. Бул шилтемеге өтүңүз: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… жана "иштетүүнү" чыкылдатыңыз. Эгерде шилтеме кандайдыр бир себептерден улам иштебесе, Wayscript Alexa Skill'ди издеңиз - кайра "иштетүү" баскычын басыңыз
  3. Иштетүү баскычын чыкылдаткандан кийин, аны Wayscript каттоо эсебиңизге шилтемелешиңиз керек. "Аккаунтка шилтемени" чыкылдатыңыз жана сиз жолдордун вебсайтына өтүшүңүз керек. Киргенден кийин, "Сиздин каттоо эсебиңиз ийгиликтүү байланыштырылды" деген экран калкып чыгышы керек.

Мунун баарын орноткондон кийин, биз (дээрлик) программалоону баштайбыз!

2 -кадам: RapidAPI эсебин түзүңүз

RapidAPI эсебин түзүңүз
RapidAPI эсебин түзүңүз
RapidAPI эсебин түзүңүз
RapidAPI эсебин түзүңүз
RapidAPI эсебин түзүңүз
RapidAPI эсебин түзүңүз

Ырдын текстин издөө үчүн, RapidAPI аркылуу жеткиликтүү болгон 'Canarado Lyrics API'син колдонобуз. Эгерде сизде RapidAPI эсеби бар болсо, анда бул кадамды өткөрүп жибере аласыз, бирок андай болбосо, окууңузду улантыңыз.

RapidAPI эсебиңизди түзүү менен баштаңыз:

  1. Жогорку оң бурчтун жанындагы 'Катталуу' баскычын чыкылдатыңыз жана алар каалаган варианттар менен катталыңыз (Google, Github, Facebook же үзгүлтүксүз катталуу).
  2. Катталгандан кийин, Canarado Lyrics APIге өтүңүз:

Үчүнчү сүрөттө окшош экранды көрсөңүз, бул кадамды аткардыңыз. Биз акыры программалоону баштоого даярбыз.

3 -кадам: Негизги программаны жазыңыз

Негизги программа жазыңыз
Негизги программа жазыңыз
Негизги программа жазыңыз
Негизги программа жазыңыз
Негизги программа жазыңыз
Негизги программа жазыңыз

Мурунку кадамда айтылгандай, Canarado Lyrics API жайгашкан:

Ал жакка баргандан кийин, "Код үзүндүлөрү" деген аталыш менен экрандын оң жагына өтүңүз. Мен бул үйрөткүчтө Python колдонуп жатам, бирок эгер башка тилди кааласаң, анын ордуна колдон.

'(Node.js) баш аламандык' деген жазуусу бар ачылуучу менюну чыкылдатыңыз жана өзүңүз тандаган тилге өтүңүз. Дагы, мен Python - өзгөчө Python (Сурамдар) колдонуп жатам, анткени бул программа маалыматтын көбү үчүн API хостуна суроо талап кылат. Жогорку оң жактагы "кодду көчүрүү" баскычын басуу менен кодду көчүрүңүз. Бул кодду өзүңүз каалаган код редакторуна чаптаңыз - мен Jupyterдин блокнотунун чөйрөсүн колдоном.

Программаны койгондон кийин, Pythonдун json модулун импорттоңуз. Бул бизге текстти басып чыгарууга мүмкүнчүлүк берет. Төмөнкү кодду үстү жагына кошуңуз (импорттук сурамдардын астында)

json импорттоо

Json модулун импорттогондон кийин, программаңыз мындай болушу керек:

импорттук сурамдар

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"} жооп = request.request ("Get", url, headers = headers) print (answer.text)

Программаңыз окшош экенин текшериңиз (башка API ачкычы менен), андан кийин 'url' өзгөрмөсүнө өтүңүз. Сиз Канарадонун демейки параметри Дензел Карринин "Зенит" экенин байкайсыз. Сиз муну каалаган ырыңызды киргизүү менен өзгөртө аласыз. Мисалы, эгер мен Майкл Джексондун триллерине байланыштуу текст маалыматын издегим келсе, "zenith denzel curry" ордуна "триллерди" киргизе алам, url азыр окшош:

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

Сиз боштуктарды эч тартынбастан кошо аласыз - браузер автоматтык түрдө %2520 символдорду кошот (Сиз аларды демейки urlдагы боштуктардын ордуна байкайсыз). Мисалы, Gangstas Paradiseти издөө мындай болушу мүмкүн:

url = "https://canarado-lyrics.p.rapidapi.com/lyrics/gangstas бейиш"

Программаны "zenith%2520denzel%2520curry" демейки маанисин каалаган ырыңыз менен алмаштырып иштетиңиз. Сиз тексттер басылып чыгарылганын байкайсыз, бирок модада окуу кыйын. Дагы эмне - башка маалыматтар, анын ичинде ырдын жарыкка чыккан күнү, аталышы жана APIнин статусу тууралуу маалымат тексттин каралышына тоскоолдук кылат. Муну кийинки кадамда оңдойлу.

4 -кадам: Текстти форматтоо

Ырдын текстин форматтоо
Ырдын текстин форматтоо

Ырдын текстин окула тургандай форматтоо өтө кыйын эмес. Программалоо боюнча билими бар адамдардын көбү муну оңой эле аткара алышат. Жоопту "текстти" басып чыгаруунун ордуна,.json () ыкмасын колдонолу. Бул API маалыматын сөздүккө уюштурат жана бардыгын бир кыйла жеткиликтүү кылат.

Баштоо үчүн 'answer.json ()' кармоо үчүн өзгөрмөнү түзүңүз. Мен өзгөрмөмдү "маалымат" деп атагам.

маалыматтар = жооп.json ()

Андан кийин, текстке кирүү үчүн төмөнкү 'for' укуругун колдонуңуз.

for i in data ['content']:

басып чыгаруу (i ['lyrics'])

Жогорудагы код маалымат сөздүгүнүн "мазмун" ачкычына өтөт. Мазмун ачкычынын ичинде for цикли сизге 'лирика' баскычына өтүүгө мүмкүнчүлүк берет. Код азыр ушуга окшош болушу керек:

импорттук сурамдар

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"} жооп = request.request ("GET", url, headers = headers) data = response.json () i in data in ['content']: басып чыгаруу (i ['lyrics'])

Бул программаны иштетсеңиз, ырдын тексттери бир топ окулаарын байкайсыз. Кийинки кадамда биз бир нече кошумча өзгөрмөлөрдү кошобуз, ошондо биз ырдын аталышын киргизүү катары колдоно алабыз жана текстти Alexaга чыгара алабыз.

5 -кадам: Киргизүү жана Чыгуу

Киргизүү жана чыгаруу
Киргизүү жана чыгаруу
Киргизүү жана чыгаруу
Киргизүү жана чыгаруу

Буга чейин, биз URLдин аягына ырдын аталышын терип келгенбиз. Биз киргизилген өзгөрмөнү колдонуп, эки сапты (url жана ырдын аталышы) бириктирип алсак жакшы болмок. Муну кылуу чындыгында абдан оңой.

Азырынча Python киргизүү функциясын колдонолу. Биз кодду Wayscriptке жүктөгөндөн кийин, анын ордуна сөзүбүздү кириш катары колдонобуз. Ырдын аталышынын өзгөрмөсүн колдонуучудан "ырдын аталышын киргизүүнү" сураган кириш үчүн түзөлү:

song_title = input ("Ырдын текстин табуу үчүн ырды киргизиңиз:")

Андан кийин, String үчүн Python '+' операторун колдонуп, бул сапты url менен бириктириңиз

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

Эми, сиз программаны иштеткенде, программанын ичинде urlди түзөтүүнүн кажети жок. Анын ордуна, жөн гана ырыңыздын аталышы менен киргизилген жоопко жооп бериңиз, ырдын текстин басып чыгаруу керек.

Сиздин программа азыр ушуга окшош болушу керек:

импорттук сурамдар

import json song = input ("Ырдын текстин табуу үчүн ырды киргизиңиз:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + ырдын баш аттары = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "СИЗДИН-API-АЧУУ-БУЛДА"} жооп = request.request ("Get", url, headers = headers) data = жооп.json () i үчүн маалыматтарда ['мазмуну']: басып чыгаруу (i ['ырдын' '])

Акырында, текстти чыгаруу үчүн өзгөрмөнү түзөлү. Бош сапка өзгөрмө топтомун түзүү менен баштаңыз. Андан кийин, 'i [' lyrics ']' аягына чейин бириктириңиз. For циклинин сыртындагы өзгөрмөнү басып чыгарыңыз.

текст = ""

маалыматта i үчүн ['мазмун']: текст += i ['текст'] басып чыгаруу (текст)

Акыркы программа мындай болушу керек:

импорттук сурамдар

import json song = input ("Ырдын текстин табуу үчүн ырды киргизиңиз:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + ырдын баш аттары = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "СИЗДИН-API-АЧУУ-БУЛДА"} жооп = request.request ("Get", url, headers = headers) data = жооп.json () lyrics = "" for i in data ['content']: lyrics += i ['lyrics'] print (lyrics)

Программа так ошол нерсени басып чыгарат, бирок азыр сизде чыгаруу катары колдоно турган өзгөрмө бар. Эми, акыры, Wayscript менен Alexa жана Email функциясын кошо алабыз.

6 -кадам: Alexa Trigger кошуу

Alexa Trigger кошуу
Alexa Trigger кошуу
Alexa Trigger кошуу
Alexa Trigger кошуу
Alexa Trigger кошуу
Alexa Trigger кошуу

Биринчи триггерди кошуу үчүн 'Trigger кошуу' баскычын чыкылдатыңыз:

  1. Издөө тилкеси пайда болот - "Alexa" издеңиз жана Alexa триггерин байкайсыз. Эгерде сиз буга чейин Alexa триггерин колдоно элек болсоңуз же бул сиздин биринчи долбооруңуз болсо, анда "импорттоону" чыкылдатууңуз керек болот. Импорттолгондон кийин, жөн гана чыкылдатыңыз, жана аны кошуу керек.
  2. Таблетка түрүндөгү которгучту басуу менен триггерди иштетиңиз. Ал жашыл болуп калышы керек. Сол жактагы сиз "Чыгыштар" деп аталган бөлүмдү байкайсыз. "Сүйлөгөн киргизүү" деген кутучаны чыкылдатыңыз жана биздин мурунку song_title өзгөрмөсүнө окшош маанини киргизиңиз. Биз азыр сиз айткан сүйлөмдү мурун колдонулган киргизүү билдирүүсүнүн ордуна колдоно алабыз
  3. Демейки маанини жазганыңызды текшериңиз (балким сиздин сүйүктүү ырларыңыз), ансыз бир нече ката кетиришиңиз мүмкүн.

Кийинки кадамдарда биз Python программабызды, Email жөнөтүү ыкмасын кошобуз жана Alexa бул методдун бүткөнүн ырастайт.

7 -кадам: Python программаңызды кошуу

Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу
Python программаңызды кошуу

Программаңызды учурдагы Wayscript агымына кошуу үчүн, "Кадам кошуу" баскычын басыңыз

  1. Python издеп, Python аракетин басыңыз. Бул триггерди жаңыртып, сол жактагы өтмөк пайда болгонун байкайсыз.
  2. Капталдагы панелдеги программанын үстүнө сүйрөңүз жана сиз "Кодду түзөтүү" баскычы калкып чыкканын көрөсүз. Аны чыкылдатыңыз жана толук экранда редактор пайда болот.
  3. Толук экран редакторунда, биз мурда түзгөн python программасын көчүрүп чаптаңыз.
  4. Биз жазган song_title = input ("….") Өзгөрмөсүн жок кылыңыз жана мурунку кадамда биз айткан оозеки киргизүү өзгөрмөсүн кошуңуз. Мурунку кадамдарда түзүлгөн өзгөрмөлөрдү төмөнкү сол бурчтан тапса болот.
  5. Сиздин жаңы программа жогоруда тиркелген 6 -сүрөттө окшош болушу керек.
  6. Акырында, биз ыр саптарыбыздын өзгөрмөсүн өндүрүш катары коюуну каалайбыз. Бул үчүн программаңыздын түбүнө төмөнкү кодду көчүрүп чаптап коюңуз (же төмөндө же басма сөздүн ордуна)

өзгөрмөлөр ['Song_Lyrics'] = текст

Бул Song_Lyrics деп аталган чыгуучу өзгөрмөнү жаратат жана аны биз мурда жараткан 'тексттин' өзгөрмөсүнө барабар кылат. Сиздин акыркы программа жогоруда тиркелген акыркы сүрөттө окшош болушу керек. Кодду бир эле жолу иштетиңиз - Wayscript эмне болуп жатканын билиши жана сиздин өндүрүм өзгөрмөлөрүңүздү түзүшү үчүн. Бул бир нече мүнөткө созулушу мүмкүн, бирок бул өтө көп убакытты талап кылса, баракты кайра жүктөөңүз керек болот. Wayscript бир нече мүчүлүштүктөрдү камтыйт, андыктан эң начар сценарий скриптти кайра түзүүнү талап кылышы мүмкүн.

8 -кадам: Текстти жөнөтүңүз жана Alexa менен ырастаңыз

Текстти жөнөтүңүз жана Alexa менен ырастаңыз
Текстти жөнөтүңүз жана Alexa менен ырастаңыз
Текстти жөнөтүңүз жана Alexa менен ырастаңыз
Текстти жөнөтүңүз жана Alexa менен ырастаңыз
Текстти жөнөтүңүз жана Alexa менен ырастаңыз
Текстти жөнөтүңүз жана Alexa менен ырастаңыз

Бизде WayScript агымына кошуу үчүн дагы эки кадам бар - сизге өзүңүзгө электрондук кат жөнөтүүгө мүмкүндүк берген кадам жана электрондук кат жөнөтүлгөнүн тастыктаган дагы бир кадам. Келгиле, электрондук почта кадамын түзүү менен баштайлы.

  1. "Add Add" баскычын чыкылдатыңыз, "Email жөнөтүүнү" издеп, сол жагындагы өтмөктү табыңыз
  2. 'Song_Name' (же Song_Title) жана 'Song_Lyrics' сыяктуу мурунку кадамдарда түзүлгөн өзгөрмөлөрдү колдонуңуз
  3. Сиз электрондук почтаны каалагандай форматтай аласыз. Мисалы, мен 'Song_Name' өзгөрмөсүнөн кийин "Lyrics" деген сөздү кошуп койдум жана жогору жагына "Мына сиз сураган ырдын текстин" деген сүйлөмдү кошуп койдум.

Бул скрипт сиз катталган электрондук почтага билдирүү жөнөтөт. Эгерде сиз аны башка электрондук почтага жөнөткүңүз келсе, анын ордуна SMTP Email Action колдонушуңуз мүмкүн.

Акырында, электрондук почта Alexa менен жөнөтүлгөнүн тастыктайлы.

  1. "Кадам кошуу" баскычын чыкылдатып, кайра "Alexa" издеңиз. Alexa аракетин кошуңуз.
  2. Мен муну электрондук почта жөнөтүлгөндөн кийин, Alexa "[Song_Name] үчүн тексттер жөнөтүлдү" деп айттым

Бүттүңүз! "Run" баскычын чыкылдатуу менен программаны бир жолу иштетиңиз. Эгер каталар жок болсо, аны азыр Alexa менен колдоно аласыз.

9 -кадам: Сиз бүттүңүз

Аны Alexa менен колдонуу үчүн төмөнкү буйруктарды колдонушуңуз керек:

'Alexa, Wayscriptти ишке киргизиңиз'

Alexa Wayscript ишке киргизилгенин ырастагандан кийин, мындай деп айт:

'[Программанын аталышын] [Ырдын аты] менен иштетүү'

Мисалы, менин программам "Ырдын тексттери" деп аталат - Эгерде мен Alexaдан мага триллерге текст жөнөтүшүн кааласам, мен мындай деп айтам:

'Триллер менен ыр ырларынын тексттерин иштетүү'

Сунушталууда: