ID.nl logo
Huis

Bouw je eigen slimme speaker met Mycroft AI

Voor bedrijven als Amazon, Google en Apple zijn slimme speakers vooral een manier om je aan hun ecosysteem te binden. Eén bedrijf pakt het anders aan en ontwikkelt een slimme assistent voor thuis die volledig opensource is: Mycroft. Met Mycroft AI bouw je zodoende je eigen slimme speaker.

Terwijl de reuzen zoals Google, Amazon en Apple hun slimme luidsprekers in elk huishouden proberen te slijten, timmert er een klein Amerikaans bedrijf aan hun heel eigen weg. Mycroft ontwikkelt een opensource, slimme assistent voor Linux en biedt die aan voor de Linux-desktop, voor de Raspberry Pi of voor zijn zelf ontwikkelde slimme luidspreker Mycroft Mark 1. Voor wie durft, is er ook de mogelijkheid om de broncode voor Android te compileren. Versies voor Windows en Mac zijn nog niet beschikbaar.

De software Mycroft AI is niet alleen opensource, hij is ook heel modulair. Zo gebruikt hij standaard de Mimic voor spraaksynthese. Maar wie Mimic liever inruilt voor bijvoorbeeld eSpeak, kan dat prima doen. Mycroft verplicht je dus niet om een specifiek ecosysteem te volgen, maar geeft je de vrijheid om met je slimme luidspreker te doen wat je wilt. De Free Software Foundation noemt Mycroft dan ook als een van de ‘high priority projects’ in de categorie intelligent personal assistants.

Succesvolle start-up

Mycroft is nog een jong bedrijf. Daardoor is Mycroft AI nog niet zo verfijnd afgewerkt als de slimme luidsprekers van de grotere concurrenten. Maar de ontwikkelingen gaan snel en het platform is open en uitbreidbaar, waardoor er een kleine maar actieve community omheen is ontstaan. Zelf nieuwe mogelijkheden aan Mycroft AI toevoegen, is ook relatief eenvoudig. Het is daarom een project om in de gaten te houden en ideaal voor de PCM-lezer die graag een slimme assistent in huis wil waar hij zelf nog wat over te zeggen heeft.

In februari 2017 ontving Mycroft een bedrag van 110.000 dollar en fulltime engineering support van de Jaguar Land Rover Tech Incubator. Dit is een programma van autobouwer Jaguar Land Rover om start-ups te ondersteunen om de toekomst van de auto-industrie vorm te geven. Het bedrijf heeft met zijn slimme assistent ook heel wat prijzen gewonnen. In oktober 2017 won het nog de Data & AI-prijs van Hello Tomorrow in Parijs.

Mycroft AI op Raspberry Pi 3 installeren

Wij gaan Mycroft AI op een Raspberry Pi 3 installeren. Oudere modellen van de Raspberry Pi zijn niet krachtig genoeg om de software te draaien. Mycroft noemt dit platform Picroft. Je hebt ook een goede luidspreker en usb-microfoon nodig. Op de wiki van Picroft staan wat suggesties voor hardware. Wij kozen voor de Jabra Speak 410 MS Speakerphone (ca. 85 euro). Niet goedkoop, maar het is een kwalitatieve luidspreker en microfoon ineen die je via usb aansluit.

Download het Picroft-image en schrijf het met een programma zoals Etcher naar een micro-sd-kaartje van minstens 8 GB. Dit image is gebaseerd op Raspbian 8 Jessie Lite. Steek het kaartje in je Pi, sluit de microfoon en luidspreker aan, en sluit voor deze eerste keer ook een usb-toetsenbord en hdmi-monitor aan. Sluit tot slot de voedingsadapter aan.

Picroft configureren

Nadat Picroft is opgestart, logt die automatisch de gebruiker pi in en start die Mycroft AI op. Sluit het programma af met de toetscombinatie Ctrl+C, voer het commando

sudo raspi-config

uit en verander als eerste je wachtwoord (dat is standaard mycroft). Ga met de Tab-toets naar Finish en sluit raspi-config zo af.

Als je een usb-luidspreker hebt aangesloten, wordt die waarschijnlijk niet standaard door Mycroft AI opgepikt omdat de analoge audioaansluiting op de Pi zelf voorrang krijgt. Verifieer dan met de opdracht

