Inhaltsverzeichnis:

"Alexa, sende mir den Text an _____": 9 Schritte (mit Bildern)
"Alexa, sende mir den Text an _____": 9 Schritte (mit Bildern)

Video: "Alexa, sende mir den Text an _____": 9 Schritte (mit Bildern)

Video:
Video: Deutsch lernen (A1): Ganzer Film auf Deutsch - "Nicos Weg" | Deutsch lernen mit Videos | Untertitel 2024, November
Anonim
Image
Image

Hören Sie ein Lied, das Sie mitsingen möchten? Normalerweise müssten Sie den Namen des Songs in Google eingeben, gefolgt von dem Wort "Lyrics". Sie würden normalerweise auch viele Tippfehler machen, eine bestimmte Anzahl von Tasten falsch anklicken und mit der unvermeidlichen Verzögerung Ihres Geräts umgehen. Wenn Sie den Text gefunden haben, stellen Sie fest, dass Ihr Song vorbei ist und die ganze Arbeit umsonst war.

Vielleicht stecken Sie mitten in einer globalen Pandemie und das Telefon Ihres Freundes zu leihen scheint nicht die beste Idee zu sein, geschweige denn, die Karaoke-Maschine zu berühren, die in der Ecke versteckt ist. Sie möchten geschützt werden, aber den Text des Liedes zu kennen, ist fast genauso wichtig. Sie benötigen eine bequeme, kontaktlose Methode, um nach Songtexten zu suchen.

Vielleicht sind diese beiden Szenarien leicht übertrieben (das erste definitiv mehr), aber dennoch wäre es sicherlich ziemlich praktisch, Songtexte direkt an Ihre E-Mail zu senden, sobald Sie sie anfordern. Hier kommt dieses Instructable (zusammen mit Alexa, Wayscript und ein bisschen Python) ins Spiel. Fragen Sie einfach Alexa nach den Texten zu Ihrem Lieblingslied und in wenigen Sekunden werden sie direkt in Ihren Posteingang geliefert.

Als Gymnasiast, der in mein Abschlussjahr geht, fand ich dieses Projekt ziemlich nützlich und habe es tatsächlich in beträchtlichem Umfang verwendet, seit ich es gebaut habe (eine Seltenheit - wenn man bedenkt, dass die meisten meiner Projekte Monate später unberührt sind).

Dieses Tutorial ist ziemlich Anfängerniveau, aber es ist hilfreich, etwas Python zu kennen, bevor Sie loslegen.

Lieferungen

Materialien:

  1. Amazon Echo/beliebiger Alexa-basierter intelligenter Lautsprecher
  2. WayScript-Konto (wird in den folgenden Schritten eingerichtet)
  3. RapidAPI-Konto
  4. Einige Python-Kenntnisse (nicht notwendig, aber hilfreich)

Schritt 1: Wayscript und Alexa einrichten

Wayscript und Alexa einrichten
Wayscript und Alexa einrichten
Wayscript und Alexa einrichten
Wayscript und Alexa einrichten
Wayscript und Alexa einrichten
Wayscript und Alexa einrichten

Was ist Wayscript?

Wayscript ist ein leistungsstarkes Tool, mit dem Sie Programme mit verschiedenen Triggern ausführen können. Wir werden den Alexa-Trigger in diesem Instructable verwenden, aber fühlen Sie sich frei, die Software zu experimentieren / zu erkunden - es gibt alle möglichen Funktionen, die Sie hinzufügen können.

Lassen Sie uns zunächst ein Konto bei Wayscript erstellen:

  1. Klicken Sie auf die Schaltflächen „Kostenlos loslegen“oder „Anmelden“. Ich habe die Option "Bei Github registrieren" verwendet, da sie sich am bequemsten anfühlte.
  2. Sobald Sie ein Konto erstellt haben, werden Sie zur Entwicklungsumgebung von Wayscript geleitet. Es ist hilfreich, das Tutorial durchzugehen, bevor wir beginnen.
  3. Navigieren Sie nach Abschluss des Tutorials zu Ihrem Profil. Klicken Sie auf die Schaltfläche „Neues Skript erstellen“und Sie werden aufgefordert, Ihrem Projekt einen Namen zu geben. Ich habe es "Songtext" genannt, aber Sie können es benennen, was Sie wollen. Stellen Sie einfach sicher, dass es leicht zu sagen ist, da Sie den Programmnamen verwenden, wenn Sie Alexa bitten, Ihnen den Text zu senden.
  4. Sobald Sie sich einen Namen gemacht haben, klicken Sie auf die Schaltfläche „Erstellen“und Sie werden zu einer neuen Wayscript-Entwicklungsumgebung geleitet. Wir werden bald darauf zurückkommen.

Bevor wir fortfahren, verbinden wir Ihr Wayscript-Konto mit Alexa:

  1. Gehen Sie zu amazon.com und melden Sie sich bei Ihrem Konto an – insbesondere bei dem, das mit Ihrem Alexa-fähigen Lautsprecher verbunden ist.
  2. Gehen Sie zu diesem Link: https://www.amazon.com/WayScript-Inc/dp/B07QXXG32… und klicken Sie auf „Aktivieren“. Wenn der Link aus irgendeinem Grund nicht funktioniert, suchen Sie nach dem Wayscript Alexa Skill - klicken Sie erneut auf "Aktivieren".
  3. Nachdem Sie auf Aktivieren geklickt haben, müssen Sie es mit Ihrem Wayscript-Konto verknüpfen. Klicken Sie auf 'Konto verknüpfen' und Sie sollten auf die Website von wayscript geleitet werden. Sobald Sie sich angemeldet haben, sollte ein Bildschirm mit der Meldung "Ihr Konto wurde erfolgreich verknüpft" erscheinen.

Wenn Sie das alles eingerichtet haben, können wir (fast) mit der Programmierung beginnen!

Schritt 2: Erstellen Sie ein RapidAPI-Konto

Erstellen Sie ein RapidAPI-Konto
Erstellen Sie ein RapidAPI-Konto
Erstellen Sie ein RapidAPI-Konto
Erstellen Sie ein RapidAPI-Konto
Erstellen Sie ein RapidAPI-Konto
Erstellen Sie ein RapidAPI-Konto

Um nach den Songtexten zu suchen, verwenden wir die 'Canarado Lyrics API', die über RapidAPI zugänglich ist. Wenn Sie bereits ein RapidAPI-Konto haben, können Sie diesen Schritt überspringen, aber wenn nicht, lesen Sie weiter.

Beginnen Sie mit der Erstellung Ihres RapidAPI-Kontos:

  1. Klicken Sie auf die Schaltfläche „Anmelden“in der oberen rechten Ecke und melden Sie sich mit einer der verfügbaren Optionen an (Google, Github, Facebook oder normale Anmeldung).
  2. Sobald Sie sich angemeldet haben, gehen Sie zur Canarado Lyrics API:

Wenn ein Bildschirm ähnlich dem oben angehängten dritten Bild angezeigt wird, haben Sie diesen Schritt abgeschlossen. Endlich können wir mit der Programmierung beginnen.

Schritt 3: Schreiben Sie ein Basisprogramm

Schreiben Sie ein Basisprogramm
Schreiben Sie ein Basisprogramm
Schreiben Sie ein Basisprogramm
Schreiben Sie ein Basisprogramm
Schreiben Sie ein Basisprogramm
Schreiben Sie ein Basisprogramm

Wie im vorherigen Schritt erwähnt, befindet sich die Canarado Lyrics API unter:

Begeben Sie sich dort in die rechte Bildschirmhälfte mit der Überschrift 'Code Snippets'. Ich werde Python in diesem anweisbaren verwenden, aber wenn Sie eine andere Sprache bevorzugen, fahren Sie fort und verwenden Sie das stattdessen.

Klicken Sie auf das Dropdown-Menü mit der Bezeichnung '(Node.js) Unrest' und navigieren Sie zu Ihrer bevorzugten Sprache. Auch hier verwende ich Python – insbesondere Python (Requests) – da dieses Programm für die meisten Informationen eine Anfrage an den Host der API benötigt. Kopieren Sie den Code, indem Sie oben rechts auf die Schaltfläche "Code kopieren" klicken. Fügen Sie diesen Code in den Code-Editor Ihrer Wahl ein – ich verwende die Notebook-Umgebung von Jupyter.

