Sommario:
- Forniture
- Passaggio 1: imposta Wayscript e Alexa
- Passaggio 2: crea un account RapidAPI
- Passaggio 3: scrivere un programma di base
- Passaggio 4: formattazione dei testi
- Passaggio 5: ingressi e uscite
- Passaggio 6: aggiunta del trigger Alexa
- Passaggio 7: aggiunta del programma Python
- Passaggio 8: invia i testi e conferma con Alexa
- Passaggio 9: hai finito
Video: "Alexa, inviami i testi a _____": 9 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Ascolti una canzone con cui vuoi cantare? Normalmente dovresti passare attraverso l'arduo compito di digitare il nome della canzone su google, seguito dalla parola "testi". Normalmente faresti anche una grande quantità di errori di battitura, cliccheresti male su una certa quantità di tasti e dovresti affrontare l'inevitabile ritardo del tuo dispositivo. Quando trovi i testi, scopri che la tua canzone è finita e che tutto quel lavoro è stato inutile.
Forse sei nel bel mezzo di una pandemia globale e prendere in prestito il telefono del tuo amico non sembra la migliore idea, tanto meno toccante che Karaoke Machine ha nascosto nell'angolo. Vuoi essere protetto, ma conoscere il testo della canzone è quasi altrettanto essenziale. Hai bisogno di un metodo conveniente e senza contatto per cercare i testi.
Forse entrambi questi scenari sono lievi esagerazioni (il primo sicuramente lo è di più), ma comunque, avere i testi delle canzoni inviati direttamente alla tua e-mail nel secondo in cui chiedi che vengano inviati sarebbe sicuramente abbastanza conveniente. È qui che entra in gioco questo Instructable (insieme ad Alexa, Wayscript e un po' di Python). Chiedi ad Alexa i testi della tua canzone preferita e in pochi secondi verranno consegnati direttamente alla tua casella di posta.
Come studente delle superiori che frequenta l'ultimo anno, ho trovato questo progetto piuttosto utile e l'ho effettivamente utilizzato una quantità significativa da quando l'ho costruito (una rarità - considerando che la maggior parte dei miei progetti vengono trovati intatti mesi dopo).
Questo tutorial è abbastanza per principianti, ma è utile conoscere un po' di Python prima di entrare.
Forniture
Materiali:
- Amazon Echo/qualsiasi altoparlante intelligente basato su Alexa
- Account WayScript (verrà configurato nei seguenti passaggi)
- Account RapidAPI
- Alcune conoscenze su Python (non necessarie, ma utili)
Passaggio 1: imposta Wayscript e Alexa
Cos'è Wayscript?
Wayscript è un potente strumento che ti consente di eseguire programmi utilizzando vari trigger. Useremo il trigger di Alexa in questo Instructable, ma sentiti libero di sperimentare/esplorare il software: ci sono tutti i tipi di funzionalità che puoi aggiungere.
Per iniziare, creiamo un account con Wayscript:
- Fai clic sui pulsanti "Inizia gratis" o "Registrati". Ho usato l'opzione "Registrati con Github" perché mi è sembrata la più conveniente.
- Una volta creato un account, verrai indirizzato all'ambiente di sviluppo di Wayscript. È utile seguire il tutorial prima di iniziare.
- Una volta completato il tutorial, vai al tuo profilo. Fai clic sul pulsante "Crea un nuovo script" e ti verrà chiesto di nominare il tuo progetto. L'ho chiamato "Testi delle canzoni", ma puoi chiamarlo come vuoi. Assicurati che sia facile da dire poiché utilizzerai il nome del programma quando chiedi ad Alexa di inviarti i testi.
- Una volta creato il tuo nome, fai clic sul pulsante "crea" e verrai indirizzato a un nuovo ambiente di sviluppo Wayscript. Torneremo presto su questo.
Prima di continuare, colleghiamo il tuo account Wayscript ad Alexa:
- Vai su amazon.com e accedi al tuo account, in particolare quello collegato al tuo altoparlante abilitato per Alexa.
- Vai a questo link: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… e fai clic su 'abilita'. Se il collegamento non funziona per qualsiasi motivo, cerca l'abilità Wayscript Alexa - di nuovo, fai clic su "abilita"
- Dopo aver cliccato su abilita, devi collegarlo al tuo account Wayscript. Fai clic su "Collega account" e dovresti essere indirizzato al sito web di wayscript. Una volta effettuato l'accesso, dovrebbe apparire una schermata che dice "Il tuo account è stato collegato con successo".
Una volta che hai impostato tutto questo, possiamo (quasi) iniziare a programmare!
Passaggio 2: crea un account RapidAPI
Per cercare i testi della canzone, utilizzeremo "Canarado Lyrics API" accessibile tramite RapidAPI. Se hai già un account RapidAPI, puoi saltare questo passaggio, ma in caso contrario, continua a leggere.
Inizia creando il tuo account RapidAPI:
- Fai clic sul pulsante "Iscriviti" vicino all'angolo in alto a destra e registrati con una delle opzioni disponibili (Google, Github, Facebook o registrazione normale).
- Dopo esserti registrato, vai all'API Canarado Lyrics:
Se vedi una schermata simile alla terza immagine allegata sopra, hai completato questo passaggio. Siamo finalmente pronti per iniziare a programmare.
Passaggio 3: scrivere un programma di base
Come menzionato nel passaggio precedente, l'API di Canarado Lyrics si trova su:
Una volta lì, vai nella metà destra dello schermo con l'intestazione "Snippet di codice". Userò Python in questo istruibile, ma se preferisci un'altra lingua vai avanti e usa quella invece.
Fai clic sul menu a discesa con l'etichetta "(Node.js) Unrest" e vai alla lingua che preferisci. Ancora una volta, utilizzerò Python, in particolare Python (richieste), poiché questo programma richiede una richiesta all'host dell'API per la maggior parte delle informazioni. Copia il codice facendo clic sul pulsante "copia codice" in alto a destra. Incolla questo codice nel tuo editor di codice preferito: utilizzerò l'ambiente Notebook di Jupyter.
Una volta incollato il programma, importa il modulo json di Python. Questo ci permetterà di stampare i testi. Aggiungi il seguente codice in alto (sotto le richieste di importazione)
import json
Una volta importato il modulo json, il tuo programma dovrebbe assomigliare a questo:
richieste di importazione
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 = request.request("GET", url, headers=headers) print(response.text)
Assicurati che il tuo programma sia simile (con una chiave API diversa) e poi vai alla variabile "url". Noterai che il parametro predefinito di Canarado è "Zenith" di Denzel Curry. Puoi cambiarlo inserendo qualsiasi canzone che ti piace. Ad esempio, se volessi cercare informazioni sui testi riguardanti Thriller di Michael Jackson, posso inserire "thriller" al posto di "zenith denzel curry", in modo che l'URL ora assomigli a:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/thriller"
Puoi anche aggiungere spazi senza alcuna esitazione: il browser aggiungerà automaticamente i %2520 caratteri (li noterai al posto degli spazi nell'URL predefinito). Ad esempio, una ricerca per Gangstas Paradise potrebbe essere simile a questa:
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/gangstas paradiso"
Esegui il programma sostituendo il valore predefinito "zenith%2520denzel%2520curry" con qualsiasi canzone a tua scelta. Noterai che i testi sono stampati, ma in un modo difficile da leggere. Inoltre, altre informazioni, tra cui la data di uscita della canzone, il titolo e le informazioni sullo stato dell'API, ostruiscono la visualizzazione dei testi. Risolviamo questo problema nel passaggio successivo.
Passaggio 4: formattazione dei testi
Formattare i testi in modo che siano leggibili non è troppo difficile. La maggior parte delle persone con una certa conoscenza della programmazione sarà in grado di farlo abbastanza facilmente. Invece di stampare semplicemente "response.text", usiamo il metodo.json(). Ciò organizzerà le informazioni dell'API in un dizionario e renderà tutto molto più accessibile.
Per iniziare, crea una variabile per contenere 'response.json()'. Ho chiamato la mia variabile "dati".
dati = risposta.json()
Quindi, usa il seguente ciclo "for" per accedere ai testi.
for i in data['content']:
print(i['testi'])
Il codice precedente passa alla chiave "contenuto" del dizionario dei dati. All'interno della chiave del contenuto, il ciclo for ti consente di navigare fino alla chiave "testi". Il codice dovrebbe ora essere simile a questo:
richieste di importazione
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 = request.request("GET", url, headers=headers) data = response.json() for i in data['content']: print(i['testi'])
Esegui questo programma e noterai che i testi sono molto più leggibili. Nel passaggio successivo aggiungeremo alcune variabili extra, in modo da poter utilizzare il titolo di una canzone come input e in modo da poter inviare i testi ad Alexa.
Passaggio 5: ingressi e uscite
Finora, abbiamo digitato il titolo della canzone alla fine dell'URL. Sarebbe bello se potessimo usare una variabile da un input e concatenare le due stringhe (url e titolo della canzone). Farlo è in realtà abbastanza facile.
Per il momento, usiamo la funzione di input di Python. Una volta caricato il codice su Wayscript, utilizzeremo invece il nostro discorso come input. Creiamo una variabile del titolo del brano impostata su un input che chiede all'utente di "inserire il titolo di un brano":
song_title = input("Inserisci una canzone per trovare il testo di:")
Quindi, concatena questa stringa all'URL, usando l'operatore '+' di Python per le stringhe
url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song_title
Ora, quando esegui il programma, non è più necessario modificare l'URL all'interno del programma. Invece, rispondi semplicemente all'input con il titolo della tua canzone e il testo della canzone dovrebbe essere stampato.
Il tuo programma dovrebbe ora essere simile a questo:
richieste di importazione
import json song = input("Inserisci una canzone per trovare il testo di: ") 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 = request.request("GET", url, headers=headers) data = response.json() for i in data['content']: print(i['lyrics'])
Infine, creiamo una variabile per l'output dei testi. Inizia creando una variabile impostata su una stringa vuota. Quindi, concatena 'i['lyrics']' alla fine. Stampa la variabile al di fuori del ciclo for.
testo = ""
for i in data['content']: lyrics += i['lyrics'] print(lyrics)
Il programma finale dovrebbe assomigliare a questo:
richieste di importazione
import json song = input("Inserisci una canzone per trovare il testo di: ") 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 = request.request("GET", url, headers=headers) data = response.json() lyrics = "" for i in data['content']: lyrics += i['lyrics'] print(lyrics)
Il programma stamperà esattamente la stessa cosa, ma ora hai una variabile che puoi usare come output. Ora possiamo finalmente aggiungere la funzionalità Alexa ed Email con Wayscript.
Passaggio 6: aggiunta del trigger Alexa
Per aggiungere il tuo primo trigger, fai clic sul pulsante "Aggiungi trigger":
- Verrà visualizzata una barra di ricerca: cerca "Alexa" e noterai il trigger di Alexa. Se non hai utilizzato il trigger di Alexa prima di questo, o se questo è il tuo primo progetto, potresti dover fare clic su "importa". Una volta importato, fai semplicemente clic su di esso e dovrebbe essere aggiunto.
- Abilita il grilletto facendo clic sull'interruttore a forma di pillola. Dovrebbe diventare verde. Sul lato sinistro, noterai una sezione che dice "Uscite". Fai clic sulla casella di controllo "Input vocale" e inserisci un valore simile alla nostra precedente variabile song_title. Ora possiamo usare il tuo input parlato al posto dell'istruzione di input che avevamo usato in precedenza
- Assicurati di aver scritto un valore predefinito (forse le tue canzoni preferite), poiché senza uno potresti riscontrare alcuni errori.
Nei prossimi passaggi, aggiungeremo il nostro Programma Python, il metodo Invia e-mail e Alexa confermerà che il metodo è stato completato.
Passaggio 7: aggiunta del programma Python
Per aggiungere il tuo programma al tuo attuale flusso Wayscript, fai clic su "Aggiungi passaggio"
- Cerca Python e fai clic sull'azione Python. Questo dovrebbe aggiornare il trigger e noterai apparire una scheda a sinistra.
- Passa il mouse sopra il programma sul pannello laterale e noterai un pulsante "Modifica codice". Fare clic su di esso e verrà visualizzato un editor a schermo intero.
- Nell'editor a schermo intero, copia e incolla il programma Python che avevamo creato in precedenza.
- Elimina la variabile song_title = input("….") che avevamo scritto e aggiungi la variabile di input vocale che abbiamo creato nel passaggio precedente. Le variabili create nei passaggi precedenti si trovano nell'angolo in basso a sinistra.
- Il tuo nuovo programma dovrebbe essere simile alla sesta immagine allegata sopra.
- Infine, vogliamo impostare la nostra variabile dei testi come output. Per fare ciò, copia e incolla il seguente codice in fondo al tuo programma (sotto o al posto dell'istruzione print)
variabili['Song_Lyrics'] = testi
Questo crea una variabile di output chiamata Song_Lyrics e la imposta uguale alla variabile 'lyrics' che avevamo creato prima. Il tuo programma finale dovrebbe assomigliare all'ultima immagine allegata sopra. Esegui il codice solo una volta, in modo che Wayscript sappia cosa sta succedendo e possa creare le tue variabili di output. L'operazione potrebbe richiedere alcuni istanti, ma se impiega troppo tempo, potrebbe essere necessario ricaricare la pagina. Wayscript contiene alcuni bug, quindi lo scenario peggiore potrebbe comportare la necessità di ricreare lo script.
Passaggio 8: invia i testi e conferma con Alexa
Abbiamo altri due passaggi da aggiungere al nostro flusso WayScript: un passaggio che ti consente di inviare un'e-mail a te stesso e un altro che conferma che l'e-mail è stata inviata. Iniziamo creando il passaggio dell'email.
- Fai clic su "Aggiungi passaggio", cerca "Invia e-mail" e individua la scheda a sinistra
- Usa le variabili create nei passaggi precedenti come 'Song_Name' (o Song_Title) e 'Song_Lyrics'
- Puoi formattare l'email come preferisci. Ad esempio, ho aggiunto la parola "Lyrics" dopo la variabile "Song_Name" e ho aggiunto la frase "Ecco il testo della canzone che hai richiesto" nella parte superiore.
Questo script invierà un messaggio all'e-mail con cui ti sei registrato. Se desideri inviarlo a un'altra e-mail, potresti dover utilizzare invece l'azione e-mail SMTP.
Infine, confermiamo che l'e-mail è stata inviata con Alexa.
- Fai clic su "Aggiungi passaggio" e cerca nuovamente "Alexa". Aggiungi l'azione Alexa.
- L'ho impostato in modo che una volta inviata l'e-mail, Alexa dica "I testi di [Song_Name] sono stati inviati"
Hai finito! Esegui il programma una volta facendo clic sul pulsante "Esegui". Se non ci sono errori, ora puoi usarlo con Alexa.
Passaggio 9: hai finito
Per usarlo con Alexa, dovrai usare i seguenti comandi:
"Alexa, avvia Wayscript"
Una volta che Alexa ha confermato che Wayscript è stato avviato, dì:
'Esegui [Nome del programma] con [Nome brano]'
Ad esempio, il mio programma si chiama "Testi delle canzoni" - Se voglio che Alexa mi invii i testi di Thriller, dirò:
"Esegui i testi delle canzoni con Thriller"
Consigliato:
Arduino Music Box con visualizzazione dei testi: 9 passaggi
Arduino Music Box con Lyrics Display: Di recente ho acquistato un LCD a 2 righe x 16 caratteri (display a cristalli liquidi) con cui giocare. Dopo averlo conosciuto, ho iniziato a pensare a un progetto in cui utilizzarlo; qualcosa di un po' originale. Ho deciso di creare un carillon che mostrasse i testi
HC - 06 (modulo slave) Modifica "NOME" senza utilizzare "Monitor Serial Arduino" che "funziona facilmente": modo impeccabile!: 3 passaggi
HC - 06 (Modulo Slave) Modifica di " NOME " senza utilizzare " Monitor Serial Arduino "… che " Funziona facilmente ": Modo impeccabile!: Dopo " Molto tempo " provando a cambiare nome su HC - 06 (modulo slave), utilizzando " monitor seriale di Arduino, senza " Successo ", ho trovato un altro modo semplice e lo sto condividendo ora! Buon divertimento amici
Realizzare immagini senza interruzioni solo orizzontalmente o verticalmente (per "The GIMP") .: 11 passaggi (con immagini)
Rendere le immagini senza cuciture solo orizzontalmente o verticalmente (per "The GIMP").: Se provi il plug-in "Rendi senza cuciture" in GIMP, renderà l'immagine perfetta sia orizzontalmente che verticalmente allo stesso tempo. Non ti permetterà di renderlo senza soluzione di continuità in una sola dimensione. Questo istruibile ti aiuterà a fare ima
Visualizzatore di immagini 3D digitale - "Il DigiStereopticon": 6 passaggi (con immagini)
Visualizzatore di immagini 3D digitale - "The DigiStereopticon": la fotografia stereoscopica è caduta in disgrazia. Ciò è probabilmente dovuto al fatto che alle persone non piace dover indossare occhiali speciali per visualizzare le istantanee di famiglia. Ecco un piccolo progetto divertente che puoi realizzare in meno di un giorno per realizzare la tua foto 3D
Rimuovere i testi dalla maggior parte delle canzoni: 6 passaggi (con immagini)
Rimuovi i testi dalla maggior parte delle canzoni: questo ti insegnerà come rimuovere la voce da quasi tutte le canzoni. Questo è ottimo per creare la tua canzone Karaoke Ora, prima di iniziare, voglio che tu sappia che questo non rimuoverà completamente il cantante, ma farà un buon lavoro, quindi ne vale la pena