Isi kandungan:

"Alexa, Kirimkan Saya Lirik ke _____": 9 Langkah (dengan Gambar)
"Alexa, Kirimkan Saya Lirik ke _____": 9 Langkah (dengan Gambar)

Video: "Alexa, Kirimkan Saya Lirik ke _____": 9 Langkah (dengan Gambar)

Video:
Video: DRONE MENANGKAP NAMPAK SKIBIDI TOILET DOM DOM VS MECHA SPEAKERMAN? | KASIHAN SAPUTRA | Mikael TubeHD 2024, Disember
Anonim
Image
Image

Mendengarkan lagu yang anda mahu nyanyikan bersama? Anda biasanya harus melalui tugas sukar untuk memasukkan nama lagu ke google, diikuti dengan kata "lirik". Anda juga biasanya membuat banyak kesalahan ketik, salah mengklik sejumlah kunci, dan harus menghadapi kelewatan yang tidak dapat dielakkan dari peranti anda. Pada saat anda menjumpai lirik, anda dapati lagu anda sudah habis dan semua kerja itu sia-sia.

Mungkin anda berada di tengah-tengah wabak global dan meminjam telefon rakan anda bukanlah idea terbaik, apalagi menyentuh Mesin Karaoke yang tersembunyi di sudut. Anda mahu dilindungi, tetapi mengetahui lirik lagu hampir sama pentingnya. Anda memerlukan kaedah yang mudah dihubungi untuk mencari lirik.

Mungkin kedua-dua senario itu adalah keterlaluan (yang pertama lebih pasti), tetapi tetap saja, apabila lirik lagu dihantar terus ke e-mel anda, kedua yang anda minta untuk dihantar tentu akan sangat menyenangkan. Di sinilah Instructable ini (bersama Alexa, Wayscript dan sedikit Python) masuk. Tanya saja Alexa lirik lagu kegemaran anda dan dalam beberapa saat mereka akan dihantar terus ke peti masuk anda.

Sebagai pelajar sekolah menengah yang masuk ke tahun senior saya, saya mendapati projek ini cukup berguna dan sebenarnya telah menggunakannya dengan banyak sejak membinanya (jarang - memandangkan kebanyakan projek saya dijumpai tidak tersentuh beberapa bulan kemudian).

Tutorial ini cukup peringkat awal, tetapi sangat berguna untuk mengetahui beberapa Python sebelum masuk.

Bekalan

Bahan:

  1. Amazon Echo / Mana-mana Pembesar suara pintar berasaskan Alexa
  2. Akaun WayScript (Akan disiapkan dalam langkah berikut)
  3. Akaun RapidAPI
  4. Beberapa Pengetahuan Python (Tidak perlu, tetapi bermanfaat)

Langkah 1: Siapkan Wayscript dan Alexa

Sediakan Wayscript dan Alexa
Sediakan Wayscript dan Alexa
Sediakan Wayscript dan Alexa
Sediakan Wayscript dan Alexa
Siapkan Wayscript dan Alexa
Siapkan Wayscript dan Alexa

Apa itu Wayscript?

Wayscript adalah alat yang kuat yang membolehkan anda menjalankan program menggunakan pelbagai pencetus. Kami akan menggunakan pencetus Alexa dalam Instructable ini, tetapi jangan ragu untuk bereksperimen / meneroka perisian - terdapat pelbagai fungsi yang dapat anda tambahkan.

Untuk memulakan, mari buat akaun dengan Wayscript:

  1. Klik pada butang 'Bermula Secara Percuma' atau 'Daftar'. Saya menggunakan pilihan 'Daftar dengan Github' kerana terasa paling senang.
  2. Setelah membuat akaun, anda akan menuju ke persekitaran pengembangan Wayscript. Sangat berguna untuk membaca tutorial sebelum kita memulakan.
  3. Setelah menyelesaikan tutorial, arahkan ke profil anda. Klik pada butang 'Buat skrip baru' dan anda akan diminta untuk menamakan projek anda. Saya telah menamakannya 'Lirik Lagu', tetapi anda boleh menamakannya apa sahaja yang anda mahukan. Pastikan anda senang mengatakannya kerana anda akan menggunakan nama program ketika meminta Alexa mengirimkan lirik kepada anda.
  4. Setelah membuat nama, klik butang 'buat' dan anda akan menuju ke persekitaran pengembangan Wayscript yang baru. Kita akan kembali kepada perkara ini tidak lama lagi.

