# Mycroft (Sprachassistent)

Mycroft ist ein freier Open-Source-Sprachassistent auf NLU-Basis (Sprachdialogsystem), der vom Unternehmen Mycroft AI, Inc. mit Sitz im amerikanischen Kansas City und einer Open-Source-Community entwickelt wird. Durch vollständige Quellcode-Offenheit und die Möglichkeit, offline betrieben zu werden, unterscheidet sich Mycroft von vielen alternativen Sprachassistenten. Der Name basiert auf einem fiktionalen Computer aus dem 1966 veröffentlichten Roman The Moon Is a Harsh Mistress. Er wird unter einer freizügigen Open-Source-Lizenz entwickelt.

## Entwicklung

Die Idee für Mycroft entstand bei einem Besuch Ryan Sipes und Joshua Montgomerys in einem Makerspace in Kansas City, MO. Montgomery entdeckte einen simplen virtuellen Assistenten, erkannte das Potential dieser Technologie, aber sah mögliche Datenschutz- und Privatsphärebedenken. Daraus resultierte das Versprechen, dass Mycroft Transparenz durch Open Source sicherstellen werde.
* 2016: Auszeichnung im Rahmen der Techweek Kansas City
* 2016: Teilnahme bei der Sprint-Accelerator-2016-Klasse in Kansas City
* 2017: Aufnahme in die 500 Startups (Batch 20)
* 2017: Strategische Investition von Jaguar Land Rover in Mycroft

## Ablauf einer Benutzeranfrage

Die folgende Grafik stellt den Ablauf einer Kommunikation zwischen Mensch und Mycroft dar. Die abgebildeten Komponenten werden im Nachgang genauer beschrieben.
* Benutzer spricht: „Hey Mycroft – wie viel Uhr ist es?“
* Mycroft: Wandelt die Sprache in Text um (speech to text)
* Mycroft: Prüft den Text auf eine Absicht (intent) – hier: „Uhr“
* Mycroft: Gibt die Anfrage an die passende Fähigkeit (skill) weiter – hier „date-time-skill“
* Das Skill untersucht die Anfrage des Benutzers und ermittelt die aktuelle Uhrzeit
* Mycroft spricht: „Es ist aktuell 04:09 Uhr“ (text to speech)

## Softwarekomponenten

Die dazu notwendigen Softwarekomponenten werden auf Github gehostet und dort von Mycroft AI, Inc. und einer freiwilligen Entwicklercommunity aktiv weiterentwickelt. Die Software ist modular aufgebaut und auf folgenden Plattformen lauffähig:
* Linux
* Raspberry Pi
* Docker-Container

### Wake Word

Das „Wake Word“ fungiert als Aktivierungsphrase (standardmäßig „Hey Mycroft“) und muss vom Anwender vor der eigentlichen Anfrage gesprochen werden. Technologisch basiert die Erkennung auf der Precise Wake Word Engine, die im Gegensatz zum früher eingesetzten PocketSphinx auf maschinellem Lernen und neuronalen Netzwerken basiert. Im (optionalen) cloudbasierten Mycroft-Backend können alternative Wake Words ausgewählt werden. Ebenso besteht die Möglichkeit, ein eigenes Wake Word zu trainieren. Die Erkennung der Aktivierungsphrase geschieht immer auf dem Mycroft-Gerät lokal und benötigt keinerlei Internetzugang.

### Speech to text (STT)

Als „speech to text“ wird der Prozess bezeichnet, der menschliche Sprache in Text umwandelt. Standardmäßig werden die Anfragen über das Mycroft-Cloud-Backend an weitere Dienstleister gesendet. Die Konfiguration alternativer STT-Dienste ist möglich. Im Rahmen einer Partnerschaft mit Mozilla Common Voice unterstützt Mycroft ebenfalls Deepspeech, das eine lokale Spracherkennung ohne die Notwendigkeit zur Nutzung von Cloud-Diensten ermöglicht.

### Text to speech (TTS)

„Text to speech“ bedeutet die Umwandlung von Text in gesprochene Sprache und wird als Sprachsynthese bezeichnet. Die Qualität der Sprachausgabe ist ein entscheidender Faktor zur Benutzerakzeptanz eines Sprachassistenten. Mycroft bietet in diesem Bereich mehrere Möglichkeiten.

