<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Koen Vervloesem - Technologieschrijver (Berichten over rhasspy)</title><link>https://koen.vervloesem.eu/</link><description></description><atom:link href="https://koen.vervloesem.eu/nl/tags/rhasspy.xml" rel="self" type="application/rss+xml"></atom:link><language>nl</language><copyright>Copyright © 2024 &lt;a href="mailto:koen@vervloesem.eu"&gt;Koen Vervloesem&lt;/a&gt; &lt;p xmlns:dct="http://purl.org/dc/terms/" xmlns:cc="http://creativecommons.org/ns#" class="license-text"&gt;Dit werk door &lt;a rel="cc:attributionURL" href="mailto:koen@vervloesem.eu"&gt;&lt;span rel="cc:attributionName"&gt;Koen Vervloesem&lt;/span&gt;&lt;/a&gt; is gelicentieerd onder &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.nl"&gt;CC BY-SA 4.0&lt;img style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;" src="/cc.svg" /&gt;&lt;img  style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;" src="/by.svg" /&gt;&lt;img  style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;" src="/sa.svg" /&gt;&lt;/a&gt; | &lt;a href="/nl/juridische-kennisgeving/"&gt;Juridische kennisgeving&lt;/a&gt; | &lt;a href="/nl/privacybeleid/"&gt;Privacybeleid&lt;/a&gt;&lt;/p&gt;</copyright><lastBuildDate>Sat, 07 Sep 2024 14:15:02 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Hulp gevraagd om Nederlandse spraaksynthese te verbeteren</title><link>https://koen.vervloesem.eu/nl/blog/hulp-gevraagd-om-nederlandse-spraaksynthese-te-verbeteren/</link><dc:creator>Koen Vervloesem</dc:creator><description>&lt;aside class="sidebar"&gt;
&lt;p class="sidebar-title"&gt;TTS?&lt;/p&gt;
&lt;p&gt;Text to Speech (TTS) is de component van een stemassistent die tekst omzet naar spraak. Als je stemassistent je op een vraag wil antwoorden, zet die een tekstuele voorstelling van het antwoord (bijvoorbeeld "het is vijf voor twaalf") om naar audio van het gesproken antwoord.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Een opensource stemassistent zoals &lt;a class="reference external" href="https://koen.vervloesem.eu/nl/blog/stembesturing-zonder-luistervinken-met-rhasspy/"&gt;Rhasspy&lt;/a&gt; die volledig offline werkt, is een hele krachttoer. Een zwak punt van Rhasspy is dat de Nederlandse spraaksynthese nogal robotachtig klinkt. Dat is te wijten aan het standaard gebruikte TTS-systeem &lt;a class="reference external" href="http://espeak.sourceforge.net/"&gt;eSpeak&lt;/a&gt;. Probeer dit maar eens uit:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code console"&gt;&lt;a id="rest_code_d8253883e39f4094b78d7ac015142dc5-1" name="rest_code_d8253883e39f4094b78d7ac015142dc5-1" href="https://koen.vervloesem.eu/nl/blog/hulp-gevraagd-om-nederlandse-spraaksynthese-te-verbeteren/#rest_code_d8253883e39f4094b78d7ac015142dc5-1"&gt;&lt;/a&gt;&lt;span class="gp"&gt;$ &lt;/span&gt;espeak&lt;span class="w"&gt; &lt;/span&gt;-v&lt;span class="w"&gt; &lt;/span&gt;nl&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Welkom in de wondere wereld van spraaksynthese"&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Het doet me altijd wat denken aan Howard die in The Big Bang Theory de computerstem van Stephen Hawking imiteert. Leuk voor een keer, maar daar wil je niet de hele dag naar luisteren...&lt;/p&gt;
&lt;p&gt;Rhasspy ondersteunt voor het Nederlands ook &lt;a class="reference external" href="https://cloud.google.com/text-to-speech/docs/wavenet"&gt;Google WaveNet&lt;/a&gt;, maar dat vereist een Google-account en stuurt elke nieuwe zin die je wilt laten uitspreken naar Google. Dat past dus niet in een offline oplossing.&lt;/p&gt;
&lt;p&gt;Buiten wat onderzoeksprojecten waarvan me niet duidelijk is of ze nog onderhouden worden, ken ik geen ander opensource offline spraaksyntheseprogramma dat out-of-the-box Nederlands ondersteunt en een goede kwaliteit haalt.&lt;/p&gt;
&lt;section id="hulp-gevraagd"&gt;
&lt;h2&gt;Hulp gevraagd&lt;/h2&gt;
&lt;p&gt;Michael Hansen, de hoofdontwikkelaar van Rhasspy, wil aan een oplossing werken door een model voor &lt;a class="reference external" href="https://github.com/mozilla/TTS"&gt;Mozilla TTS&lt;/a&gt; te trainen voor het Nederlands. Maar voor zo'n model heb je een audiocorpus nodig van tekst met de overeenkomstige spraak. En Michael roept daarom nu de hulp in van vrijwilligers met als moedertaal Nederlands.&lt;/p&gt;
&lt;p&gt;Hij ziet de volgende opties:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;p&gt;Gebruik een audiocorpus met vrije licentie dat voor elke zin een audiobestand met de overeenkomstige spraak aanbiedt. Audioboeken zoals die van &lt;a class="reference external" href="https://librivox.org"&gt;LibriVox&lt;/a&gt; zijn dus niet geschikt omdat die per hoofdstuk opgesplitst zijn.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maak zelf een geschikt audiocorpus aan. Michael bezorgt je dan een fonetisch gebalanceerde verzameling zinnen die je voorleest, samen met een programma dat je spraak op de correcte manier opneemt. Je hebt wel een kwalitatieve microfoon nodig.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ken je een geschikt audiocorpus of wil je je stem uitlenen om de Nederlandse stem van Rhasspy te worden? &lt;a class="reference external" href="https://community.rhasspy.org/t/which-tts-is-better-for-the-dutch-language/1452/3"&gt;Reageer dan zeker in het forum van Rhasspy&lt;/a&gt; of spreek me via &lt;a class="reference external" href="mailto:koen@vervloesem.eu"&gt;e-mail&lt;/a&gt; of &lt;a class="reference external" href="https://twitter.com/koenvervloesem"&gt;Twitter&lt;/a&gt; aan.&lt;/p&gt;
&lt;/section&gt;</description><category>opensource</category><category>rhasspy</category><category>spraaksynthese</category><category>spraaktechnologie</category><guid>https://koen.vervloesem.eu/nl/blog/hulp-gevraagd-om-nederlandse-spraaksynthese-te-verbeteren/</guid><pubDate>Thu, 20 Aug 2020 06:48:51 GMT</pubDate></item><item><title>Stembesturing zonder luistervinken met Rhasspy</title><link>https://koen.vervloesem.eu/nl/blog/stembesturing-zonder-luistervinken-met-rhasspy/</link><dc:creator>Koen Vervloesem</dc:creator><description>&lt;p&gt;Met slimme assistenten zoals Google Assistant, Amazon Alexa en Apple Siri geef je opdrachten met je stem. Leuk, maar je stemopnames worden wel naar de cloud gestuurd voor verwerking. Met een Raspberry Pi en de opensourcesoftware &lt;a class="reference external" href="https://rhasspy.readthedocs.io"&gt;Rhasspy&lt;/a&gt; kun je stembesturing volledig lokaal realiseren, zelfs zonder internet. Je stemopdrachten koppel je dan aan &lt;a class="reference external" href="https://nodered.org"&gt;Node-RED&lt;/a&gt; of een domoticasysteem zoals &lt;a class="reference external" href="https://www.home-assistant.io"&gt;Home Assistant&lt;/a&gt;, en dat zonder dat Google, Amazon of Apple de hele tijd meeluistert. Zelfs in het Nederlands.&lt;/p&gt;
&lt;p&gt;Rhasspy is geen afgewerkte spraakassistent zoals voorgaande voorbeelden. Het is eigenlijk een &lt;em&gt;toolkit&lt;/em&gt; waarmee je zelf je eigen spraakassistent ontwikkelt. Meer voor de doe-het-zelvers dus, maar als je al een eigen domoticasysteem zoals Home Assistant hebt draaien, zal dit je zeker niet afschrikken. Na de configuratie heb je een systeem dat audio omzet in gestructureerde JSON-gegevens:&lt;/p&gt;
&lt;img alt="/images/rhasspy-audio-to-json.svg" src="https://koen.vervloesem.eu/images/rhasspy-audio-to-json.svg"&gt;
&lt;section id="je-bedoeling-herkennen"&gt;
&lt;h2&gt;Je bedoeling herkennen&lt;/h2&gt;
&lt;aside class="sidebar"&gt;
&lt;p class="sidebar-title"&gt;Hoe werkt Rhasspy?&lt;/p&gt;
&lt;p&gt;Meer weten over hoe Rhasspy juist werkt? Bekijk dan de &lt;a class="reference external" href="https://rhasspy.readthedocs.io/en/latest/whitepaper/"&gt;whitepaper&lt;/a&gt; in de uitstekende documentatie van Rhasspy.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Rhasspy herkent niet zomaar alles wat je zegt. Je dient zelf te definiëren welke zinnen Rhasspy moet verstaan en welke bedoeling (&lt;em&gt;intent&lt;/em&gt;) hij daaraan geeft. Omdat deze herkenning specifiek op maat van jouw vereisten gebeurt, vereist dit geen clouddienst met grote verwerkingskracht, maar kun je Rhasspy perfect op een Raspberry Pi draaien.&lt;/p&gt;
&lt;p&gt;Zo definieer je bijvoorbeeld een intent &lt;code class="docutils literal"&gt;LightState&lt;/code&gt; die een toestand kent: aan of uit. Je vult dan zinnen in die deze intent weergeven, zoals "doe het licht aan". Als je dan die zin uitspreekt, komt de hele machinerie van Rhasspy in gang en krijg je als resultaat het JSON-fragment dat de herkende bedoeling op een gestructureerde manier weergeeft.&lt;/p&gt;
&lt;p&gt;Daarop kun je dan Home Assistant, Node-RED of je eigen software laten reageren en bijvoorbeeld je apparaten via je stem laten aansturen. Rhasspy maakt gebruik van &lt;a class="reference external" href="https://pcmweb.nl/artikelen/domotica/alles-over-het-internet-of-things-protocol-mqtt/"&gt;MQTT (Message Queuing Telemetry Transport)&lt;/a&gt; om boodschappen op je netwerk rond te sturen wanneer je hem geactiveerd hebt, wanneer hij een zin heeft herkend, wanneer een sessie voorbij is enzovoort. Je kunt dus in gelijk welke programmeertaal of gelijk welk domoticasysteem op die MQTT-boodschappen reageren en zelf MQTT-boodschappen sturen om functionaliteit van Rhasspy aan te spreken.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="aan-de-slag-met-rhasspy"&gt;
&lt;h2&gt;Aan de slag met Rhasspy&lt;/h2&gt;
&lt;aside class="sidebar"&gt;
&lt;p class="sidebar-title"&gt;ReSpeaker-driver werkt niet?&lt;/p&gt;
&lt;p&gt;De audiodriver voor de &lt;a class="reference external" href="https://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT/"&gt;ReSpeaker 2-Mics Pi HAT&lt;/a&gt; van Seeed werkt niet meer op recente kernelversies van Raspberry Pi OS (voorheen Raspbian). Eén oplossing is om in stap 2 van het artikel &lt;a class="reference external" href="https://github.com/HinTak/seeed-voicecard/"&gt;https://github.com/HinTak/seeed-voicecard/&lt;/a&gt; te gebruiken in plaats van &lt;a class="reference external" href="https://github.com/respeaker/seeed-voicecard"&gt;https://github.com/respeaker/seeed-voicecard&lt;/a&gt;.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Wil je ook met Rhasspy aan de slag? Op de website van Computer!Totaal leg ik in het artikel &lt;a class="reference external" href="https://computertotaal.nl/artikelen/internet-thuis/zo-krijg-je-stembesturing-op-de-raspberry-pi/"&gt;Zo krijg je stembesturing op de Raspberry Pi&lt;/a&gt; uit hoe je met Rhasspy begint op een Raspberry Pi met luidspreker en microfoon. Op het einde van het artikel kun je spraakopdrachten in het Nederlands geven aan Rhasspy en kun je Node-RED daarop laten reageren (zie ook mijn artikel &lt;a class="reference external" href="https://computertotaal.nl/artikelen/internet-thuis/zo-koppel-je-apparaten-en-diensten-zonder-programmeren/"&gt;Node-RED: apparaten en diensten koppelen zonder code&lt;/a&gt;). Loop je tegen problemen aan? Bezoek dan zeker &lt;a class="reference external" href="https://community.rhasspy.org"&gt;Rhasspy's forum&lt;/a&gt; eens, waar talloze behulpzame communityleden actief zijn (waaronder ikzelf).&lt;/p&gt;
&lt;p&gt;Heeft de mogelijkheid om zonder clouddienst aan stembesturing te doen je geprikkeld? Lees dan zeker mijn boek &lt;a class="reference external" href="https://koen.vervloesem.eu/books/control-your-home-with-raspberry-pi/"&gt;Control Your Home with Raspberry Pi: Secure, Modular, Open-Source and Self-Sufficient&lt;/a&gt;. Zoals de ondertitel al zegt, is het zelfvoorzienende aspect een belangrijk principe van mijn aanpak in dit boek. Ik vind dat een domoticasysteem niet mag afhangen van externe diensten van bedrijven die er van de ene op de andere dag de brui aan kunnen geven, of die continu kunnen zien wat ik thuis doe. Voor stembesturing geldt dat nog meer: je wilt niet dat Google of een ander bedrijf meeluistert met wat er in je huis gebeurt, ook al is het per ongeluk.&lt;/p&gt;
&lt;p&gt;Het hele hoofdstuk over stembesturing in mijn boek gaat dan ook over Rhasspy. Het gaat iets dieper in op enkele aspecten die in het artikel in Computer!Totaal minder of niet aan bod kwamen. Zo leg ik er uit hoe je één Raspberry Pi als &lt;em&gt;basis&lt;/em&gt; opzet en één of meerdere als &lt;em&gt;satellieten&lt;/em&gt;, zodat je op meerdere plaatsen in huis met Rhasspy kunt spreken. Ook andere manieren dan Node-RED om de opdrachten die je geeft te verwerken komen aan bod, zoals met Python (onder andere via &lt;a class="reference external" href="https://appdaemon.readthedocs.io"&gt;AppDaemon&lt;/a&gt;). Het boek is in het Engels en de voorbeelden dus ook, maar dezelfde aanpak werkt ook perfect in het Nederlands.&lt;/p&gt;
&lt;/section&gt;</description><category>domotica</category><category>home-assistant</category><category>linux</category><category>node-red</category><category>opensource</category><category>privacy</category><category>raspberry-pi</category><category>rhasspy</category><category>stembesturing</category><guid>https://koen.vervloesem.eu/nl/blog/stembesturing-zonder-luistervinken-met-rhasspy/</guid><pubDate>Wed, 19 Aug 2020 08:34:21 GMT</pubDate></item></channel></rss>