Sebelum meneruskan, mari sambungkan akaun Wayscript anda ke Alexa:

  1. Pergi ke amazon.com dan log masuk ke akaun anda - khususnya akaun yang disambungkan ke pembesar suara berkemampuan Alexa anda.
  2. Pergi ke pautan ini: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… dan klik 'aktifkan'. Sekiranya pautan tidak berfungsi dengan alasan apa pun, cari Skill Wayscript Alexa - sekali lagi, klik 'aktifkan'
  3. Setelah mengklik aktifkan, anda mesti memautkannya ke akaun Wayscript anda. Klik 'Pautkan Akaun' dan anda harus menuju ke laman web script. Setelah anda log masuk, skrin yang mengatakan 'Akaun anda telah berjaya dihubungkan' akan muncul.

Setelah anda menetapkan semua ini, kita dapat (hampir) memulakan pengaturcaraan!

Langkah 2: Buat Akaun RapidAPI

Buat Akaun RapidAPI
Buat Akaun RapidAPI
Buat Akaun RapidAPI
Buat Akaun RapidAPI
Buat Akaun RapidAPI
Buat Akaun RapidAPI

Untuk mencari lirik lagu, kami akan menggunakan 'Canarado Lyrics API' yang dapat diakses melalui RapidAPI. Sekiranya anda sudah mempunyai akaun RapidAPI, anda boleh melangkau langkah ini, tetapi jika tidak, teruskan membaca.

Mulakan dengan membuat akaun RapidAPI anda:

  1. Klik Butang 'Daftar' di sudut kanan atas dan daftar dengan mana-mana pilihan yang mereka ada (Google, Github, Facebook atau pendaftaran biasa).
  2. Setelah mendaftar, pergi ke Canarado Lyrics API:

Sekiranya anda melihat skrin yang serupa dengan gambar ketiga yang dilampirkan di atas, anda telah menyelesaikan langkah ini. Kami akhirnya bersedia untuk memulakan pengaturcaraan.

Langkah 3: Tulis Program Asas

Tulis Program Asas
Tulis Program Asas
Tulis Program Asas
Tulis Program Asas
Tulis Program Asas
Tulis Program Asas

Seperti yang disebutkan pada langkah sebelumnya, Canarado Lyrics API terletak di:

Sesampai di sana, menuju ke separuh kanan skrin dengan tajuk 'Code Snippets'. Saya akan menggunakan Python dalam arahan ini, tetapi jika anda lebih suka bahasa lain, terus gunakan dan sebaliknya.

Klik pada menu dropdown dengan label '(Node.js) Unrest' dan arahkan ke bahasa pilihan anda. Sekali lagi, saya akan menggunakan Python - khususnya Python (Permintaan) - kerana program ini memerlukan permintaan kepada host API untuk sebahagian besar maklumat. Salin kod dengan mengklik butang 'copy code' di sebelah kanan atas. Tampal kod ini ke dalam editor kod pilihan anda - Saya akan menggunakan persekitaran Notebook Jupyter.

Setelah anda menampal program, import modul json Python. Ini akan membolehkan kita mencetak lirik. Tambahkan kod berikut di bahagian atas (di bawah permintaan import)

import json

Setelah anda mengimport modul json, program anda akan kelihatan seperti ini:

permintaan import

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': "ANDA-API-KEY-SINI"} respons = request.request ("GET", url, headers = headers) cetak (respons.text)