#### Cloudbasierte Spracherzeugung

Mycroft kann für unterschiedliche deutschsprachige TTS-Cloudanbieter (beispielsweise Google TTS oder Amazon Polly) konfiguriert werden. Allerdings funktionieren diese nur bei verfügbarer Internetverbindung und bringen Datenschutzbedenken auf.

#### Lokale Spracherzeugung

Aufgrund der Zusammenarbeit mit den Mozilla-Common-Voice-Projekten kann Mycroft einen Mozilla-TTS-Server zur Spracherzeugung verwenden. Dieser kann lokal betrieben werden und benötigt keinerlei Internetzugang. Er bietet mit „Thorsten (Stimme)“ eine freie deutschsprachige und kommerziell nutzbare Stimme. Sollte keine andere TTS-Option zur Verfügung stehen, dient Mimic (basiert auf Festival Lite) als Fallback. Dieses bietet im Vergleich jedoch nur eine sehr geringe Qualität.

### Skills

Skills bilden den Funktionsumfang von Mycroft ab. Es stehen viele Skills zur Verfügung. Dazu zählen beispielsweise Skills zum Stellen von Timern, Einrichten von Weckern und Erinnerungen, zur Steuerung von Smart Homes und vieles mehr. Neben den Basisskills, die mit jeder Mycroft-Installation ausgeliefert werden, können weitere nach persönlichem Geschmack ergänzt werden.
Skills können direkt aus dem Github-Repository des jeweiligen Entwicklers heruntergeladen werden, haben dann jedoch keine offizielle Freigabe von Mycroft AI Inc. Vom Hersteller geprüfte und freigegebene Skills können im Skill-Marketplace von Mycroft heruntergeladen werden.

### Intents

Intents (wörtlich übersetzt: „Absicht“) sind Schlüsselwörter, anhand derer Mycroft erkennt, welches Skill die Anfrage des Benutzers bearbeiten soll. Intents werden anhand der gesprochenen Benutzeranfrage ermittelt. So führt beispielsweise die Benutzeranfrage „Wieviel Uhr ist es?“ dazu, dass das Skill „date-time“ diese Anfrage bearbeitet und eine entsprechende Antwort an den Benutzer erzeugt.

## Hardware

Das Mycroft-Projekt arbeitet neben der Software auch an der Erstellung und dem Verkauf von smarten Lautsprechern. Dabei ist das gesamte Hardwarekonzept und Design als Open Source unter der Lizenz CERN Open Hardware öffentlich.
Das erste Hardware-Projekt, der Mark I, richtete sich dabei primär an eine Entwickler-Zielgruppe und wurde anteilig durch eine Kickstarter-Kampagne finanziert. Der Versand der Geräte begann im April 2016.
Im Gegensatz zum Mark I richtet sich die nächste Generation, der Mark II, an keine bestimmte Zielgruppe. Es bietet zusätzlich zum Lautsprecher auch ein großes Display zur optischen Unterstützung der Benutzerinteraktion. Ebenso wie der Vorgänger wurde Mark II durch eine Kickstarter-Kampagne finanziert und erreichte im Februar 2018 das 8-Fache des ursprünglichen Kampagnenziels. Mit Stand Dezember 2020 erfolgte noch keine Auslieferung des Mark II an die Unterstützer.
Im Februar 2021 hat Mycroft damit begonnen, bestellte Mark II Dev Kits auszuliefern. Dieses Kit verwendet Hardwarekomponenten, die mit der geplanten Mark II Hardware identisch sind. Allerdings besteht das Gehäuse des Dev Kit aus einfacheren Materialien. Ziel des Dev Kit ist das problemlose Zusammenspiel der Hardwarekomponenten in größerem Anwenderumfeld zu testen, bevor die finale Herstellung des Mark II begonnen wird.
Anfang 2023 verkündete der Mycroft CEO, Michael Lewis, die finanzielle Zahlungsunfähigkeit von Mycroft AI und erläutert alle damit einhergehenden Konsequenzen in einem offiziellen Beitrag.