Nachdem Sie das Programm eingefügt haben, importieren Sie das json-Modul von Python. Damit können wir die Texte ausdrucken. Fügen Sie den folgenden Code oben hinzu (unter Importanfragen)

json importieren

Nachdem Sie das Json-Modul importiert haben, sollte Ihr Programm so aussehen:

Importanfragen

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)

Stellen Sie sicher, dass Ihr Programm ähnlich aussieht (mit einem anderen API-Schlüssel) und gehen Sie dann zur 'url'-Variablen. Sie werden feststellen, dass der Standardparameter von Canarado 'Zenith' von Denzel Curry ist. Sie können dies ändern, indem Sie einen beliebigen Song eingeben. Wenn ich beispielsweise nach Textinformationen zu Michael Jacksons Thriller suchen möchte, kann ich "thriller" anstelle von "zenith denzel curry" eingeben, sodass die URL jetzt wie folgt aussieht:

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

Sie können auch ohne zu zögern Leerzeichen hinzufügen - der Browser fügt automatisch die %2520 Zeichen hinzu (Sie werden sie anstelle von Leerzeichen in der Standard-URL bemerken). Eine Suche nach Gangstas Paradise könnte beispielsweise so aussehen:

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

Führen Sie das Programm aus, indem Sie den Standardwert "zenith%2520denzel%2520curry" durch einen beliebigen Song Ihrer Wahl ersetzen. Sie werden feststellen, dass die Texte zwar ausgedruckt sind, aber schwer zu lesen sind. Darüber hinaus behindern andere Informationen, einschließlich des Veröffentlichungsdatums des Songs, des Titels und der Statusinformationen der API, die Sicht auf den Songtext. Lassen Sie uns dies im nächsten Schritt beheben.

Schritt 4: Formatieren der Songtexte

Formatieren der Songtexte
Formatieren der Songtexte

Die Texte so zu formatieren, dass sie lesbar sind, ist nicht allzu schwer. Die meisten Leute mit einigen Programmierkenntnissen werden dies ziemlich einfach tun können. Anstatt einfach "response.text" auszugeben, verwenden wir die Methode.json(). Dies organisiert die Informationen der API in einem Wörterbuch und macht alles viel leichter zugänglich.

Erstellen Sie zunächst eine Variable, die 'response.json()' enthält. Ich habe meine Variable 'data' genannt.

Daten = antwort.json()

Verwenden Sie als Nächstes die folgende 'for'-Schleife, um auf den Songtext zuzugreifen.

für i in data['content']:

print(i['Texte'])

Der obige Code navigiert zum Schlüssel "Inhalt" des Datenwörterbuchs. Innerhalb der Inhaltstaste können Sie mit der for-Schleife zur 'Lyrics'-Taste navigieren. Der Code sollte nun ungefähr so aussehen:

Importanfragen

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['Texte'])

Führen Sie dieses Programm aus und Sie werden feststellen, dass die Texte viel besser lesbar sind. Im nächsten Schritt fügen wir ein paar zusätzliche Variablen hinzu, damit wir den Titel eines Songs als Eingabe verwenden und den Text an Alexa ausgeben können.

Schritt 5: Ein- und Ausgänge

Eingänge und Ausgänge
Eingänge und Ausgänge
Eingänge und Ausgänge
Eingänge und Ausgänge

Bisher haben wir den Titel des Songs am Ende der URL eingegeben. Es wäre schön, wenn wir eine Variable aus einer Eingabe verwenden und die beiden Strings (URL und Songtitel) verketten könnten. Das zu tun ist eigentlich ziemlich einfach.

Lassen Sie uns vorerst die Eingabefunktion von Python verwenden. Sobald wir den Code in Wayscript hochladen, verwenden wir stattdessen unsere Sprache als Eingabe. Lassen Sie uns eine Songtitelvariable erstellen, die auf eine Eingabe eingestellt ist, die den Benutzer auffordert, "einen Songtitel einzugeben":

song_title = input("Geben Sie ein Lied ein, um den Text zu finden für: ")

Verketten Sie dann diese Zeichenfolge mit der URL, indem Sie den '+'-Operator von Python für Strings verwenden

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