Pastikan program anda kelihatan serupa (dengan Kunci API yang berbeza) dan kemudian menuju ke pemboleh ubah 'url'. Anda akan melihat bahawa parameter lalai Canarado adalah 'Zenith' oleh Denzel Curry. Anda boleh mengubahnya dengan memasukkan lagu yang anda suka. Sebagai contoh, jika saya ingin mencari maklumat lirik mengenai Thriller Michael Jackson, saya boleh memasukkan "thriller" sebagai ganti "zenith denzel curry", sehingga url sekarang kelihatan seperti:

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

Anda juga boleh menambah ruang tanpa ragu - penyemak imbas akan menambahkan aksara% 2520 secara automatik (Anda akan melihatnya sebagai tempat di ruang dalam url lalai). Contohnya, carian untuk Gangstas Paradise mungkin kelihatan seperti ini:

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

Jalankan program dengan menggantikan nilai lalai "zenith% 2520denzel% 25curry" dengan lagu pilihan anda. Anda akan melihat bahawa liriknya dicetak, tetapi dengan cara yang sukar dibaca. Lebih-lebih lagi - maklumat lain, termasuk tarikh tayangan lagu, tajuk dan maklumat status API menghalang pandangan lirik. Mari perbaiki ini pada langkah seterusnya.

Langkah 4: Memformat Lirik

Memformat Lirik
Memformat Lirik

Memformat lirik supaya dapat dibaca tidak terlalu sukar. Sebilangan besar orang yang mempunyai pengetahuan tentang pengaturcaraan akan dapat melakukannya dengan mudah. Daripada hanya mencetak "respons.text", mari gunakan kaedah.json (). Ini akan menyusun maklumat API ke dalam kamus dan menjadikan semuanya lebih mudah diakses.

Untuk memulakan, buat pemboleh ubah untuk menahan 'response.json ()'. Saya telah menamakan pemboleh ubah saya 'data'.

data = tindak balas.json ()

Seterusnya, gunakan gelung 'untuk' berikut untuk mengakses lirik.

untuk i dalam data ['content']:

cetak (i ['lirik'])

Kod di atas menavigasi ke kekunci 'kandungan' kamus data. Dalam kunci kandungan, loop for membolehkan anda menavigasi ke kunci 'lirik'. Kini kodnya kelihatan serupa dengan ini:

permintaan import

import json url = "https://canarado-lyrics.p.rapidapi.com/lyrics/YOUR-SONG-HERE" headers = {'x-quickapi-host': "canarado-lyrics.p.rapidapi.com", 'x-Rapidapi-key': "ANDA-API-KEY-SINI"} respons = request.request ("GET", url, headers = headers) data = response.json () untuk i dalam data ['content']: cetak (i ['lirik'])

Jalankan program ini dan anda akan melihat bahawa liriknya jauh lebih mudah dibaca. Pada langkah berikutnya kita akan menambahkan beberapa pemboleh ubah tambahan, sehingga kita dapat menggunakan judul lagu sebagai input dan agar kita dapat mengeluarkan liriknya kepada Alexa.

Langkah 5: Input dan Output

Input dan Keluaran
Input dan Keluaran
Input dan Keluaran
Input dan Keluaran

Setakat ini, kami telah menaip tajuk lagu di hujung URL. Alangkah baiknya jika kita dapat menggunakan pemboleh ubah dari input dan menggabungkan dua rentetan (url dan judul lagu). Melakukannya sebenarnya sangat mudah.

Buat masa ini, mari kita gunakan fungsi input Python. Sebaik sahaja kami memuat naik kod ke Wayscript, kami akan menggunakan ucapan kami sebagai input. Mari buat set pemboleh ubah tajuk lagu ke input yang meminta pengguna untuk "memasukkan judul lagu":

song_title = input ("Masukkan lagu untuk mencari lirik untuk:")

Kemudian, gabungkan rentetan ini ke url, menggunakan operator '+' Python's untuk Strings

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

