{"id":468,"date":"2026-09-15T09:15:00","date_gmt":"2026-09-15T07:15:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=468"},"modified":"2026-09-10T10:51:37","modified_gmt":"2026-09-10T08:51:37","slug":"local-voice-control-in-home-assistant-with-whisper-piper","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/","title":{"rendered":"Local Voice Control in Home Assistant with Whisper &amp; Piper"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Cloud-dependent voice assistants such as Amazon Alexa, Google Assistant, and Apple Siri rely on remote servers for voice activity detection, automatic speech recognition (ASR), and natural language processing (NLP). This dependency introduces latency, creates vulnerability to internet outages, and raises severe privacy concerns regarding continuous acoustic monitoring. Implementing a fully local voice control architecture in Home Assistant using the Wyoming protocol\u2014combining OpenAI Whisper for Speech-to-Text (STT) and Piper for neural Text-to-Speech (TTS)\u2014enables sub-second voice command execution entirely within the local area network.<\/p>\r\n\r\n\r\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-voice-en.png\" width=\"1120\" height=\"620\" alt=\"Loop of local voice control from the ESPHome satellite through Whisper and Home Assistant to the spoken answer via Piper\">\n<figcaption>The Wyoming pipeline is a loop: the satellite listens, Whisper turns speech into text, Home Assistant acts on it, and Piper speaks the answer back along the same path \u2014 entirely within the local network.<\/figcaption>\n<\/figure>\r\n\n\n\r\n<h2 class=\"wp-block-heading\">1. Architectural Framework: The Wyoming Voice Pipeline<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Local voice processing in Home Assistant operates as a modular, decoupled pipeline where audio streams are processed sequentially without external API calls:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Wake Word Detection (openWakeWord \/ microWakeWord):<\/strong> Lightweight models constantly analyze microphone input on local satellite hardware (such as ESP32-S3 devices) to trigger pipeline activation upon detecting a keyword.<\/li>\r\n<li><strong>Speech-to-Text (Whisper):<\/strong> Audio packets are streamed via the Wyoming protocol to a local Whisper container, converting spoken language into structured text strings.<\/li>\r\n<li><strong>Intent Recognition (Home Assistant Assist):<\/strong> Natural language parser engines match the transcribed text against defined device entities, areas, and automation aliases.<\/li>\r\n<li><strong>Text-to-Speech (Piper):<\/strong> The response string is synthesized into natural-sounding speech audio by Piper and streamed back to the voice satellite speaker.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n\n<h2 class=\"wp-block-heading\">2. Step-by-Step Installation of Whisper &amp; Piper Add-ons<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Deploying local voice services requires provisioning dedicated container add-ons within Home Assistant OS or supervised Docker environments:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Install the Whisper Add-on:<\/strong> Navigate to <em>Settings &gt; Add-ons &gt; Add-on Store<\/em> and search for <strong>Whisper<\/strong>. During configuration, select the appropriate model size: <code>tiny-int8<\/code> or <code>base<\/code> for CPU-only servers (Raspberry Pi 4\/5), or <code>medium<\/code> for servers equipped with GPU acceleration or Google Coral TPUs.<\/li>\r\n<li><strong>Install the Piper Add-on:<\/strong> Search for and install the <strong>Piper<\/strong> add-on. In the configuration tab, select the preferred neural voice model (e.g., <code>en_US-lessac-medium<\/code> for English) and initialize the service.<\/li>\r\n<li><strong>Configure the Wyoming Integration:<\/strong> Navigate to <em>Settings &gt; Devices &amp; Services &gt; Add Integration<\/em>, search for <strong>Wyoming Protocol<\/strong>, and add both Whisper (default port <code>10300<\/code>) and Piper (default port <code>10200<\/code>).<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Step-by-Step Assist Pipeline Configuration<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Once the processing engines are integrated, a cohesive voice assistant pipeline must be established:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Create a Voice Pipeline:<\/strong> Navigate to <em>Settings &gt; Voice Assistants &gt; Add Pipeline<\/em>. Assign an explicit name such as <code>Local Assist - English<\/code>.<\/li>\r\n<li><strong>Assign Local Engines:<\/strong> Set the Speech-to-Text engine to <strong>Whisper<\/strong>, set the Conversation Agent to <strong>Home Assistant<\/strong>, and set the Text-to-Speech engine to <strong>Piper<\/strong>.<\/li>\r\n<li><strong>Enable Local Wake Word:<\/strong> If using local wake word detection, select <strong>openWakeWord<\/strong> as the wake word engine and choose an activation keyword (such as <code>Okay Nabbu<\/code> or <code>Hey Jarvis<\/code>).<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Production-Ready ESPHome Satellite YAML<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To capture audio and stream responses without cloud hardware, an ESP32-S3 voice satellite (such as the ESP32-S3-BOX-3 or Atom Echo) can be provisioned using the following ESPHome configuration:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-yaml\">esphome:\n  name: \"voice-satellite-livingroom\"\n  friendly_name: \"Living Room Voice Satellite\"\n\nesp32:\n  board: esp32-s3-devkitc-1\n  framework:\n    type: esp-idf\n\napi:\n  encryption:\n    key: \"GENERATE_YOUR_KEY_HERE\"\n\ni2s_audio:\n  - id: i2s_in\n    i2s_lrclk_pin: GPIO4\n    i2s_bclk_pin: GPIO5\n  - id: i2s_out\n    i2s_lrclk_pin: GPIO15\n    i2s_bclk_pin: GPIO16\n\nmicrophone:\n  - platform: i2s_audio\n    id: sat_mic\n    i2s_audio_id: i2s_in\n    i2s_din_pin: GPIO6\n    adc_type: external\n    pdm: false\n\nspeaker:\n  - platform: i2s_audio\n    id: sat_speaker\n    i2s_audio_id: i2s_out\n    i2s_dout_pin: GPIO17\n\nvoice_assistant:\n  id: va_pipeline\n  microphone: sat_mic\n  speaker: sat_speaker\n  use_wake_word: true\n  noise_suppression_level: 2\n  auto_gain: 31dBFS\n  volume_multiplier: 2.0<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Summary &amp; Architectural Value<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>What this tutorial achieves:<\/strong> The successful deployment of a fully autonomous, local voice control architecture in Home Assistant using the Wyoming protocol, Whisper STT, Piper TTS, and ESPHome-based hardware satellites.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Resulting value:<\/strong> Smart home voice interaction becomes completely independent of third-party cloud servers. Private conversations and acoustic telemetry remain isolated within the local network, eliminating profiling and data harvesting risks. Furthermore, removing cloud round-trip routing reduces voice command execution latency to sub-second speeds while ensuring 100% voice control availability during internet outages.<\/p>\r\n\n\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.home-assistant.io\/voice_control\/\" target=\"_blank\" rel=\"noopener noreferrer\">Home Assistant voice control<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A technical step-by-step tutorial on building a private, cloud-free local voice assistant in Home Assistant using Whisper, Piper, and the Wyoming protocol.<\/p>\n","protected":false},"author":1,"featured_media":14028,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92624],"tags":[91380,91279,91365,91626,91219],"class_list":["post-468","post","type-post","status-publish","format-standard","hentry","category-tutorials-en-smart-home","tag-artificial-intelligence","tag-prywatnosc-danych-pl","tag-home-assistant","tag-smart-home-de","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"A technical step-by-step tutorial on building a private, cloud-free local voice assistant in Home Assistant using Whisper, Piper, and the Wyoming protocol.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-15T07:15:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Local Voice Control in Home Assistant with Whisper &amp; Piper\",\"datePublished\":\"2026-09-15T07:15:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/\"},\"wordCount\":579,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-468-local-voice-control-home-assistant-w-g.png\",\"keywords\":[\"Artificial Intelligence\",\"Data Privacy\",\"Home Assistant\",\"Smart Home\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/\",\"name\":\"Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-468-local-voice-control-home-assistant-w-g.png\",\"datePublished\":\"2026-09-15T07:15:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-468-local-voice-control-home-assistant-w-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-468-local-voice-control-home-assistant-w-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Local Voice Control in Home Assistant with Whisper & Piper\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/local-voice-control-in-home-assistant-with-whisper-piper\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Local Voice Control in Home Assistant with Whisper &amp; Piper\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/","og_locale":"en_US","og_type":"article","og_title":"Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog","og_description":"A technical step-by-step tutorial on building a private, cloud-free local voice assistant in Home Assistant using Whisper, Piper, and the Wyoming protocol.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-15T07:15:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Local Voice Control in Home Assistant with Whisper &amp; Piper","datePublished":"2026-09-15T07:15:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/"},"wordCount":579,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png","keywords":["Artificial Intelligence","Data Privacy","Home Assistant","Smart Home","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/","name":"Local Voice Control in Home Assistant with Whisper &amp; Piper - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png","datePublished":"2026-09-15T07:15:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-468-local-voice-control-home-assistant-w-g.png","width":1200,"height":630,"caption":"Local Voice Control in Home Assistant with Whisper & Piper"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/local-voice-control-in-home-assistant-with-whisper-piper\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Local Voice Control in Home Assistant with Whisper &amp; Piper"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":6,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"predecessor-version":[{"id":17934,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/468\/revisions\/17934"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14028"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}