aplay -l

het kaart- en apparaatnummer van je usb-luidspreker, bijvoorbeeld card 1 en device 0. Open dan het configuratiebestand van Mycroft AI met dit commando:

sudo nano /etc/mycroft/mycroft.conf

Als je kaartnummer 1 en apparaatnummer 0 is, vervang de volgende regel door die eronder:

"play_wav_cmdline": "aplay -Dhw:0,0 %1"
"play_wav_cmdline": "aplay -Dplughw:1,0 %1"

Doe hetzelfde voor de regel die begint met

"play_mp3_opdrachtregel"

Sla je wijzigingen op met Ctrl+O en sluit nano af met Ctrl+X.

We gaan ervan uit dat je geen ethernetkabel aansluit, omdat je zo weinig mogelijk kabeltjes aan je Picroft wilt hebben hangen. Je moet dus wifi configureren. Dat doe je door aan het bestand wpa_supplicant.conf wat regels toe te voegen. Voer de volgende opdracht uit om het configuratiebestand te openen:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

En voeg daaraan de volgende regels toe:

network={ ssid="SSID" psk="WACHTWOORD" }

Vul in plaats van SSID en WACHTWOORD de gegevens van je eigen draadloos netwerk in. Reboot dan Picroft met het commando sudo reboot. Of sla de handmatige wifi-configuratie over en volg dan na de reboot de gesproken instructies van Mycroft AI om wifi in te stellen.

©PXimport

Pairen met Mycroft Home

Als zowel je audio als wifi correct zijn geconfigureerd, hoor je Mycroft AI na de reboot instructies geven om te koppelen (‘pairen’) met de website Mycroft Home. Het is ook mogelijk om Mycroft AI zonder de koppeling met Mycroft Home te draaien, maar de koppeling maakt alles wel iets gemakkelijker.

Bezoek dus Mycroft Home in je webbrowser en creëer een account. Zodra je bent ingelogd, klik je bovenaan op Devices en dan op Add device. Voer de registratiecode in die je Picroft heeft uitgesproken, kies een type apparaat (Picroft), geef je slimme assistent een naam en klik op Ok, let’s pair.

Als alles gelukt is, verwelkomt Picroft je en geeft hij enkele voorbeelden van wat je kunt vragen. Maar voor we verder gaan, klik je eerst in Mycroft Home bovenaan op Settings. Kijk na of alle instellingen (metrisch stelsel, tijdsformaat) juist staan. Als je een vrouwelijke stem wilt, kun je die hier ook instellen, maar dat is een optie waarvoor je moet betalen. Tot slot vind je hier ook de Advanced settings, maar daar blijven we voorlopig af.

Mycroft skills

Nu Mycroft AI draait, kun je hem opdrachten geven. Daarvoor zeg je eerst “Hey, Mycroft” of gewoon “Mycroft” en spreek je daarna je opdracht uit. Standaard komt Mycroft AI al met enkele interessante vaardigheden (skills genoemd). Stel maar eens de vraag “What time is it?”, “Tell me a joke” of “Who is Abraham Lincoln?”.

Je kunt altijd via ssh op je Picroft inloggen en daar opdrachten voor de configuratie invoeren, maar heel wat configuratie doe je eenvoudiger met je stem. Stel bijvoorbeeld het audiovolume in met “Raise volume”, “Lower volume” of “Mute volume”. En als je toch via ssh wilt inloggen voor een moeilijkere configuratie, vraag dan “What’s your IP address?” om te weten op welk adres je dient in te loggen.

De skills van Mycroft AI zijn niet beperkt tot de vorm vraag en antwoord. Je kunt je slimme assistent ook vragen om je aan iets te herinneren. Zeg hem bijvoorbeeld “Remind me about going to the supermarket in 10 minutes.” Dan herinnert Mycroft AI je na tien minuten hieraan. Mycroft AI heeft geen enkel probleem met meerdere herinneringen: met “List reminders” zegt Mycroft AI welke herinneringen je allemaal hebt ingesteld. Met “Create an alarm for five minutes” creëer je een alarm, bijvoorbeeld als kookwekker.

Commandline voor Mycroft AI