Sekarang, semasa anda menjalankan program, anda tidak perlu lagi mengedit url dalam program. Sebagai gantinya, cukup balas input dengan tajuk lagu anda, dan lirik lagu harus dicetak.

Program anda sekarang seharusnya kelihatan serupa dengan ini:

permintaan import

import lagu json = input ("Masukkan lagu untuk mencari lirik untuk:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + tajuk lagu = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-quickapi-key': "ANDA-API-KEY-SINI"} respons = request.request ("GET", url, headers = headers) data = tindak balas.json () untuk i dalam data ['content']: cetak (i ['lirik'])

Akhirnya, mari buat pemboleh ubah untuk mengeluarkan lirik. Mulakan dengan membuat set pemboleh ubah ke rentetan kosong. Kemudian, gabungkan 'i [' lirik ']' hingga akhir. Cetak pemboleh ubah di luar gelung untuk.

lirik = ""

untuk i dalam data ['content']: lirik + = i ['lirik'] cetak (lirik)

Program akhir kelihatan seperti ini:

permintaan import

import lagu json = input ("Masukkan lagu untuk mencari lirik untuk:") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + tajuk lagu = {'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-quickapi-key': "ANDA-API-KEY-SINI"} respons = request.request ("GET", url, headers = headers) data = respons.json () lirik = "" for i in data ['content']: lirik + = i ['lirik'] cetak (lirik)

Program ini akan mencetak perkara yang sama, tetapi sekarang anda mempunyai pemboleh ubah yang boleh anda gunakan sebagai output. Sekarang, kita akhirnya dapat menambahkan fungsi Alexa dan E-mel dengan Wayscript.

Langkah 6: Menambah Pencetus Alexa

Menambah Pencetus Alexa
Menambah Pencetus Alexa
Menambah Pencetus Alexa
Menambah Pencetus Alexa
Menambah Pencetus Alexa
Menambah Pencetus Alexa

Untuk menambahkan pencetus pertama anda, klik pada butang 'Tambah Pencetus':

  1. Bar carian akan muncul - cari 'Alexa' dan anda akan melihat pencetus Alexa. Sekiranya anda belum menggunakan pencetus Alexa sebelum ini, atau jika ini adalah projek pertama anda, anda mungkin perlu mengklik 'import'. Setelah diimport, cukup klik padanya, dan ia mesti ditambah.
  2. Aktifkan pencetus dengan mengklik suis berbentuk pil. Ia mesti menjadi hijau. Di sebelah kiri, anda akan melihat bahagian yang bertuliskan 'Outputs'. Klik pada kotak pilihan yang bertuliskan 'Spoken Input' dan masukkan nilai yang serupa dengan pemboleh ubah lagu_title kami sebelumnya. Kami sekarang dapat menggunakan input lisan anda sebagai ganti pernyataan input yang telah kami gunakan sebelumnya
  3. Pastikan bahawa anda telah menulis nilai lalai (mungkin lagu kegemaran anda), kerana tanpa salah, anda mungkin mengalami beberapa kesalahan.

Pada langkah seterusnya, kami akan menambahkan Program Python kami, kaedah Kirim E-mel dan kami akan meminta Alexa mengesahkan bahawa kaedahnya telah lengkap.

Langkah 7: Menambah Program Python Anda

Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda
Menambah Program Python Anda

Untuk menambahkan program anda ke aliran Wayscript semasa anda, klik 'Add Step'

  1. Cari Python dan klik pada tindakan Python. Ini akan menyegarkan pemicu dan anda akan melihat tab sebelah kiri muncul.
  2. Arahkan kursor ke program di panel sisi dan anda akan melihat butang 'Edit Kod' muncul. Klik padanya dan editor skrin penuh akan muncul.
  3. Dalam editor skrin penuh, salin dan tampal program python yang telah kami buat sebelumnya.
  4. Padamkan pembolehubah song_title = input ("….") Yang telah kami tulis dan tambahkan pemboleh ubah input lisan yang kami buat pada langkah sebelumnya. Pemboleh ubah yang dibuat pada langkah sebelumnya boleh didapati di sudut kiri bawah.
  5. Program baru anda akan kelihatan serupa dengan gambar ke-6 yang dilampirkan di atas.
  6. Akhirnya, kami ingin menetapkan pemboleh ubah lirik kami sebagai output. Untuk melakukan ini, salin dan tampal kod berikut di bahagian bawah program anda (sama ada di bawah atau di tempat penyataan cetak)

pemboleh ubah ['Song_Lyrics'] = lirik

Ini membuat pemboleh ubah output yang disebut Song_Lyrics dan menetapkannya sama dengan pemboleh ubah 'lirik' yang telah kita buat sebelumnya. Program akhir anda akan kelihatan seperti gambar terakhir yang dilampirkan di atas. Jalankan kod sekali sahaja - supaya Wayscript mengetahui apa yang sedang berlaku dan dapat membuat pemboleh ubah output anda. Ini mungkin memerlukan beberapa saat, tetapi jika terlalu lama, anda mungkin perlu memuatkan semula halaman. Wayscript memang mengandungi beberapa bug, jadi senario terburuk mungkin memerlukan pembuatan semula skrip.

Langkah 8: Hantarkan Lirik dan Sahkan Dengan Alexa

Hantarkan Lirik dan Sahkan Dengan Alexa
Hantarkan Lirik dan Sahkan Dengan Alexa
Hantarkan Lirik dan Sahkan Dengan Alexa
Hantarkan Lirik dan Sahkan Dengan Alexa
Hantarkan Lirik dan Sahkan Dengan Alexa
Hantarkan Lirik dan Sahkan Dengan Alexa

Kami mempunyai dua langkah lagi untuk menambah aliran WayScript kami - langkah yang membolehkan anda menghantar e-mel kepada diri sendiri dan satu lagi yang mengesahkan bahawa e-mel telah dihantar. Mari mulakan dengan membuat langkah e-mel.

  1. Klik 'Tambah Langkah', cari 'Hantar E-mel' dan cari tab sebelah kiri
  2. Gunakan pemboleh ubah yang dibuat pada langkah sebelumnya seperti 'Song_Name' (atau Song_Title) dan 'Song_Lyrics'
  3. Anda boleh memformat e-mel mengikut kehendak anda. Sebagai contoh, saya telah menambahkan perkataan "Lirik" selepas pemboleh ubah 'Song_Name' dan telah menambahkan ayat "Inilah lirik lagu yang anda minta" di bahagian atas.

Skrip ini akan menghantar mesej ke e-mel yang telah anda daftarkan. Sekiranya anda ingin menghantarnya ke e-mel lain, anda mungkin harus menggunakan Tindakan E-mel SMTP sebagai gantinya.

Akhirnya, mari mengesahkan bahawa e-mel telah dihantar bersama Alexa.

  1. Klik 'Tambah Langkah' dan cari 'Alexa' sekali lagi. Tambahkan tindakan Alexa.
  2. Saya telah menyiapkannya supaya setelah e-mel dihantar, Alexa mengatakan 'Lirik untuk [Song_Name] telah dihantar'

Anda sudah selesai! Jalankan program sekali dengan mengklik butang 'Run'. Sekiranya tidak ada kesilapan, kini anda dapat menggunakannya dengan Alexa.

Langkah 9: Anda Selesai

Untuk menggunakannya dengan Alexa, anda harus menggunakan arahan berikut:

'Alexa, lancarkan Wayscript'

Setelah Alexa mengesahkan bahawa Wayscript telah dilancarkan, katakan:

'Jalankan [Nama Program] dengan [Nama Lagu]'

Sebagai contoh, program saya dinamakan 'Lirik Lagu' - Sekiranya saya mahu Alexa menghantar lirik saya kepada Thriller, saya akan mengatakan:

'Jalankan Lirik Lagu dengan Thriller'

Disyorkan: