<?php
include "../internal/header.php";
include "../internal/footer.php";
include "../internal/comments.php";

getHeader("Installation von Snowboy", "projekte");
?>
    <p>Heute stelle ich mal kein Projekt in dem Sinne vor wie sonst, sondern schreibe viel mehr eine Anleitung zur Installation von Snowboy, da dich viele Probleme dabei hatte und im Internet auch relativ wenig dazu stand. Wir sind in der Schule aktuell dabei einen Smarten Lautsprecher auf Basis des Google AIY Projekts aufzubauen. Das Problem war, dass uns das Hotword "ok, google" nicht gefallen hatte. Nach ein paar Minuten googlen sind wir dann auf die Bibliothek Snowboy gestoßen, mit welcher alle Probleme gelöst werden sollten. Das Problem war nur, dass wir die Bibilothek nicht kompiliert bekommen haben. Die folgende Anleitung sollte auf allen Linux Maschinen (Raspberry Pi, Ubuntu, Debian, ...) laufen. Es kann aber vorkommen dass noch vereinzelt weitere Pakete installiert werden müssen. In der folgenden Anleitung verwende ich eine Aktuelle LinuxMint Tara Version mit allen Updates von 1.Dezember 2018.</p>
    <p>Kommen wir nun zur Installationsanleitung:</p>
    <p>1.Updates installieren:</p>
    <pre><code class="language-bash">sudo apt update && sudo apt upgrade -y</code></pre>
    <p>2.Dependencies installieren:</p>
    <pre><code class="language-bash">sudo apt install -y python-pyaudio python3-pyaudio sox libatlas-base-dev gcc make wget libpcre3 libpcre3-dev build-essential git python3-setuptools python3-dev autotools-dev automake</code></pre>
    <p>3.Swig und pcre herunterladen und kompilieren</p>
    <pre>
        <code class="language-bash">
wget http://downloads.sourceforge.net/swig/swig-3.0.12.tar.gz
tar -xovzf swig-3.0.12.tar.gz
cd swig-3.0.12
wget https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz
./Tools/pcre-build.sh
./autogen
./configure
make
sudo make install
cd ..
        </code>
    </pre>
    <p>4. snowboy herunterladen und kompilieren</p>
    <pre>
        <code class="language-bash">
git clone https://github.com/Kitt-AI/snowboy
cd snowboy
sudo python3 setup.py install
cd swig/Python3
make
        </code>
    </pre>
    <p>Jetzt Sollte Snowboy funktionieren. Bei mir gab es leider Probleme mit den Beispielen. Ixh musste noch Zeile nr. 5 in der Datei "snowboy/examples/Python3/snowboydecoder.py" in "import snowboydetect" ändern. Eigene Hotwords können nun unter&nbsp;<a href="https://snowboy.kitt.ai">snowboy.kitt.ai</a>&nbsp;erstellt werden.</p>
    <p>Viel Spaß beim weiter experimentieren mit Snowboy.</p>
    <p>Kleiner Ergänzung, bei der Installation auf einem Raspberry Pi bin ich auf zwei Fehler gestoßen. Der erste war, dass der Raspberry Pi keinen direkten Mikrofon Eingang hatte. Der zweiter war dann schon etwas exotischer, ich habe nämlich meine China USB Soundkarte zum testen angeschlossen. Dort kam aber nur als Fehler "Invalid Sample Rate". Das Problem der Soundkarte ist, dass sie nur 44kHz als Abtastrate unterstützt, Snowboy braucht aber eine Abtastrate von 16kHz wie ich daraufhin nachgelesen habe. Unten sind zwei Screenshots der Fehler angefügt.</p><br>
    <img src="/img/snowboy_no_mic.png">
    <img src="/img/snowboy_wrong_sample_rate.png">
<?php

$article = basename($_SERVER["SCRIPT_FILENAME"], '.php');
getComments($article);
getFooter();