Edellisessä kirjoituksessa kävimme läpi Almond-/Genie -virtuaaliavustimen asentamista Home Assistantin yhteyteen. Seuraavaksi olisi tarkoitus kokeilla, että miten myös ääniohjauksen saisi toimimaan Almond-/Genie -virtuaaliavustimen kanssa. Ääniohjausta varten meidän tarvitsee asentaa Genie-client -paketti, josta löytyy valmis .deb -paketti Debian pohjaisille käyttöjärjestelmille. Muille käyttöjärjetelmille Genie-client täytyy asentaa lähdekoodin kautta.

Minulla on alustana RaspberryPi -tietokoneen 1. Model B -versio, joten Genie-client -paketti asennetaan RaspberryPi:lle tehdyn ohjeen mukaisesti. Genie-client on myös sen verran kevyt, että sen pystyy asentamaan Raspberry Pi 1 Model B -koneelle ja näin minulla on myös tarkoitus tehdä. Käyttöjärjestelmänä Raspille on asennettuna RaspberryPiOS -käyttöjärjestelmä. Lisäksi minulla on käytössä USB-väyläinen mikrofoni sekä kaiuttimet, jotka on yhdistetty Raspin 3,5 mm jack -liittimeen. Vaihtoehtoisesti Raspiin voisi liittää myös USB-väyläisen äänikortin, johon saisi kytkettyä sekä mikrofonin että äänen ulostulon kaiuttimille 3,5 mm jack -liittimillä.

Genie-clientin asennus ja konfigurointi Link to heading

Asennus aloitetaan aluksi valitsemalla oikea asennuspaketti ja meillä kyseessä on Raspberry Pi 1 Model B, niin haetaan asennuspaketti komennolla wget https://almond-static.stanford.edu/releases/raspios/bullseye/genie-client_0.1.0_armhf.deb. Seuraavaksi asennetaan tarvittavat muut paketit komennolla sudo apt install gstreamer1.0-alsa , jonka jälkeen asennetaan Genie-client komennolla sudo apt install ./genie-client_0.1.0_armhf.deb. Mikäli järjestelmä tarjoaa muita paketteja asennettavaksi, niin ne voi myös asentaa.

Nyt meillä asennettuna tarvittavat paketit, jonka jälkeen voidaan tehdä tarvittavat asetukset järjestelmään. Aluksi ajetaan komento sudo nano /etc/pulse/default.pa ja lisätään tietoston loppuun alla olevat rivit

load-module module-echo-cancel source_name=echosrc sink_name=echosink aec_method=speex
load-module module-role-ducking trigger_roles=voice-assistant ducking_roles=music volume=20% global=true

Lopuksi käynnistetään vielä kone uudestaan, jonka jälkeen voimme kokeilla, että miten Genie-client toimii eli annetaan komento genie-client, jolloin Genie-Clientin pitäisi käynnistyä. Kun Genie-client on käynnistynyt, voidaan se yhdistää Genie-serveriin seuraavasti eli aluksi kirjaudutaan Genie-serverille ja valitaan oikeasta yläreunasta kohta Configuration (kuva alla).

Kuva: Genie-server

Configuration -sivulla selataan loppuun kohtaan External Clients, josta saamme tarvittavat tiedot Genie-clientille

Kuva: Genie-server asetukset

Seuraavaksi avataan Genie-clientin konffausikkuna eli mennään selaimella osoitteeseen http://x.x.x.x:8000, jolloin meillä avautuu alla olevan mukainen näkymä (ja x.x.x.x on taas sen koneen IP-soite, jolle Genie-client on asennettu)

Kuva: Genie-client asetukset

Tällä sivulla annamme kohtaan URL Genie-serveriltä saatu URL-tieto, valitaan Authentication Mode -kohdan alasvetovalikosta Genie Server (standalone), kopioidaan kohtaan Access Token serveriltä vastaava merkkisarja ja lopuksi annetaan vielä Genie-clientille Conversation ID kohtaan nimi, jonka tulee olla eri clienteille oma. Ja lopuksi tallennetaan tiedot, jonka jälkeen Genie-clientin asetukset ovat valmiit.

Lopuksi tehdään vielä tehdä Genie-clientista automaattisesti käynnistyvä palvelu, joka tulee ajaa käyttäjänä eli aluksi annetaan komento nano ~/.config/systemd/user/genie-client.service, kopiodaan tiedostoon alla olevat rivit sekä lopuksi tallennetaan tiedot

[Unit]
Description=GenieClient
After=network.target

[Service]
ExecStart=/usr/bin/genie-client
Restart=always

[Install]
WantedBy=default.target

Seuraavaksi luodaan vielä tyhjä tiedosto `genie-client.timer` komennolla touch ~/.config/systemd/user/genie-client.timer ja ajetaan komennot

systemctl --user enable genie-client.service
systemctl --user start genie-client.service

Nyt meillä on virtuaaliavustimen yhteyteen luotu ääniohjaus eli seuraavaksi sitten vain opettelemaan ääniohjauskomentojen antamista. Virtuaaliavustimen saa herätettyä komennolla Hey Genie, jonka perään annetaan haluttu komento. Komennoista löytyy kattava yhteenveto Genie-serverin Cheatsheet -kohdasta, kuva alla

Kuva: Genie-server Cheatsheet

Genie -virtuaaliavustin on mielestäni muutoin oikein hyvä, mutta ainakaan itse en ole vielä keksinyt, että miten saisin annettua sille sijaintitiedot sellaisessa muodossa, että järjestelmä sen ymmärtäisi. Olen itse ymmärtänyt, että tiedot pitäisi antaa englannin kielisenä, jotta se osaisi hakea sijainnin oikein. Mikäli sinulla on tästä tietoa, niin laita ihmeessä viestiä vaikka kommentilla, jolloin saadaan se myös muillekin tiedoksi.

Jaa tämä: