Оглавление:
- Запасы
- Шаг 1. Настройте Wayscript и Alexa
- Шаг 2. Создайте учетную запись RapidAPI
- Шаг 3: напишите базовую программу
- Шаг 4: Форматирование текста
- Шаг 5: входы и выходы
- Шаг 6. Добавление триггера Alexa
- Шаг 7: Добавление вашей программы Python
- Шаг 8: отправьте текст и подтвердите с помощью Alexa
- Шаг 9: Готово
Видео: «Алекса, отправь мне текст на _____»: 9 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Слушаете песню, которой хотите подпевать? Обычно вам приходится выполнять утомительную задачу: ввести название песни в Google, за которым следует слово «текст». Вы также обычно делаете достаточно много опечаток, неправильно нажимаете определенное количество клавиш и сталкиваетесь с неизбежной задержкой вашего устройства. К тому времени, как вы находите тексты, вы обнаруживаете, что ваша песня закончена, и вся эта работа была напрасной.
Возможно, вы находитесь в эпицентре глобальной пандемии, и одолжение телефона друга не кажется лучшей идеей, не говоря уже о том, чтобы прикасаться к караоке-машине, спрятанной в углу. Вы хотите быть защищены, но знание текста песни не менее важно. Вам нужен удобный бесконтактный метод поиска текстов песен.
Возможно, оба этих сценария являются небольшим преувеличением (первый - определенно в большей степени), но все же, если текст песни будет отправлен прямо на вашу электронную почту, как только вы попросите его отправить, было бы, безусловно, довольно удобно. Вот тут-то и пригодится этот Instructable (вместе с Alexa, Wayscript и немного Python). Просто попросите у Alexa текст вашей любимой песни, и через несколько секунд они будут доставлены прямо в ваш почтовый ящик.
Будучи старшеклассником, идущим на выпускной курс, я обнаружил, что этот проект довольно полезен, и на самом деле использовал его в значительной степени с момента его создания (редкость - учитывая, что большинство моих проектов остаются нетронутыми спустя несколько месяцев).
Это руководство предназначено для начинающих, но перед тем, как приступить к работе, полезно немного узнать о Python.
Запасы
Материалы:
- Amazon Echo / любая умная колонка на базе Alexa
- Учетная запись WayScript (будет настроена на следующих этапах)
- Учетная запись RapidAPI
- Некоторые знания Python (не обязательно, но полезно)
Шаг 1. Настройте Wayscript и Alexa
Что такое Wayscript?
Wayscript - мощный инструмент, позволяющий запускать программы с использованием различных триггеров. Мы будем использовать триггер Alexa в этом руководстве, но не стесняйтесь экспериментировать / исследовать программное обеспечение - вы можете добавить всевозможные функции.
Для начала создадим учетную запись с помощью Wayscript:
- Нажмите кнопку «Начать бесплатно» или «Зарегистрироваться». Я воспользовался опцией «Зарегистрироваться на Github», так как она мне показалась наиболее удобной.
- После создания учетной записи вы попадете в среду разработки Wayscript. Перед тем, как мы начнем, полезно ознакомиться с руководством.
- По завершении обучения перейдите в свой профиль. Нажмите кнопку «Создать новый скрипт», и вам будет предложено назвать ваш проект. Я назвал его «Тексты песен», но вы можете называть его как хотите. Просто убедитесь, что это легко произнести, поскольку вы будете использовать имя программы, когда просите Alexa прислать вам текст.
- После того, как вы сделали свое имя, нажмите кнопку «Создать», и вы попадете в новую среду разработки Wayscript. Мы скоро вернемся к этому.
Прежде чем мы продолжим, давайте подключим вашу учетную запись Wayscript к Alexa:
- Перейдите на amazon.com и войдите в свою учетную запись - в частности, в ту, которая подключена к вашему динамику с поддержкой Alexa.
- Перейдите по этой ссылке: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… и нажмите «включить». Если ссылка не работает по какой-либо причине, найдите Wayscript Alexa Skill - снова нажмите `` включить ''
- После того, как вы нажали включить, вы должны привязать его к своей учетной записи Wayscript. Нажмите «Связать учетную запись», и вы попадете на сайт waycript. После входа в систему должен появиться экран с сообщением «Ваша учетная запись была успешно связана».
Как только вы все это настроите, мы можем (почти) приступить к программированию!
Шаг 2. Создайте учетную запись RapidAPI
Для поиска текста песни мы будем использовать Canarado Lyrics API, доступный через RapidAPI. Если у вас уже есть учетная запись RapidAPI, вы можете пропустить этот шаг, а если нет, продолжайте чтение.
Начните с создания учетной записи RapidAPI:
- Нажмите кнопку «Зарегистрироваться» в правом верхнем углу и зарегистрируйтесь с помощью любого из имеющихся у них вариантов (Google, Github, Facebook или обычная регистрация).
- После регистрации перейдите к API Canarado Lyrics:
Если вы видите экран, похожий на третье изображение, прикрепленное выше, вы выполнили этот шаг. Наконец-то мы готовы приступить к программированию.
Шаг 3: напишите базовую программу
Как упоминалось на предыдущем шаге, API Canarado Lyrics находится по адресу:
Оказавшись там, перейдите в правую половину экрана с заголовком «Фрагменты кода». В этом руководстве я буду использовать Python, но если вы предпочитаете другой язык, используйте его.
Щелкните раскрывающееся меню с надписью «(Node.js) Unrest» и перейдите к нужному языку. Опять же, я буду использовать Python, в частности Python (запросы), поскольку этой программе требуется запрос к хосту API для получения большей части информации. Скопируйте код, нажав кнопку «Копировать код» в правом верхнем углу. Вставьте этот код в выбранный вами редактор кода - я буду использовать среду Jupyter Notebook.
После того, как вы вставили программу, импортируйте модуль 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"} response = requests.request ("GET", url, headers = headers) print (response.text)
Убедитесь, что ваша программа похожа (с другим ключом API), а затем перейдите к переменной url. Вы заметите, что параметр Canarado по умолчанию - «Зенит» Дензела Карри. Вы можете изменить это, введя любую понравившуюся песню. Например, если я хочу найти информацию о текстах песен о «Триллере Майкла Джексона», я могу ввести «триллер» вместо «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 paradise"
Запустите программу, заменив значение по умолчанию "zenith% 2520denzel% 2520curry" любой песней по вашему выбору. Вы заметите, что тексты песен распечатаны, но их трудно читать. Более того, другая информация, включая дату выпуска песни, название и информацию о статусе API, мешает просмотру текста. Давайте исправим это на следующем шаге.
Шаг 4: Форматирование текста
Отформатировать тексты песен так, чтобы они были удобочитаемыми, не так уж сложно. Большинство людей, обладающих некоторыми знаниями в области программирования, смогут сделать это довольно легко. Вместо того, чтобы просто выводить «response.text», давайте воспользуемся методом.json (). Это упорядочит информацию API в словаре и сделает все намного более доступным.
Для начала создайте переменную для хранения response.json (). Я назвал свою переменную data.
data = response.json ()
Затем используйте следующий цикл for для доступа к тексту песен.
для i в data ['content']:
печать (я ['текст'])
Приведенный выше код переходит к ключу содержимого словаря данных. Внутри клавиши содержимого цикл 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"} response = requests.request ("GET", url, headers = headers) data = response.json () for i in data ['content']: print (я ['текст'])
Запустите эту программу, и вы заметите, что тексты песен стали более читабельными. На следующем шаге мы добавим несколько дополнительных переменных, чтобы мы могли использовать название песни в качестве входных данных и чтобы мы могли вывести текст в Alexa.
Шаг 5: входы и выходы
До сих пор мы вводили название песни в конце URL-адреса. Было бы неплохо, если бы мы могли использовать переменную из ввода и объединить две строки (URL-адрес и название песни). Сделать это на самом деле довольно просто.
А пока воспользуемся функцией ввода Python. После того, как мы загрузим код в Wayscript, вместо этого мы будем использовать нашу речь в качестве входных данных. Давайте создадим переменную названия песни, установленную для ввода, который просит пользователя «ввести название песни»:
song_title = input ("Введите песню, чтобы найти текст для:")
Затем объедините эту строку с URL-адресом, используя оператор Python '+' для строк.
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song_title
Теперь, когда вы запускаете программу, вам больше не нужно редактировать URL-адрес в программе. Вместо этого просто ответьте на ввод, указав название своей песни, и текст песни должен быть распечатан.
Теперь ваша программа должна выглядеть примерно так:
запросы на импорт
import json song = input ("Введите песню, чтобы найти текст для:") 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 () для i в data ['content']: print (i ['lyrics'])
Наконец, давайте создадим переменную для вывода текста песни. Начните с создания переменной, установленной в пустую строку. Затем присоедините 'i [' lyrics ']' к его концу. Распечатайте переменную вне цикла for.
lyrics = ""
for i in data ['content']: lyrics + = i ['lyrics'] print (текст)
Окончательная программа должна выглядеть так:
запросы на импорт
import json song = input ("Введите песню, чтобы найти текст для:") 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 (текст)
Программа напечатает то же самое, но теперь у вас есть переменная, которую вы можете использовать в качестве вывода. Теперь мы, наконец, можем добавить функции Alexa и электронной почты с помощью Wayscript.
Шаг 6. Добавление триггера Alexa
Чтобы добавить свой первый триггер, нажмите кнопку «Добавить триггер»:
- Появится панель поиска - найдите «Alexa», и вы заметите триггер Alexa. Если до этого вы не использовали триггер Alexa или это ваш первый проект, возможно, вам придется нажать «Импорт». После импорта просто нажмите на него, и он должен быть добавлен.
- Включите триггер, нажав на переключатель в форме таблетки. Он должен стать зеленым. Слева вы увидите раздел «Выходы». Установите флажок «Разговорный ввод» и введите значение, аналогичное нашей предыдущей переменной song_title. Теперь мы можем использовать ваш голосовой ввод вместо оператора ввода, который мы использовали ранее.
- Убедитесь, что вы ввели значение по умолчанию (возможно, ваши любимые песни), так как без него вы можете столкнуться с несколькими ошибками.
На следующих шагах мы добавим нашу программу Python, метод отправки электронной почты, и мы попросим Alexa подтвердить, что метод был завершен.
Шаг 7: Добавление вашей программы Python
Чтобы добавить свою программу в текущий поток Wayscript, нажмите «Добавить шаг».
- Найдите Python и щелкните действие Python. Это должно обновить триггер, и вы заметите, что появилась левая вкладка.
- Наведите указатель мыши на программу на боковой панели, и вы увидите всплывающую кнопку «Изменить код». Щелкните по нему, и появится полноэкранный редактор.
- В полноэкранном редакторе скопируйте и вставьте программу python, которую мы создали ранее.
- Удалите записанную нами переменную song_title = input ("….") И добавьте переменную голосового ввода, созданную на предыдущем шаге. Переменные, созданные на предыдущих шагах, можно найти в нижнем левом углу.
- Ваша новая программа должна быть похожа на шестое изображение, прикрепленное выше.
- Наконец, мы хотим установить нашу переменную текста в качестве вывода. Для этого скопируйте и вставьте следующий код внизу вашей программы (либо ниже, либо вместо оператора печати).
переменные ['Song_Lyrics'] = текст
Это создает выходную переменную Song_Lyrics и устанавливает ее равной переменной 'lyrics', которую мы создали ранее. Ваша последняя программа должна выглядеть так же, как последнее изображение, прикрепленное выше. Запустите код только один раз, чтобы Wayscript знал, что происходит, и мог создавать ваши выходные переменные. Это может занять некоторое время, но если это займет слишком много времени, вам, возможно, придется перезагрузить страницу. Wayscript действительно содержит несколько ошибок, поэтому в худшем случае может потребоваться воссоздание сценария.
Шаг 8: отправьте текст и подтвердите с помощью Alexa
У нас есть еще два шага, которые нужно добавить в наш поток WayScript - шаг, который позволяет вам отправить электронное письмо самому себе, и шаг, подтверждающий, что электронное письмо было отправлено. Начнем с создания шага электронной почты.
- Нажмите «Добавить шаг», найдите «Отправить электронное письмо» и найдите вкладку слева.
- Используйте переменные, созданные на предыдущих шагах, например Song_Name (или Song_Title) и Song_Lyrics.
- Вы можете отформатировать письмо как хотите. Например, я добавил слово «Lyrics» после переменной «Song_Name» и добавил предложение «Вот текст песни, которую вы запросили» вверху.
Этот скрипт отправит сообщение на адрес электронной почты, на который вы зарегистрировались. Если вы хотите отправить его на другой адрес электронной почты, вам, возможно, придется использовать действие по электронной почте SMTP.
Наконец, давайте подтвердим, что письмо было отправлено с помощью Alexa.
- Нажмите «Добавить шаг» и снова выполните поиск «Alexa». Добавьте действие Alexa.
- Я настроил его так, чтобы после отправки электронного письма Алекса сообщала: «Текст для [Song_Name] отправлен»
Вы закончили! Запустите программу один раз, нажав кнопку «Выполнить». Если ошибок нет, теперь вы можете использовать его с Alexa.
Шаг 9: Готово
Чтобы использовать его с Alexa, вам нужно будет использовать следующие команды:
«Алекса, запусти Wayscript»
Как только Alexa подтвердит, что Wayscript запущен, скажите:
"Запустить [Название программы] с [Название песни]"
Например, моя программа называется «Тексты песен». Если я хочу, чтобы Алекса прислала мне текст для Thriller, я скажу:
"Run Song Lyrics with Thriller"
Рекомендуемые:
Напомнить мне принять лекарство: 5 шагов
Напомни мне принять лекарство Машина: это машина, которая может напоминать вам о приеме лекарства. Люди часто забывают принимать лекарства перед сном или перед выходом из дома. Когда вы проходите мимо аппарата, из него будет выпадать лекарство, поэтому положите его туда, где вы обычно проходите, например, возле кровати
Как заставить Алексу сказать мне любовь !: 7 шагов
Как заставить Алексу сказать мне любовь !: 1) легко; 2) недорого; 3) AI
Эдисон делает мне кофе (код): 3 шага
Edison Makes Me a Coffee (код): этот проект позволит вам запускать действие (например, подавать кофе) после обнаружения клиента WiFi в сети Wi-Fi (например, когда вы или ваши сотрудники добираетесь до вашего офиса)
Кто за дверью, система камер с активированной Алекса: 3 шага
Кто за дверью, система камер с активированной системой Alexa: иногда во время просмотра телевизора вы не хотите открывать дверь, если это не важно. Этот проект позволяет вам увидеть человека у двери, просто сказав устройству Amazon Echo: «Алекса, включи дверной монитор». Вы проверяете, кто появляется
Алекса и лампа с переключателем: 3 шага (с изображениями)
Алекса и лампа с переключателем: Amazon Echo - отличный комплект! Мне нравится идея устройств, активируемых голосом! Я хотел сделать свою собственную лампу с управлением от Alexa, но оставить ручной переключатель в качестве опции. Я поискал в Интернете и нашел эмулятор WEMO, который, посмотрев на другие опции