2025-05-31 03:02:30 +02:00

1387 lines
72 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: landingpage
title: "Home Assistant Voice Preview Edition"
description: "Bring choice to voice - the best way to get started with voice"
date: 2024-12-19
og_image: /images/voice-pe/og.jpg
frontpage: true
frontpage_image: /images/frontpage/voice-pe-frontpage.jpg
---
<link rel="preload" fetchpriority="high" as="image" href="/images/voice-pe/gradient.webp" type="image/webp">
<link rel="stylesheet" href="/voice-pe/styles.css" />
<link rel="stylesheet" href="/voice-pe/nice-select2.css" />
<script src="/voice-pe/nice-select2.js" defer></script>
<div class="vpe-main">
<div class="grid"></div>
<div class="vpe-nav">
<div class="wrapper nav-inner">
<div class="nav-logo-wrapper">
<div class="nav-logo">
<img src="/images/voice-pe/voice-logo.svg" width="280" height="34" alt="Home Assistant Voice Preview Edition">
<img src="/images/voice-pe/voice-logo-dark.svg" width="280" height="34"
alt="Home Assistant Voice Preview Edition">
</div>
<div class="badge">Preview edition</div>
</div>
<div class="nav-links">
<a href="#features">Features</a>
<a href="#specs">Specs</a>
<a href="#faq">FAQ</a>
<a href="https://support.nabucasa.com/hc/en-us/categories/24451727188125-Home-Assistant-Voice-Preview-Edition" target="_blank" rel="noopener">Docs</a>
<a href="#" class="cta buy">Buy now</a>
</div>
<div class="burger">
<div class="burger__icon"></div>
</div>
</div>
<div class="mobile-nav">
<div class="wrapper">
<div class="nav-links">
<a href="#features">Features</a>
<a href="#specs">Specs</a>
<a href="#faq">FAQ</a>
<a href="https://support.nabucasa.com/hc/en-us/categories/24451727188125-Home-Assistant-Voice-Preview-Edition" target="_blank" rel="noopener">Docs</a>
<a href="#" class="cta buy">Buy now</a>
</div>
</div>
</div>
</div>
<section id="hero">
<div class="wrapper outer">
<div class="bg-gradient">
<div class="grid"></div>
</div>
<div class="wrapper tall" id="hero">
<div class="hero-inner">
<div class="hero-h1">
<h1>
<span class="large"><span class="f-in">Bring</span><br> <span class="f-in">choice</span></span>
<span class="small"><span class="hero-c-in">to</span> <span class="hero-c-in">voice</span></span>
</h1>
<div class="tagline">The best way to get started with voice</div>
</div>
<div class="product">
<div class="etarget"></div>
<div class="text-mask"><span class="f-in">Bring</span> <span class="f-in">choice</span></div>
<img src="/images/voice-pe/vpe-top.webp" fetchpriority="high"
alt="Top view of the Home Assistant Voice Preview Edition">
</div>
</div>
</div>
</div>
</section>
<section id="timeline" data-event="0">
<div class="wrapper-outer">
<div class="bg-blue-gradient">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="timeline-wrapper">
<div class="timeline-content">
<div class="h1">Our vision</div>
<div class="subtitle-medium">Lets make open, local, and private voice assistants a reality</div>
<div class="video">
<video data-src="/images/voice-pe/vision.mp4" muted autoplay loop playsinline>
<track default kind="captions" srclang="en" src="/images/voice-pe/vision.vtt" />
</video>
</div>
</div>
<div class="timeline">
<div class="track">
<div class="icon"></div>
<div class="event f-in">
<div class="event-details">
<div class="when">January 2023</div>
<div class="title h4">Year of the voice</div>
</div>
<div class="event-content">Home Assistant declares 2023 the year of the voice; the community and Nabu
Casa
focus on rapid development. Assist is added to Home Assistant.</div>
</div>
<div class="event">
<div class="event-details">
<div class="when">April 2023</div>
<div class="title h4">Home Assistant Cloud gets voice</div>
</div>
<div class="event-content">
Home Assistant Cloud adds speech-to-text and text-to-speech capabilities, enabling low-powered
hardware
to run Assist. More languages and features are added.
</div>
</div>
<div class="event">
<div class="event-details">
<div class="when">December 2024</div>
<div class="title h4">Voice Preview Edition launches</div>
</div>
<div class="event-content">
Dedicated high-quality hardware allows you to experience and develop this community-driven and private
voice assistant.
</div>
</div>
<div class="event">
<div class="event-details">
<div class="when">Future</div>
<div class="title h4">Fully-local voice for everyone</div>
</div>
<div class="event-content">
We will match and then surpass other voice assistants. Supporting languages that big tech ignores -
while being private, open, and fully customizable. Running inexpensively on local hardware.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="overview">
<div class="wrapper-outer">
<div class="bg-blue">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="cols">
<div class="col">
<span class="fs-medium">In short</span>
<a href="#features" class="card">
<span>Advanced audio processing</span>
</a>
</div>
<div class="col">
<a href="#controls" class="card">
<span>Built for Home Assistant</span>
</a>
<div class="c-image">
<img loading="lazy"
src="/images/voice-pe/community-images/44ba887d-441c-4fc6-859b-3599bead705b_voice-pe_top_MrDarrenGriffin_1731705184980.webp"
alt="A community image of the Voice Preview Edition n a computer desk featuring a keyboard, mouse, and two game controllers arranged neatly on its surface.">
<div class="attribution">Credit: MrDarrenGriffin</div>
</div>
</div>
<div class="col">
<div class="carousel-images" data-slide="0">
<div class="slides">
<div class="slide">
<img loading="lazy" src="/images/voice-pe/carousel/1.webp"
alt="The Voice Preview Edition sitting alongside a Home Assistant Green device">
</div>
<div class="slide">
<img loading="lazy" src="/images/voice-pe/carousel/2.webp"
alt="A close-up photo of the rotary volume dial and button on the Voice Preview Edition">
</div>
<div class="slide">
<img loading="lazy" src="/images/voice-pe/carousel/3.webp"
alt="A close-up photo of the physical mute switch on the Voice Preview Edition">
</div>
<div class="slide">
<img loading="lazy" src="/images/voice-pe/carousel/4.webp"
alt="A close-up photo of one of the two microphones on the Voice Preview Edition">
</div>
<div class="slide">
<img loading="lazy" src="/images/voice-pe/carousel/5.webp"
alt="A close-up photo of the speaker holes on the Voice Preview Edition">
</div>
</div>
<div class="controls">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
<a href="#choice-to-voice" class="card">
<span>Run local or in the cloud</span>
</a>
</div>
</div>
</div>
</div>
</section>
<section id="pricing">
<div class="bg-none">
<div class="grid"></div>
</div>
<div class="wrapper-outer">
<div class="bg-secondary"></div>
<div class="wrapper">
<div class="content">
<div class="subtitle-medium">Preview the future of voice for just</div>
<div class="fs-price">&#x24;69 / &#8364;59 <span>*</span></div>
</div>
</div>
<div class="wrapper outer">
<div class="image-overlay">
<img src="/images/voice-pe/vpe-overlay.webp" loading="lazy"
alt="Front view of the Voice Preview Edition showing the speaker holes">
<div class="wrapper">
<a class="button secondary buy">Buy now</a>
<small>* Recommended MSRP. Prices differ between regions due to varying local market costs and conditions, and subject to individual retailers.</small>
</div>
</div>
</div>
</div>
</section>
<section id="controls" data-index="0">
<div class="wrapper-outer">
<div class="bg-navy-gradient">
<div class="grid"></div>
</div>
<svg width="0" height="0" style="position:absolute">
<symbol fill="none" viewBox="0 0 791 68" id="line" xmlns="http://www.w3.org/2000/svg">
<path class="aline" d="M2.5 65.5h743c22.091 0 40-17.909 40-40V5" stroke="#008BC6" />
<path class="aline-active" d="M2.5 65.5h743c22.091 0 40-17.909 40-40V5" stroke="#EAA088" stroke-width="2"
style="--length:826.3406982421875;stroke-dasharray:var(--length);stroke-dashoffset:calc((-1*var(--length))*(var(--draw,0) - 1));transition:stroke-dashoffset .5s ease-out .2s" />
<circle cx="2.5" cy="65.5" r="2.5" fill="#008BC6" class="adot-start" />
<circle cx="785.5" cy="5.5" r="5.5" fill="#008BC6" class="adot-end"
style="r:calc(2.5 + (var(--draw,0)*3));transition:r .2s ease-out calc(var(--draw,0)*.6s),fill .2s ease-out calc(var(--draw,0)*.6s);fill:color-mix(in srgb,#eaa088 calc(var(--draw,0)*100%),#008bc6 calc((1 - var(--draw,0))*100%))" />
</symbol>
<symbol fill="none" viewBox="0 0 12 230" id="line-mobile" xmlns="http://www.w3.org/2000/svg">
<path d="M6 230V6" stroke="#008BC6"></path>
<path d="M6 230V6" stroke="#EAA088" stroke-width="2"
style="--length:224;stroke-dasharray:var(--length);stroke-dashoffset:calc(var(--length)*(var(--draw,2) - 1));transition:stroke-dashoffset .5s ease-out .2s">
</path>
<circle cx="6" cy="6" r="6" fill="#000"
style="r:calc((2.5 + (2.5 * (-2 + var(--draw, 2)))));transition:r .2s ease-out calc((-1 * ((-2 + var(--draw,2)) - 1))*.6s),fill .2s ease-out calc((-1 * ((-2 + var(--draw,2)) - 1 ))*.6s);fill:color-mix(in srgb,#eaa088 calc((-2 + var(--draw,2))*100%),#008bc6 calc((1 - (-2 + var(--draw,2)))*100%))">
</circle>
</symbol>
</svg>
<div class="wrapper">
<div class="controls-heading">
<div class="cable">
<svg class="desktop" width="176" height="723" viewBox="0 0 176 723" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
d="M8 0V460C8 471.046 16.9543 480 28 480V480C39.0457 480 48 471.046 48 460V300C48 288.954 56.9543 280 68 280V280C79.0457 280 88 288.954 88 300V460C88 471.046 96.9543 480 108 480V480C119.046 480 128 471.046 128 460V340C128 328.954 136.954 320 148 320V320C159.046 320 168 328.954 168 340V723"
stroke="#16F3BE" stroke-width="16"
style="--length: 1534.364013671875;stroke-dasharray: var(--length);stroke-dashoffset: calc((-1*var(--length))*(var(--draw,0) - 1));transition: stroke-dashoffset 1.25s ease-out;" />
</svg>
<svg class="mobile" xmlns="http://www.w3.org/2000/svg" width="92" height="502" viewBox="0 0 92 502"
fill="none">
<path
d="M86 0C86 206.492 86 310.889 86 341.68C86 347.203 81.5228 351.618 76 351.618V351.618C70.4772 351.618 66 347.141 66 341.618V242.858C66 237.335 61.5228 232.858 56 232.858V232.858C50.4772 232.858 46 237.335 46 242.858V341.868C46 347.252 41.6348 351.618 36.25 351.618V351.618C30.8652 351.618 26.5 347.252 26.5 341.868V296.794C26.5 291.133 21.9109 286.544 16.25 286.544V286.544C10.5891 286.544 6 291.133 6 296.794L6 501.286"
stroke="#16F3BE" stroke-width="12"
style="--length: 914.6564331054688;stroke-dasharray: var(--length);stroke-dashoffset: calc((-1*var(--length))*(var(--draw,0) - 1));transition: stroke-dashoffset 1.25s ease-out;" />
</svg>
</div>
<div class="heading-wrapper">
<div class="fs-medium">Built for Home Assistant</div>
<div class="subtitle">Easy Setup - one USB-C cable and setup wizard, no assembly required.</div>
</div>
</div>
<div class="flow-wrapper">
<div class="vpe-wrapper">
<div class="etarget"></div>
<img loading="lazy" src="/images/voice-pe/controls/vpe.svg" class="vpe-image"
alt="Wireframe of the Voice Preview Edition">
<div class="conversation">
<svg class="line mobile">
<use xlink:href="#line-mobile"></use>
</svg>
<div class="waveform active">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="bubbles">
<div class="request">
<span data-controls="light">Turn on the light.</span>
<span data-controls="tv">Turn on the TV.</span>
<span data-controls="thermostat">What's the temperature?</span>
<span data-controls="timer">Set a timer for 5 minutes.</span>
<span data-controls="fan">Turn on the fan.</span>
<span data-controls="list">Add milk to my shopping list.</span>
</div>
<div class="response">
<span data-controls="light">Turned on the light.</span>
<span data-controls="tv">Turned on the media player.</span>
<span data-controls="thermostat">It's 24 degrees.</span>
<span data-controls="timer">Timer started.</span>
<span data-controls="fan">Turned on the fan.</span>
<span data-controls="list">Added milk.</span>
</div>
</div>
</div>
</div>
<div class="controls-wrapper">
<div class="controls" data-index="0">
<div class="control light">
<img loading="lazy" src="/images/voice-pe/controls/light.svg" alt="Light bulb icon (turned off)">
<img loading="lazy" src="/images/voice-pe/controls/light-active.svg" class="active"
alt="Light bulb icon (turned on)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
<div class="control tv">
<img loading="lazy" src="/images/voice-pe/controls/tv.svg" alt="TV icon (turned off)">
<img loading="lazy" src="/images/voice-pe/controls/tv-active.svg" class="active"
alt="TV icon (turned on)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
<div class="control thermostat">
<img loading="lazy" src="/images/voice-pe/controls/thermostat.svg" alt="Thermostat icon (turned off)">
<img loading="lazy" src="/images/voice-pe/controls/thermostat-active.svg" class="active"
alt="Thermostat icon (turned on)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
<div class="control timer">
<img loading="lazy" src="/images/voice-pe/controls/timer.svg" alt="Timer icon (inactive)">
<img loading="lazy" src="/images/voice-pe/controls/timer-active.svg" class="active"
alt="Timer icon (active)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
<div class="control fan">
<img loading="lazy" src="/images/voice-pe/controls/fan.svg" alt="Fan icon (turned off)">
<img loading="lazy" src="/images/voice-pe/controls/fan-active.svg" class="active"
alt="Fan icon (turned on)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
<div class="control list">
<img loading="lazy" src="/images/voice-pe/controls/list.svg" alt="List icon (inactive)">
<img loading="lazy" src="/images/voice-pe/controls/list-active.svg" class="active"
alt="List icon (active)">
<svg class="line desktop">
<use xlink:href="#line"></use>
</svg>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="features">
<div class="wrapper outer">
<div class="bg-none">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="heading-wrapper">
<div class="fs-medium">Advanced audio processing</div>
<div class="subtitle-medium">that works in the home</div>
</div>
<div class="product-features">
<div class="product" data-side="right" data-feature="microphones">
<div class="product-toggles" data-bg-image-lazy>
<div class="etarget"></div>
<div class="feature-toggle button-more active" data-feature="microphones" data-side="right">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="case" data-side="right">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="mute" data-side="right">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="speaker" data-side="right">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="controls" data-side="left">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="led-ring" data-side="left">
<div class="plus"></div>
</div>
<div class="feature-toggle button-more" data-feature="audio-jack" data-side="left">
<div class="plus"></div>
</div>
</div>
<div class="button clear clear-navy">Click to rotate</div>
</div>
<div class="product-feature-cards">
<div class="product-feature-card" id="feature-microphones">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/microphones.webp"
alt="Close-up photo showing one of the two microphones on the Voice Preview Edition"></div>
<div class="card-title h3">Cuts through the noise</div>
<div class="card-description">Dual mics and XMOS audio chip hears your voice in most environments</div>
</div>
<div class="product-feature-card" id="feature-mute">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/mute-switch-muted.webp"
alt="Close-up photo of the physical mute (in a muted state) switch on the Voice Preview Edition">
</div>
<div class="card-title h3">Mute switch</div>
<div class="card-description">Physically cuts power to the microphones for guaranteed privacy</div>
</div>
<div class="product-feature-card" id="feature-controls">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/controls.webp"
alt="Close-up photo of the rotary volume dial, button and illuminated (blue) LED ring on the Voice Preview Edition">
</div>
<div class="card-title h3">Physical controls</div>
<div class="card-description">Button and rotary volume dial that feels great and tactile</div>
</div>
<div class="product-feature-card" id="feature-speaker">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/speaker.webp"
alt="Close-up photo of the speaker holes on the Voice Preview Edition"></div>
<div class="card-title h3">Speaker</div>
<div class="card-description">Audio feedback you can hear from across the room</div>
</div>
<div class="product-feature-card" id="feature-led-ring">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/led-ring.webp"
alt="Close-up photo of the illuminated (blue) LED ring on the Voice Preview Edition"></div>
<div class="card-title h3">Visual feedback</div>
<div class="card-description">Multicolored LED ring displays when its listening, volume levels, and more
</div>
</div>
<div class="product-feature-card" id="feature-audio-jack">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/audio-jack.webp"
alt="Close-up photo of the 3.5mm audio jack on the Voice Preview Edition"></div>
<div class="card-title h3">Audio out</div>
<div class="card-description">Stereo 3.5mm jack lets you stream lossless quality music via its dedicated
DAC
</div>
</div>
<div class="product-feature-card" id="feature-case">
<div class="card-image"><img loading="lazy" src="/images/voice-pe/features/case.webp"
alt="Close-up photo of the injection-moulded case on the Voice Preview Edition"></div>
<div class="card-title h3">Injection-moulded case</div>
<div class="card-description">A small, unobtrusive design that blends into the home</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="choice-to-voice">
<div class="wrapper-outer">
<div class="bg-blue">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="fs-medium">Bringing<br>choice to<br>voice</div>
<div class="subtitle">If you have powerful hardware, run voice fully locally, or offload speech processing to
our privacy-first cloud for speedy performance.</div>
</div>
</div>
</section>
<section id="local-cloud">
<div class="wrapper-outer">
<div class="bg-blue">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="info-sides">
<div class="info-side">
<div class="side-info-wrapper">
<div class="side-info">
<span>Local</span>
<p>Your voice never leaves your home and the processing is pretty accurate, but is hardware-intensive.</p>
</div>
</div>
</div>
<div class="info-side">
<div class="side-info-wrapper">
<div class="side-info">
<span>Cloud</span>
<p>Your voice is processed on a private cloud, allowing Assist to run fast and very accurately on low-powered hardware.</p>
</div>
</div>
</div>
</div>
<div class="graphic-wrapper">
<div class="house-bg" data-bg-image-lazy></div>
<div class="graphic">
<div class="sides" data-side="cloud">
<div class="side local">
<div class="line-to-vpe">
<svg width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"
class="mobile">
<path d="M100 101V21C100 9.9543 91.0456 1 80 1H0" stroke="var(--color-inactive)" stroke-width="2" />
<path d="M100 101V21C100 9.9543 91.0456 1 80 1H0" stroke="var(--color)" stroke-width="2"
style="--length: 183.02735900878906;stroke-dasharray: var(--length);stroke-dashoffset: calc((1 * var(--length)) * (var(--draw, 2) - 1));transition: stroke-dashoffset .35s ease-out;" />
</svg>
<svg width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"
class="desktop">
<path d="M99.9351 101L100 40.4999V40.4999C99.9641 18.6742 82.2608 0.999924 60.435 0.999924H0"
stroke="var(--color-inactive)" stroke-width="2" />
<path d="M99.9351 101L100 40.4999V40.4999C99.9641 18.6742 82.2608 0.999924 60.435 0.999924H0"
stroke="var(--color)" stroke-width="2"
style="--length: 183.02735900878906;stroke-dasharray: var(--length);stroke-dashoffset: calc((1 * var(--length)) * (var(--draw, 2) - 1));transition: stroke-dashoffset .35s ease-out;" />
</svg>
</div>
<div class="graphic-card">
<div class="left-lines" data-bg-image-lazy></div>
<div class="side-info-wrapper">
<div class="side-info">
<span>Local</span>
<p>Your voice never leaves your home and the processing is pretty accurate, but is
hardware-intensive.</p>
</div>
</div>
<span>Powerful hardware</span>
<img loading="lazy" src="/images/voice-pe/local-cloud/nas-graphic.svg" width="120" height="140"
alt="Generic outline drawing of a NAS device">
</div>
<div class="tail-line" data-bg-image-lazy></div>
</div>
<div class="vpe">
<div class="etarget"></div>
<img loading="lazy" src="/images/voice-pe/local-cloud/vpe-graphic.svg"
alt="Generic outline drawing of the Voice Preview Edition">
</div>
<div class="side cloud">
<div class="line-to-vpe">
<svg width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"
class="mobile">
<path d="M100 101V21C100 9.9543 91.0456 1 80 1H0" stroke="var(--color-inactive)" stroke-width="2" />
<path d="M100 101V21C100 9.9543 91.0456 1 80 1H0" stroke="var(--color)" stroke-width="2"
style="--length: 191.42037963867188;stroke-dasharray: var(--length);stroke-dashoffset: calc((1 * var(--length)) * (var(--draw, 2) - 1));transition: stroke-dashoffset .35s ease-out;" />
</svg>
<svg width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg"
class="desktop">
<path d="M99.9351 101L100 40.4999V40.4999C99.9641 18.6742 82.2608 0.999924 60.435 0.999924H0"
stroke="var(--color-inactive)" stroke-width="2" />
<path d="M99.9351 101L100 40.4999V40.4999C99.9641 18.6742 82.2608 0.999924 60.435 0.999924H0"
stroke="var(--color)" stroke-width="2"
style="--length: 191.42037963867188;stroke-dasharray: var(--length);stroke-dashoffset: calc((1 * var(--length)) * (var(--draw, 2) - 1));transition: stroke-dashoffset .35s ease-out;" />
</svg>
</div>
<div class="graphic-card">
<div class="right-lines" data-bg-image-lazy></div>
<div class="side-info-wrapper">
<div class="side-info">
<span>Cloud</span>
<p>Your voice is processed privately on Home Assistant Cloud, allowing Assist to run very
accurately on low-powered hardware.</p>
</div>
</div>
<span>Low-powered hardware</span>
<img loading="lazy" src="/images/voice-pe/local-cloud/green-graphic.svg" width="180" height="180"
alt="Generic outline drawing of a Home Assistant Green device">
</div>
<div class="lines-dashed">
<div class="line-dashed"></div>
<div class="line-dashed"></div>
</div>
<div class="datacenter">
<img loading="lazy" src="/images/voice-pe/local-cloud/datacenter-graphic.svg" width="50" height="100"
alt="Generic outline drawing of a single datacenter rack">
<img loading="lazy" src="/images/voice-pe/local-cloud/datacenter-graphic.svg" width="50" height="100"
alt="Generic outline drawing of a single datacenter rack">
<img loading="lazy" src="/images/voice-pe/local-cloud/datacenter-graphic.svg" width="50" height="100"
alt="Generic outline drawing of a single datacenter rack">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="language-support">
<div class="wrapper-outer">
<div class="bg-blue">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="language-card">
<div class="h2">Breaking language barriers</div>
<div class="subtitle">Assist aims to support more languages than other voice assistants, but this is still a
work in progress, and we need your help.</div>
<div class="form-title h3">Check supported languages here</div>
<div class="input-wrapper">
<select id="language-select">
<option data-display="Select">Choose your language</option>
<option value="af-ZA">Afrikaans</option>
<option value="sq-AL">Albanian</option>
<option value="am-ET">Amharic</option>
<option value="ar-JO">Arabic</option>
<option value="hy-AM">Armenian</option>
<option value="az-AZ">Azerbaijani</option>
<option value="eu-ES">Basque</option>
<option value="bn-IN">Bengali</option>
<option value="bs-BA">Bosnian</option>
<option value="bg-BG">Bulgarian</option>
<option value="my-MM">Burmese</option>
<option value="ca-ES">Catalan</option>
<option value="zh-HK">Chinese (Cantonese)</option>
<option value="zh-CN">Chinese (Mandarin)</option>
<option value="hr-HR">Croatian</option>
<option value="cs-CZ">Czech</option>
<option value="da-DK">Danish</option>
<option value="nl-BE">Dutch (Belgium)</option>
<option value="nl-NL">Dutch (Netherlands)</option>
<option value="en-US">English</option>
<option value="et-EE">Estonian</option>
<option value="fil-PH">Filipino</option>
<option value="fi-FI">Finnish</option>
<option value="fr-FR">French</option>
<option value="gl-ES">Galician</option>
<option value="ka-GE">Georgian</option>
<option value="de-DE">German (Germany)</option>
<option value="de-CH">German (Switzerland)</option>
<option value="el-GR">Greek</option>
<option value="gu-IN">Gujarati</option>
<option value="he-IL">Hebrew</option>
<option value="hi-IN">Hindi</option>
<option value="hu-HU">Hungarian</option>
<option value="is-IS">Icelandic</option>
<option value="id-ID">Indonesian</option>
<option value="ga-IE">Irish</option>
<option value="it-IT">Italian</option>
<option value="ja-JP">Japanese</option>
<option value="jv-ID">Javanese</option>
<option value="kn-IN">Kannada</option>
<option value="kk-KZ">Kazakh</option>
<option value="km-KH">Khmer</option>
<option value="ko-KR">Korean</option>
<option value="lo-LA">Lao</option>
<option value="lv-LV">Latvian</option>
<option value="lt-LT">Lithuanian</option>
<option value="lb-LU">Luxembourgish</option>
<option value="mk-MK">Macedonian</option>
<option value="ms-MY">Malay</option>
<option value="ml-IN">Malayalam</option>
<option value="mt-MT">Maltese</option>
<option value="mr-IN">Marathi</option>
<option value="mn-MN">Mongolian</option>
<option value="ne-NP">Nepali</option>
<option value="nb-NO">Norwegian</option>
<option value="ps-AF">Pashto</option>
<option value="fa-IR">Persian</option>
<option value="pl-PL">Polish</option>
<option value="pt-BR">Portuguese (Brazil)</option>
<option value="pt-PT">Portuguese (Portugal)</option>
<option value="ro-RO">Romanian</option>
<option value="ru-RU">Russian</option>
<option value="sr-RS">Serbian</option>
<option value="si-LK">Sinhala</option>
<option value="sk-SK">Slovak</option>
<option value="sl-SI">Slovenian</option>
<option value="so-SO">Somali</option>
<option value="es-ES">Spanish</option>
<option value="su-ID">Sundanese</option>
<option value="sw-KE">Swahili</option>
<option value="sv-SE">Swedish</option>
<option value="ta-IN">Tamil</option>
<option value="te-IN">Telugu</option>
<option value="th-TH">Thai</option>
<option value="tr-TR">Turkish</option>
<option value="uk-UA">Ukrainian</option>
<option value="ur-IN">Urdu</option>
<option value="uz-UZ">Uzbek</option>
<option value="vi-VN">Vietnamese</option>
<option value="cy-GB">Welsh</option>
<option value="zu-ZA">Zulu</option>
</select>
</div>
<div class="supported-cards">
<div class="supported-card local warning" data-state="3">
<div class="heading">
<span>Local</span>
</div>
<div class="state-bar">
<span></span><span></span><span></span>
</div>
<div class="info state-0">Not supported <a href="#faq-language-not-supported"><svg
xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none">
<mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
<path fill="#D9D9D9" d="M0 0h16v16H0z" />
</mask>
<g mask="url(#a)">
<path
d="M7.333 11.333h1.334v-4H7.334v4ZM8 6a.645.645 0 0 0 .475-.192.645.645 0 0 0 .192-.475.645.645 0 0 0-.192-.475A.645.645 0 0 0 8 4.667a.645.645 0 0 0-.475.191.645.645 0 0 0-.192.475c0 .19.064.348.192.475A.645.645 0 0 0 8 6Zm0 8.667a6.492 6.492 0 0 1-2.6-.525 6.732 6.732 0 0 1-2.117-1.425A6.732 6.732 0 0 1 1.86 10.6 6.491 6.491 0 0 1 1.333 8c0-.922.175-1.789.526-2.6a6.732 6.732 0 0 1 1.425-2.117c.6-.6 1.305-1.075 2.116-1.425A6.492 6.492 0 0 1 8 1.333c.922 0 1.789.175 2.6.525.811.35 1.517.825 2.117 1.425.6.6 1.075 1.306 1.425 2.117.35.811.525 1.678.525 2.6 0 .922-.175 1.789-.525 2.6a6.732 6.732 0 0 1-1.425 2.117c-.6.6-1.306 1.075-2.117 1.425a6.492 6.492 0 0 1-2.6.525Zm0-1.334c1.49 0 2.75-.516 3.784-1.55 1.033-1.033 1.55-2.294 1.55-3.783 0-1.489-.517-2.75-1.55-3.783C10.75 3.183 9.489 2.667 8 2.667c-1.489 0-2.75.516-3.783 1.55C3.184 5.25 2.667 6.51 2.667 8c0 1.489.517 2.75 1.55 3.783C5.25 12.817 6.51 13.333 8 13.333Z"
fill="#002332" />
</g>
</svg></a></div>
<div class="info state-1">Needs more work</div>
<div class="info state-2">Ready to use</div>
<div class="info state-3">Fully supported</div>
</div>
<div class="supported-card cloud check" data-state="-1">
<div class="heading">
<span>Home Assistant Cloud</span>
</div>
<div class="state-bar">
<span></span><span></span><span></span>
</div>
<div class="info state-0">Not supported <a href="#faq-language-not-supported-cloud"><svg
xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none">
<mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
<path fill="#D9D9D9" d="M0 0h16v16H0z" />
</mask>
<g mask="url(#a)">
<path
d="M7.333 11.333h1.334v-4H7.334v4ZM8 6a.645.645 0 0 0 .475-.192.645.645 0 0 0 .192-.475.645.645 0 0 0-.192-.475A.645.645 0 0 0 8 4.667a.645.645 0 0 0-.475.191.645.645 0 0 0-.192.475c0 .19.064.348.192.475A.645.645 0 0 0 8 6Zm0 8.667a6.492 6.492 0 0 1-2.6-.525 6.732 6.732 0 0 1-2.117-1.425A6.732 6.732 0 0 1 1.86 10.6 6.491 6.491 0 0 1 1.333 8c0-.922.175-1.789.526-2.6a6.732 6.732 0 0 1 1.425-2.117c.6-.6 1.305-1.075 2.116-1.425A6.492 6.492 0 0 1 8 1.333c.922 0 1.789.175 2.6.525.811.35 1.517.825 2.117 1.425.6.6 1.075 1.306 1.425 2.117.35.811.525 1.678.525 2.6 0 .922-.175 1.789-.525 2.6a6.732 6.732 0 0 1-1.425 2.117c-.6.6-1.306 1.075-2.117 1.425a6.492 6.492 0 0 1-2.6.525Zm0-1.334c1.49 0 2.75-.516 3.784-1.55 1.033-1.033 1.55-2.294 1.55-3.783 0-1.489-.517-2.75-1.55-3.783C10.75 3.183 9.489 2.667 8 2.667c-1.489 0-2.75.516-3.783 1.55C3.184 5.25 2.667 6.51 2.667 8c0 1.489.517 2.75 1.55 3.783C5.25 12.817 6.51 13.333 8 13.333Z"
fill="#002332" />
</g>
</svg></a></div>
<div class="info state-1">Needs more work</div>
<div class="info state-2">Ready to use</div>
<div class="info state-3">Fully supported</div>
</div>
</div>
<a href="https://www.home-assistant.io/voice_control/contribute-voice" target="_blank" rel="noopener"
class="button secondary">Help improve language support</a>
</div>
</div>
</div>
</section>
<section id="ai">
<div class="wrapper-outer">
<div class="bg-blue">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="h2">Start experimenting with AI</div>
<div class="subtitle-small">Connect your Voice Preview Edition to popular AI providers, or local LLMs, to
control your home with natural language.</div>
<div class="logos">
<img loading="lazy" src="/images/voice-pe/logos/google.svg" class="logo" alt="Google logo">
<img loading="lazy" src="/images/voice-pe/logos/openai.svg" class="logo" alt="OpenAI logo">
<img loading="lazy" src="/images/voice-pe/logos/anthropic.svg" class="logo" alt="Anthropic logo">
<img loading="lazy" src="/images/voice-pe/logos/llama.svg" class="logo" alt="Llama logo">
</div>
</div>
</div>
</section>
<section id="community-image">
<div class="wrapper outer">
<div class="bg-vpe-family" data-bg-image-lazy>
<div class="etarget"></div>
<div class="grid"></div>
</div>
</div>
</section>
<section id="community-info">
<div class="wrapper outer">
<div class="bg-blue-alt">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="content-wrapper">
<div class="h1">Fully open source and community-driven</div>
<p class="subtitle">Fully open software, firmware, and hardware allows you to make it work best for your
needs.
It includes a Grove port for connecting sensors and a 3.5mm headphone jack for connecting external speakers.
With a dedicated community customizing and adding functionality.</p>
<p class="subtitle">Be part of building Assist and preview the future of voice control in the home.</p>
</div>
<div class="buttons">
<a target="_blank" href="https://support.nabucasa.com/hc/en-us/sections/24980381645213" rel="noopener"
class="button clear clear-secondary">Explore resources</a>
<a target="_blank" href="https://community.home-assistant.io/" rel="noopener"
class="button clear clear-navy">Join our
community</a>
</div>
</div>
</div>
</section>
<section id="specs">
<div class="wrapper outer">
<div class="bg-navy-gradient-alt">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="fs-large">Specs</div>
<div class="images">
<div class="row">
<div class="top">
<div class="etarget"></div>
<img loading="lazy" src="/images/voice-pe/specs/top.webp"
alt="Top-down view of the Voice Preview Edition">
</div>
<div class="side2">
<img loading="lazy" src="/images/voice-pe/specs/side2.webp" class="mobile"
alt="Side view (mute switch) of the Voice Preview Edition">
<img loading="lazy" src="/images/voice-pe/specs/side2-v.webp" class="desktop"
alt="Side view (mute switch) of the Voice Preview Edition">
</div>
<div class="back">
<img loading="lazy" src="/images/voice-pe/specs/back.webp"
alt="Bottom view of the Voice Preview Edition featuring the product label and Grove port">
</div>
</div>
<div class="row">
<div class="side4">
<img loading="lazy" src="/images/voice-pe/specs/side4.webp"
alt="Side view (speaker) of the Voice Preview Edition">
</div>
<div class="side1">
<img loading="lazy" src="/images/voice-pe/specs/side1.webp"
alt="Back view (audio and power) of the Voice Preview Edition">
</div>
</div>
</div>
<div class="specs">
<div class="row">
<div class="group">
<div class="group-heading h3">Dimensions and weight</div>
<div class="list">
<div class="list-heading">Device</div>
<ul>
<li>84x84x21 mm</li>
<li>96 g</li>
</ul>
</div>
<div class="list">
<div class="list-heading">With box</div>
<ul>
<li>94x94x30 mm</li>
<li>120 g</li>
</ul>
</div>
</div>
<div class="group">
<div class="group-heading h3">Material</div>
<div class="list">
<div class="list-heading">Enclosure</div>
<ul>
<li>Injection-molded Polycarbonate plastic</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Colors</div>
<ul>
<li>White and semi-transparent</li>
</ul>
</div>
</div>
</div>
<div class="cols">
<div class="col diagram">
<img loading="lazy" src="/images/voice-pe/specs/top.svg"
alt="Technical drawing of the top cover for the Voice Preview Edition">
<div class="controls-wrapper">
<div class="etarget"></div>
<img loading="lazy" src="/images/voice-pe/specs/controls.svg"
alt="Technical drawing of the rotary dial and button assembly for the Voice Preview Edition">
</div>
<img loading="lazy" src="/images/voice-pe/specs/pcb.svg"
alt="Technical drawing of the PCB for the Voice Preview Edition">
<img loading="lazy" src="/images/voice-pe/specs/speaker.svg"
alt="Technical drawing of the speaker for the Voice Preview Edition">
<img loading="lazy" src="/images/voice-pe/specs/case.svg"
alt="Technical drawing of the case for the Voice Preview Edition">
<img loading="lazy" src="/images/voice-pe/specs/feet.svg"
alt="Technical drawing of the rubber feet for the Voice Preview Edition">
</div>
<div class="col">
<div class="row-heading h3">Outside</div>
<div class="row">
<div class="group">
<div class="list">
<div class="list-heading">Physical controls</div>
<ul>
<li>Multipurpose button</li>
<li>Rotary dial for volume and other input</li>
<li>Mute switch that physically cuts power to the microphone</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Microphone & speaker</div>
<ul>
<li>Internal speaker</li>
<li>Internal dual-mic array</li>
<li>3.5mm audio output</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Expandability</div>
<ul>
<li>Grove port to connect sensors or other accessories</li>
<li>Easy to open - no clips, only screws to access internals</li>
<li>Exposed pads on PCB for modding</li>
</ul>
</div>
</div>
</div>
<div class="row-heading h3">Inside</div>
<div class="row">
<div class="group">
<div class="list">
<div class="list-heading">SoC</div>
<ul>
<li>ESP32-S3 SoC with 16 MB of FLASH storage</li>
<li>8 MB octal PSRAM</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Audio Processing</div>
<ul>
<li>XMOS XU316</li>
<li>Featuring:<br>
Echo cancellation<br>
Stationary noise removal<br>
Auto gain control</li>
<li>Dedicated I2S lines for audio in and out</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Power / data</div>
<ul>
<li>USB-C, 5 V DC, 2 A</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Radios</div>
<ul>
<li>2.4 GHz Wi-Fi</li>
<li>Bluetooth 5.0</li>
</uPl>
</div>
</div>
</div>
<div class="row">
<div class="group">
<div class="list">
<div class="list-heading">Audio output</div>
<ul>
<li>3.5 mm (&#x215B;&#x201D;) stereo headphone jack</li>
<li>Digital to analog converter (DAC):<br>
TI AIC3204<br>
48 kHz sampling rate</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Software</div>
<ul>
<li>ESPHome preloaded</li>
<li>Fully <a href="https://github.com/esphome/home-assistant-voice-pe" target="_blank"
rel="noopener">open-source</a> firmware for both the ESP32 and XMOS chip</li>
</ul>
</div>
<div class="list">
<div class="list-heading">Environmental conditions for operation</div>
<ul>
<li>Indoor use only<br>
O &#xB0;C to 30 &#xB0;C | 32 &#xB0;F to 86 &#xB0;F</li>
<li>
Humidity: non-condensing<br>
Keep in dry, not excessively dusty environment as this can cause damage to the unit
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="faq">
<div class="wrapper outer">
<div class="bg-grey">
<div class="grid"></div>
</div>
<div class="wrapper">
<div class="fs-large">Got some<br>questions?</div>
<div class="faq-items">
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Why is this called the Preview Edition?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>It is our vision to make open, local, and private voice assistants a reality in any language.
While we have made great strides in realizing this, it is such a massive undertaking that we
need our worldwide community to participate in its development. An essential ingredient for the
community to drive the project forward is a standardized hardware platform for voice, built for
Home Assistant from the ground up: Home Assistant Voice Preview Edition.</p>
<p>While for some, the
current state of our voice assistant may be all they need, we think there is still more to do
before it is ready for every home in every country, and until then, well be selling this
Preview of the future of voice assistants. Taking back our privacy isnt for everyone - its a
journey - and we want as many people as possible to join us and make it better.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Can I run this voice assistant fully locally?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Yes, provided your language is supported and you have hardware powerful enough to run local
text-to-speech and speech-to-text models at a speed that is acceptable to you. Speech-to-text is
the main limiting factor for many languages to run locally, as it has mixed results and often
requires powerful hardware.</p>
<p>We recommend using at least an Intel N100 or equivalent processor;
this will allow you to use OpenAIs Whisper Base model for speech-to-text locally. This model
runs reasonably fast for languages that have large public datasets to train on, such as English
and Spanish. However, for languages with less data available, you will need Whispers Small or
Large models that require significantly more powerful hardware to run. For some languages, no
public datasets exist yet for local models to be trained on by OpenAI, and until they exist and
they train models, you will not be able to run those languages fully locally.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Do I need Home Assistant Cloud?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>You do not need Home Assistant Cloud. However, if you are running less powerful hardware, like
Home Assistant Green or a Raspberry Pi 4, we believe this provides the best experience. By doing
so, you can leverage our cloud for speech processing, ensuring superior accuracy and faster
performance not possible on your low-powered device.</p>
<p>Additionally, some languages have poor or
non-existent support by the local speech-to-text software we leverage (OpenAIs Whisper), but
are well-supported by the speech processing used by Home Assistant Cloud.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">How does Home Assistant Cloud maintain my privacy with voice?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Home Assistant Cloud has been designed from the ground up to uphold the core values of the Home
Assistant project, with privacy being one of our highest priorities. Home Assistant Cloud
leverages the enterprise services of Microsoft Azure for its industry-leading speech processing,
which unlike many consumer offerings, is bound by commercial terms and conditions and <a
href="https://learn.microsoft.com/en-us/legal/cognitive-services/speech-service/speech-to-text/data-privacy-security#data-storage-and-retention"
target="_blank" rel="noopener">does not retain or store your data</a>. In addition, Home
Assistant Cloud itself does not keep any record of
your voice, data, or commands.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item" id="faq-language-not-supported">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Why is my language listed as “not supported” locally?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Three separate parts are needed for a language to be supported in local operation. Reliable,
local speech-to-text models must be available to turn what is said into text commands that can
be sent to Home Assistant. Home Assistant then needs to have sentence support for that language,
so it knows which actions to perform for each command.</p>
<p>Finally, a local text-to-speech model has
to be available for your language, so it can reply to you. If any of these three parts are not
available locally, your language is not yet supported. Currently, there is one part that holds
back our language support more than the others, and thats local speech-to-text.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item" id="faq-language-not-supported-cloud">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Why is my language listed as “not supported” by Home Assistant Cloud?
</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>There can be a number of reasons why a language is not supported by Home Assistant Cloud, but
most often it is because the <a
href="https://developers.home-assistant.io/docs/voice/intent-recognition/supported-languages"
target="_blank" rel="noopener">sentences</a> have not been translated by a member of our
community. If you would like to help translate these sentences and have your language added,
please <a href="https://developers.home-assistant.io/docs/voice/intent-recognition/contributing"
target="_blank" rel="noopener">visit here</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">What can I do to get my language supported locally, or to improve
support?
</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>We need your help to improve or add support for your language. Through the help of our global
community, ultimately, we aim to support every language possible. In our <a
href="https://home-assistant.io/voice_control/contribute-voice" target="_blank"
rel="noopener">documentation</a>, we have
a list of various ways you can help us advance our open, local, and private voice assistant.
Thank you for helping us make voice better in your language.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Can I use a different speech-to-text model than OpenAIs Whisper?
</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Yes, Home Assistant can be configured to use any speech-to-text integration that supports the
Wyoming protocol. Currently, the only locally-run speech-to-text add-on available for Home
Assistant users is OpenAIs Whisper. This has mixed results, missing languages, and is
hardware-intensive.</p>
<p>That led us to build an alternative - <a href="https://github.com/rhasspy/rhasspy-speech"
target="_blank" rel="noopener">Rhasspy Speech</a> can run locally and
accurately on lower-power hardware, though this does not provide full speech-to-text
capabilities. Based on the Rhasspy project, it is able to create local speech-to-text models,
but is limited to predefined sentences aimed at controlling your home, and will not be able to
process general speech. For instance, it could turn on a device, but will not be able to add
something to your shopping list. We expect to share the first version of Rhasspy Speech during
the next Voice livestream in 2025.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Which wake words can I select?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Out of the box, the device can listen for “Okay Nabu,” “Hey Jarvis,” or “Hey Mycroft” as wake
words. This is provided by the on-device wake word engine called microWakeWord. Creating these
wake words requires very powerful hardware and large datasets to train, which is not realistic for
most users.</p>
<p>In time we will work with the community to create more wake words, but currently are focused on
improving our current wake words to work for a large variety of accents and voice registers.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Why did you pick these default wake words and not something like
“computer” or “okay assist”?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>A wake word should be uncommon in everyday conversations at home or in media, such as music or
TV, to minimize the risk of the device activating unintentionally. “Nabu”, “Jarvis”, and
“Mycroft” are fairly unique words, as opposed to generic terms such as “computer” or “assist”.
That makes these microWakeWord models perform well for most users.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Can this replace my Google Mini, Apple HomePod, Amazon Echo, or other
Big Tech devices?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>In the future, we intend to match and then surpass the Big Tech voice assistants, but for now,
this Preview Edition can not yet do everything those devices can. For some, the current
capabilities of our voice assistant will be all they need; especially those who just want to set
timers, manage their shopping list, and control their most used devices. For others, we
understand they want to ask their voice assistant to make whale sounds or to tell them how tall
Taylor Swift is - our voice assistant doesnt do those things… yet.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Can I play music on this device?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Yes, if you plug an external speaker into the 3.5mm audio port. The built-in speaker is meant for
voice feedback and is not optimized for listening to music, but the included DAC is capable of
playing lossless audio on a suitable external speaker. We recommend using <a
href="https://music-assistant.io/" target="_blank" rel="noopener">Music Assistant</a> to
control music playback.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Can I use AI models or LLMs as my voice assistant?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>Yes, if you have paid access to a supported cloud LLM or have a local LLM running on suitable
hardware, it is possible to either fully replace our voice assistants conversation agent with an
LLM or use it as a fallback for commands that Home Assistant does not understand natively.</p>
<p>The benefit of this is being able to ask nearly any query that comes to mind, and speak commands
in natural language. Just note, we consider the use of AI in the smart home to be <a
href="https://www.home-assistant.io/blog/2024/06/07/ai-agents-for-the-smart-home/"
target="_blank" rel="noopener">experimental</a>, and would recommend caution when letting it
control important aspects of your home. <a
href="https://www.home-assistant.io/voice_control/assist_create_open_ai_personality/"
target="_blank" rel="noopener">Get started with AI and Assist</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Does the device come with a USB-C charger and cable?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>No, the device does not come with a USB-C charger and cable. Sustainability is a core value of
the Home Assistant project, and we do not wish to send more chargers or cables into the world
when most users already own enough of these.</p>
</div>
</div>
</div>
</div>
</div>
<div class="faq-item">
<div class="faq-item-heading">
<div class="faq-item-heading-title">Which devices can I control, and what can I say to Voice Preview
Edition?</div>
<div class="faq-item-heading-icon">
<div class="button-more">
<div class="plus"></div>
</div>
</div>
</div>
<div class="faq-item-content-animation-wrapper">
<div class="faq-item-content-animation">
<div class="faq-item-content-transform-wrapper">
<div class="faq-item-content">
<p>You can find an overview of everything you can say to the device in our <a
href="https://www.home-assistant.io/voice_control/builtin_sentences/" target="_blank"
rel="noopener">documentation</a>. You may
need to <a href="https://www.home-assistant.io/voice_control/voice_remote_expose_devices/"
target="_blank" rel="noopener">expose some devices manually</a> to Assist, in order
to let this device control them.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="video-modal">
<div class="video-wrapper">
<div class="close" role="button"></div>
<video controls data-src="/images/voice-pe/vision.mp4" class="video-preview" playsinline>
<track default kind="captions" srclang="en" src="/images/voice-pe/vision.vtt" />
</video>
</div>
</div>
</div>
{% include custom/buy-dialog.html product="voice-pe" %}
<script src="/voice-pe/script.js" type="text/javascript"></script>