Skip to content
Snippets Groups Projects
snowboy.html 3.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • <!DOCTYPE html >
    <html lang="de">
    <head>
        <meta charset="UTF-8">
        <meta content="width=device-width, initial-scale=1.0" name="viewport">
        <title></title>
        <link href="/css/style.css" rel="stylesheet">
    </head>
    <body>
    <jl-header data-title="Installation von Snowboy"></jl-header>
    <div id="content">
        <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/API/getFile.php?filename=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>
    
    Jonas Leder's avatar
    Jonas Leder committed
        <img src="/API/getFile.php?filename=img/snowboy_no_mic.png">
        <img src="/API/getFile.php?filename=img/snowboy_wrong_sample_rate.png">
    
        <h2>Kommentare:</h2>
        <jl-comments_display></jl-comments_display>
        <jl-new_comment id="newComment"></jl-new_comment>
    </div>
    <jl-footer></jl-footer>
    
    <script async defer src='https://www.hCaptcha.com/1/api.js'></script>
    <script src="/js/script.js"></script>