Wenn Sie das Programm jetzt ausführen, müssen Sie die URL innerhalb des Programms nicht mehr bearbeiten. Antworten Sie stattdessen einfach mit dem Titel Ihres Songs auf die Eingabe, und der Songtext sollte ausgedruckt werden.

Ihr Programm sollte jetzt ungefähr so aussehen:

Importanfragen

import json song = input("Geben Sie einen Song ein, um den Text zu finden für: ") 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'])

Schließlich erstellen wir eine Variable, um den Text auszugeben. Beginnen Sie mit dem Erstellen eines Variablensatzes auf eine leere Zeichenfolge. Verketten Sie dann 'i['lyrics']' an das Ende. Geben Sie die Variable außerhalb der for-Schleife aus.

Liedtext = ""

for i in data['content']: lyrics += i['lyrics'] print(lyrics)

Das endgültige Programm sollte wie folgt aussehen:

Importanfragen

import json song = input("Geben Sie einen Song ein, um den Text zu finden für: ") url = "https://canarado-lyrics.p.rapidapi.com/lyrics/" + song headers = { 'x-rapidapi-host': "canarado-lyrics.p.rapidapi.com", 'x-rapidapi-key': "IHR-API-SCHLÜSSEL-HERE" } antwort = request.request("GET", url, headers=headers) data = response.json() lyrics = "" for i in data['content']: lyrics += i['lyrics'] print(lyrics)

Das Programm gibt genau dasselbe aus, aber jetzt haben Sie eine Variable, die Sie als Ausgabe verwenden können. Jetzt können wir endlich die Alexa- und E-Mail-Funktionalität mit Wayscript hinzufügen.

Schritt 6: Hinzufügen des Alexa-Triggers

Hinzufügen des Alexa-Triggers
Hinzufügen des Alexa-Triggers
Hinzufügen des Alexa-Triggers
Hinzufügen des Alexa-Triggers
Hinzufügen des Alexa-Triggers
Hinzufügen des Alexa-Triggers

Um Ihren ersten Trigger hinzuzufügen, klicken Sie auf die Schaltfläche 'Trigger hinzufügen':

  1. Eine Suchleiste wird angezeigt – suchen Sie nach „Alexa“und Sie werden den Alexa-Auslöser bemerken. Wenn Sie den Alexa-Trigger zuvor noch nicht verwendet haben oder dies Ihr erstes Projekt ist, müssen Sie möglicherweise auf "Importieren" klicken. Nach dem Import einfach darauf klicken und es sollte hinzugefügt werden.
  2. Aktivieren Sie den Auslöser, indem Sie auf den pillenförmigen Schalter klicken. Es sollte grün werden. Auf der linken Seite sehen Sie einen Abschnitt mit der Aufschrift "Ausgaben". Klicken Sie auf das Kontrollkästchen "Gesprochene Eingabe" und geben Sie einen Wert ein, der unserer vorherigen song_title-Variablen ähnelt. Wir können jetzt Ihre gesprochene Eingabe anstelle der zuvor verwendeten Eingabeanweisung verwenden
  3. Stellen Sie sicher, dass Sie einen Standardwert geschrieben haben (vielleicht Ihre Lieblingssongs), da Sie ohne einen Standardwert auf einige Fehler stoßen können.

In den nächsten Schritten fügen wir unser Python-Programm und die Methode E-Mail senden hinzu und lassen Alexa bestätigen, dass die Methode abgeschlossen ist.

Schritt 7: Hinzufügen Ihres Python-Programms

Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms
Hinzufügen Ihres Python-Programms

Um Ihr Programm zu Ihrem aktuellen Wayscript-Flow hinzuzufügen, klicken Sie auf "Schritt hinzufügen".

  1. Suchen Sie nach Python und klicken Sie auf die Python-Aktion. Dadurch sollte der Trigger aktualisiert werden und Sie werden feststellen, dass eine Registerkarte auf der linken Seite angezeigt wird.
  2. Bewegen Sie den Mauszeiger über das Programm im Seitenbereich und Sie werden feststellen, dass die Schaltfläche "Code bearbeiten" angezeigt wird. Klicken Sie darauf und ein Vollbild-Editor wird angezeigt.
  3. Kopieren Sie im Vollbild-Editor das zuvor erstellte Python-Programm und fügen Sie es ein.
  4. Löschen Sie die Variable song_title = input("…."), die wir geschrieben haben, und fügen Sie die Variable für gesprochene Eingabe hinzu, die wir im vorherigen Schritt erstellt haben. Variablen, die in den vorherigen Schritten erstellt wurden, finden Sie in der unteren linken Ecke.
  5. Ihr neues Programm sollte dem oben angehängten 6. Bild ähneln.
  6. Schließlich wollen wir unsere Liedtextvariable als Ausgabe setzen. Kopieren Sie dazu den folgenden Code und fügen Sie ihn am Ende Ihres Programms ein (entweder unten oder anstelle der print-Anweisung)

Variablen['Song_Lyrics'] = Liedtext

Dadurch wird eine Ausgabevariable namens Song_Lyrics erstellt und gleich der zuvor erstellten Variable 'lyrics' gesetzt. Ihr endgültiges Programm sollte genauso aussehen wie das letzte oben angehängte Bild. Führen Sie den Code nur einmal aus - damit Wayscript weiß, was vor sich geht und Ihre Ausgabevariablen erstellen können. Dies kann einige Augenblicke dauern, aber wenn es zu lange dauert, müssen Sie die Seite möglicherweise neu laden. Wayscript enthält einige Fehler, so dass im schlimmsten Fall das Skript neu erstellt werden muss.

Schritt 8: Senden Sie den Text und bestätigen Sie mit Alexa

Senden Sie den Songtext und bestätigen Sie mit Alexa
Senden Sie den Songtext und bestätigen Sie mit Alexa
Senden Sie den Songtext und bestätigen Sie mit Alexa
Senden Sie den Songtext und bestätigen Sie mit Alexa
Senden Sie den Songtext und bestätigen Sie mit Alexa
Senden Sie den Songtext und bestätigen Sie mit Alexa

Wir haben zwei weitere Schritte, die wir unserem WayScript-Flow hinzufügen können - einen Schritt, der es Ihnen ermöglicht, eine E-Mail an sich selbst zu senden, und einen weiteren, der bestätigt, dass eine E-Mail gesendet wurde. Beginnen wir mit dem Erstellen des E-Mail-Schritts.

  1. Klicken Sie auf „Schritt hinzufügen“, suchen Sie nach „E-Mail senden“und suchen Sie die Registerkarte auf der linken Seite
  2. Verwenden Sie Variablen, die in den vorherigen Schritten erstellt wurden, wie "Song_Name" (oder Song_Title) und "Song_Lyrics".
  3. Sie können die E-Mail beliebig formatieren. Ich habe zum Beispiel das Wort "Lyrics" nach der Variable "Song_Name" hinzugefügt und oben den Satz "Hier ist der Text zu dem von Ihnen angeforderten Song" hinzugefügt.

Dieses Skript sendet eine Nachricht an die E-Mail, mit der Sie sich registriert haben. Wenn Sie es an eine andere E-Mail senden möchten, müssen Sie möglicherweise stattdessen die SMTP-E-Mail-Aktion verwenden.

Lassen Sie uns abschließend bestätigen, dass die E-Mail mit Alexa gesendet wurde.

  1. Klicken Sie auf „Schritt hinzufügen“und suchen Sie erneut nach „Alexa“. Fügen Sie die Alexa-Aktion hinzu.
  2. Ich habe es so eingerichtet, dass Alexa nach dem Senden der E-Mail sagt: "Texte für [Song_Name] wurden gesendet"

Du bist fertig! Führen Sie das Programm einmal aus, indem Sie auf die Schaltfläche "Ausführen" klicken. Wenn keine Fehler aufgetreten sind, können Sie es jetzt mit Alexa verwenden.

Schritt 9: Sie sind fertig

Um es mit Alexa zu verwenden, müssen Sie die folgenden Befehle verwenden:

„Alexa, starte Wayscript“

Sobald Alexa bestätigt hat, dass Wayscript gestartet wurde, sagen Sie:

'[Name des Programms] mit [Songname] ausführen'

Mein Programm heißt zum Beispiel 'Song Lyrics' - Wenn ich möchte, dass Alexa mir den Songtext zu Thriller schickt, sage ich:

'Run Songtexte mit Thriller'

Empfohlen: