• Von

    169labsadmin20

  • Veröffentlicht am

    Juni 8, 2017

  • Tags

    Alexa, Skill

Aus einem Experiment ist ein Skill geworden, der es innerhalb weniger Wochen in die „Top aktivierten Skills“ der Kategorie „Bildung/Nachschlagewerke“ (Update!) aller Kategorien geschafft hat.

Auf der Suche nach einer Idee, wie wir die SSML Features von Amazon Alexa ausgiebiger testen können, ist unser Tiergeräusche Skill entstanden.

Eine der Funktionen von SSML (Speech Synthesis Markup Language) erweckt den Skill und in Alexa im wahrsten Sinne das Tier zum Leben. Mit dem <audio> Tag unterstützt Alexa das Einbinden von Audio-Dateien in die Antwort, die an den Nutzer zurückgegeben wird.

Alexa kennt also dank unseres Tiergeräusche Skills nun die individuellen Laute von mehr als 20 Tieren. Technisch haben wir den Skill vielleicht etwas over-engineered, allerdings lässt sich mit einem echten Projekt das technische Setup eines Alexa Skills effizienter optimieren.

Die Tiere, inklusive der Sound-Dateien und Bilder für die Cards (der visuelle Log in der Alexa App, wenn Alexa auf eine Anfrage antwortet), werden in einem eigenen Content Management System online verwaltet. Das ermöglicht ohne Eingriff in den Source Code kontinuierlich weitere Tiere hinzuzufügen. Die Funktion des Skills haben wir mit Lambda umgesetzt.

Das Hosting der Sound-Dateien und Bilder lösen wir über Amazon S3. Bei der Bereitstellung der Sound-Dateien ist wichtig, dass diese im korrekten Format vorliegen. Dank der guten Dokumentation im Entwicklerportal von Amazon ist eine Anleitung zur richtigen Codierung des Audio-Files schnell zu finden. Wir haben uns dazu eine kleine Cloud-Anwendung programmiert, die automatisiert unsere Sound-Dateien für uns Alexa-freundlich codiert und in unserem S3 Bucket ablegt.

Nun kann es also losgehen: Tiere da, Sound-Dateien da, Bilder für die Cards da. Die Nutzer können nach Aktivierung des Skills beispielsweise fragen „Wie macht die Kuh?“. Alexa antwortet mit „Die Kuh macht …. “ und spielt dabei die Audio-Datei des entsprechenden Tieres ab.

Workflow Tiergeräusche Skill

Wenn die API das Tier nicht bereitstellen kann, z.B. wenn das angefragte Tier nicht in unserer Datenbank vorhanden ist, geben wir an den Nutzer die Antwort „Dieses Tier kenne ich leider nicht“ zurück. Damit uns die Anfragen nicht entgehen, haben wir einen Slack-Channel eingerichtet, in dem diese Anfragen dank eines Webhook-Bots einlaufen. Mit diesen Nachrichten können wir die Auswahl an verfügbaren Tiergeräuschen stetig ausbauen.

Die Herausforderung bei der Umsetzung: Das Voice Interaction Model. Schon bei einem derart simplen Skill ist es unerwartet komplex gewesen, im Vorfeld zu antizipieren, wie die Nutzer den Skill verwenden würden. Zu Beginn haben wir es uns leicht gemacht und (unbewusst) nur die Anfragen zugelassen, die die korrekte Verwendung des bestimmten Artikels beinhalteten. „Wie macht der Löwe?“ war OK. „Wie macht das Löwe?“ -> nicht OK. „Wie macht ein Löwe?“ -> nicht OK.

Da Alexa-Entwickler kontinuierlich neue Versionen ihrer Funktion veröffentlichen dürfen, konnten wir diesen Fehler schnell beheben. Wir lassen nun bestimmte und unbestimmte Artikel zu. Die falsche Verwendung des Artikels ist zwar schmerzhaft, aber auch in Ordnung. 🙂 Die Antwort von Alexa hingegen ist immer gleich und sieht selbstverständlich die Verwendung des korrekten Artikels vor.

What’s next? Wir haben den Aufwand bei der Gestaltung der Cards in Grenzen gehalten. Wir möchten diese überarbeiten und überlegen nun, mit kurzen Steckbriefen der Tiere einen weiteren Mehrwert zu entwickeln.

Und jetzt darf getestet werden. Hier ist der Link zum Tiergeräusche Skill. Wir wünschen tierisch viel Spaß! 😉