Als je Mycroft AI aan het testen bent, is de opdrachtregel-interface (commandline interface) mycroft-cli-client handig. Dit programma start een soort shell. Onderaan typ je opdrachten voor je assistent in, in plaats van ze uit te spreken. Handig om een nieuwe skill te testen, of als je er maar niet in slaagt om een skill te activeren en je je afvraagt of het ligt aan je uitspraak of aan een probleem met de skill zelf.

In het bovenste gedeelte van de interface krijg je debug-uitvoer te zien. Met PageUp en PageDown scrol je erdoor om foutmeldingen te bekijken. Het programma toont ook het geluidsniveau van de microfoon, wat handig is om te controleren of je stem voldoende sterk is. Onderstaande opdracht is overigens erg handig omdat je er alle skills mee herstart:

sudo systemctl restart mycroft-skills.service

©PXimport

In een volgende workshop kijken we naar de opties om extra skills te installeren, en om ze zelf te programmeren. Op die manier breid je je eigen slimme speaker uit met tal van mogelijkheden!

▼ Volgende artikel
Spreek en luister: ChatGPT als gesprekspartner
© Limitless Visions - stock.adobe.com
Huis

Spreek en luister: ChatGPT als gesprekspartner

ChatGPT kan steeds meer en luistert tegenwoordig ook naar de prompts (opdrachten) die een gebruiker inspreekt. Bovendien leest de chatbot zelfs de uitgebreide antwoorden voor. Hardop voorlezen werkt zelfs met negen natuurlijk klinkende stemmen.

In drie stappen laten we de spreek- en luisterfunctie van ChatGPT zien:

  • Spreek prompts in door op de microfoonknop te tikken
  • Laat ChatGPT de antwoorden voorlezen
  • Kies uit negen verschillende stemmen

Typen te veel gedoe? Lees dan zeker ook: Geen toetsenbord meer nodig: laat je stem het werk doen

Opdrachten inspreken

OpenAI heeft de spraakfunctie voor ChatGPT voor iedereen beschikbaar gemaakt. In het begin was deze functie uitsluitend bedoeld voor wie een Plus- of Enterprise-abonnement had. Natuurlijk moet je via de instellingen van je mobieltje toestemming geven aan ChatGPT voor het gebruik van de microfoon. Als dat is geregeld, open je de app en tik je onderaan op de microfoonknop. Een animatie reageert op je stem en als je klaar bent met praten, tik je op het vinkje in de zwarte cirkel. De app zal wat je gezegd hebt razendsnel weergeven. Ben je tevreden over de formulering, dan tik je op het pijltje. ChatGPT genereert meteen het antwoord en onderaan verschijnt opnieuw de microfoonknop om de volgende opdracht in te spreken.

Een animatie reageert op je stem.

Antwoorden beluisteren

Vervolgens druk je in de mobiele versie lang op de tekst die de chatbot heeft gegenereerd, zodat er een aantal functies verschijnt. Daar kies je de opdracht Voorlezen. Na enkele seconden hoor je een stem die het antwoord voorleest.

Bovenaan zie je een klein gedeelte waarin je het voorlezen kunt pauzeren en met twee knoppen kun je de tekst vijftien seconden terugspoelen en vooruitspoelen.

In de desktop-versie van ChatGPT zie je onder het antwoord het pictogram van een luidspreker. Daar moet je op klikken om de stem van ChatGPT te horen. Klik dus niet met rechts op de tekst om in het contextueel menu de opdracht Spraak te selecteren. Daarmee start je de voorleesfunctie van de browser en die is niet zo goed.

Boven de tekst kun je het voorlezen pauzeren.

Over voorlezen gesproken ...

Kinderen vinden het heerlijk!

Kies een andere stem

Zowel in de mobiele versie als in de desktopversie heb je de keuze uit negen stemmen. In de Android- en iOS-versie moet je naar het beginscherm gaan van de app, waar je onderaan je gebruikersnaam ziet staan. Tik op de drie puntjes en selecteer Spraak. Je krijgt de stem te horen; ze klinken natuurlijk. Sol is ‘gevat en ontspannen’ en van Ember zegt de app dat hij ‘vol vertrouwen en optimistisch’ klinkt. Maak je keuze door op Gereed te tikken.

In de desktop-versie klik je rechtsboven op de profielknop om de Instellingen te openen. Ook daar kun je dan een van de negen stemmen selecteren.

Van iedere stem lees je de vermeende eigenschappen.

Watch on YouTube
▼ Volgende artikel
Waar voor je geld: 5 alles-in-één laserprinters voor een mooie prijs
© Tim Allen
Huis

Waar voor je geld: 5 alles-in-één laserprinters voor een mooie prijs

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Een all-in-one-printer is een handig apparaat voor het scannen, kopiëren en printen van documenten en foto's. De allerbeste afdrukkwaliteit krijg je met een laserprinter. Wij vonden vijf betaalbare modellen voor je.

Een laserprinter maakt gebruik van toner in plaats van inkt om afdrukken te produceren. Toner is een fijn poeder dat met hoge temperaturen op het papier wordt gesmolten. Dit proces zorgt ervoor dat je met grote toners kunt printen, wat betekent dat je langere tijd kunt blijven afdrukken zonder de toner te hoeven vervangen. Laserprinters zijn vaak snel en efficiënt, waardoor ze uitstekend zijn voor gebruik op kantoor. Maar ook als je thuis veel print, bijvoorbeeld als zzp'er, kan een laserprinter uitkomst bieden.

HP Color Laser 179fnw

De HP Color Laser MFP 179fnw is een van de kleinste kleurenlaserprinters in zijn klasse en is daardoor ideaal voor thuisgebruik en plekken waar niet veel plek voor een printer is. Met functies zoals printen, scannen, kopiëren en zelfs nog faxen biedt deze 4-in-1 printer een hoop veelzijdigheid. De afdruksnelheid bedraagt tot 18 pagina's per minuut in zwart-wit en 4 ppm in kleur, met een resolutie van 600 x 600 dpi.

Dankzij de automatische documentinvoer (ADF) voor 40 pagina's en wifi-verbinding is deze printer gebruiksvriendelijk en multi-inzetbaar. Hoewel de afdruksnelheid lager ligt dan bij sommige concurrenten, is zijn compacte formaat juist een pluspunt.

Brother DCP 1610W

De Brother DCP-1610W is een compacte zwart-wit laserprinter die printen, kopiëren en scannen combineert. Met een afdruksnelheid van 20 pagina's per minuut en een resolutie van 2400 x 600 dpi levert hij haarscherpe resultaten. Dankzij wifi-connectiviteit kunnen meerdere gebruikers eenvoudig draadloos printen.

De papierlade biedt plaats aan 150 vellen en het apparaat is voorzien van anti-jam-technologie om papierstoringen tot een minimum te beperken. In vergelijking met de HP Color Laser MFP 179fnw biedt deze printer geen kleurafdrukken, maar hij is wel een stuk sneller met zijn afdrukken.

HP Laserjet Pro 2Z622

De HP LaserJet Pro 2Z622 is geschikt voor onder meer kantooromgevingen. Met afdruksnelheden tot 42 pagina's per minuut en functies zoals dubbelzijdig printen, scannen, kopiëren en faxen is dit een lekker veelzijdige 4-in-1-laserprinter. Het apparaat ondersteunt zowel bekabelde als draadloze netwerken en biedt geavanceerde beveiligingsfuncties.

Canon i-SENSYS MF272wd

De Canon i-SENSYS MF272dw is een monochrome laserprinter en drukt af met en snelheid van 29 pagina's per minuut. Met een resolutie van 2400 x 600 dpi levert hij snelle en scherpe resultaten. Dankzij automatische dubbelzijdige afdrukken, wifi- en ethernetverbinding is hij veelzijdig inzetbaar.

In vergelijking met de Brother DCP-1610W levert deze Canon i-SENSYS MF272dw snellere prestaties en meer connectiviteitsopties, hoewel hij geen kleurendruk ondersteunt; dan moet je toch echt bij de HP Color Laser MFP 179fnw zijn.

Xerox B225 A4

De Xerox B225 is een zwart-wit all-in-one-laserprinter die printen, kopiëren en scannen combineert. Met een afdruksnelheid van maar liefst 34 pagina's per minuut en een eerste afdruktijd van slechts 6,4 seconden is hij goed in te zetten als je veel en vaak print. De printer beschikt over automatische dubbelzijdige afdrukken, een papierlade voor 250 vellen en kan via wifi of een vaste netwerkverbinding met je thuisnetwerk worden verbonden.