Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VPE to voice product docs #37513

Merged

Conversation

jlpouffier
Copy link
Contributor

@jlpouffier jlpouffier commented Feb 17, 2025

Proposed change

Add a few references to the Voice Preview edition in the voice docs

Introduce Speech-to-Phrase

Removed a few sentences that were not working in the sentence pack.

Type of change

  • Spelling, grammar or other readability improvements (current branch).
  • Adjusted missing or incorrect information in the current documentation (current branch).
  • Added documentation for a new integration I'm adding to Home Assistant (next branch).
  • Added documentation for a new feature I'm adding to Home Assistant (next branch).
  • Removed stale or deprecated documentation.

Additional information

  • Link to parent pull request in the codebase:
  • Link to parent pull request in the Brands repository:
  • This PR fixes or closes issue: fixes #

Checklist

  • This PR uses the correct branch, based on one of the following:
    • I made a change to the existing documentation and used the current branch.
    • I made a change that is related to an upcoming version of Home Assistant and used the next branch.
  • The documentation follows the Home Assistant documentation standards.

Summary by CodeRabbit

  • Documentation
    • Enhanced the voice assistant guide with a new introductory section, streamlined "Getting Started" instructions, and a configuration wizard overview.
    • Updated the local assistant setup instructions with clear options for speech recognition, including new sections for specific engines and refined guidance for voice output.
    • Removed redundant query examples for clarity and simplicity.

@home-assistant home-assistant bot added the current This PR goes into the current branch label Feb 17, 2025
Copy link

netlify bot commented Feb 17, 2025

Deploy Preview for home-assistant-docs ready!

Name Link
🔨 Latest commit eaceeb3
🔍 Latest deploy log https://app.netlify.com/sites/home-assistant-docs/deploys/67b6e62f338f300008f14c93
😎 Deploy Preview https://deploy-preview-37513--home-assistant-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@jlpouffier jlpouffier marked this pull request as ready for review February 17, 2025 14:49
Copy link
Contributor

coderabbitai bot commented Feb 17, 2025

📝 Walkthrough

Walkthrough

The changes update three documentation files related to the voice control assistant. The built-in sentences document has had its “Questions” section removed. The index document now offers an introductory paragraph, a “Getting Started” section, refined setup instructions, and improved formatting. The local assistant guide now explains the configuration of multiple speech-to-text options (Speech-to-Phrase and Whisper) and a fixed text-to-speech engine (Piper), along with additional resources on the Speech-to-Phrase philosophy.

Changes

File Change Summary
source/voice_control/builtin_sentences.markdown Removed the entire “Questions” section and its subsections (“Get information about a state”, “Ask about the weather”, “Ask about people”). Unchanged sections: “Aborting” and “Troubleshooting”.
source/voice_control/index.markdown Added an introductory paragraph with platform links, introduced a “Getting Started” section with setup guidance (including a configuration wizard and visual aid), corrected phrasing, and improved formatting.
source/voice_control/voice_remote_local_assistant.markdown Updated instructions for local voice assistant setup: shifted from singular to plural references, added new sections for “Speech-to-text engines” and “Text-to-speech engine”, and included a section on Speech-to-Phrase philosophy.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant SetupModule as "Assist Setup Module"
    participant STTEngine as "Speech-to-text Engine\n(Speech-to-Phrase/Whisper)"
    participant TTS as "Text-to-speech Engine\n(Piper)"
    
    User->>SetupModule: Initiate voice assistant setup
    SetupModule-->>User: Present introductory info & Getting Started guide
    User->>SetupModule: Select preferred speech-to-text option
    SetupModule->>STTEngine: Configure chosen STT engine
    User->>SetupModule: Confirm text-to-speech engine (Piper)
    SetupModule->>TTS: Apply TTS configuration
    TTS-->>SetupModule: TTS configuration confirmation
    SetupModule-->>User: Setup completed confirmation
Loading

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (9)
source/voice_control/voice_remote_local_assistant.markdown (5)

37-38: Introduction to Speech-to-text Options.
The brief description is clear. For added value, consider mentioning any prerequisites or configuration nuances that might help users decide between the two available options.


39-47: Review Speech-to-Phrase Section Details.
The description clearly explains that Speech-to-Phrase is a close‐ended speech model and highlights its impressive speed on devices like Home Assistant Green and Raspberry Pi 4. A minor punctuation tweak—such as adding a comma after “Home Assistant Green”—could further improve readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~42-~42: Possible missing comma found.
Context: ...knows. The result is an extremely fast transcription even on a Home Assistant Green or Raspb...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)

44-44: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


50-58: Correct Grammar in Whisper Description.
In the sentence beginning with Whisper, replace “a open-ended” with “an open-ended” for grammatical correctness. The performance details provide valuable context regarding processing times on different hardware.

🧰 Tools
🪛 LanguageTool

[misspelling] ~52-~52: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...](https://github.com/openai/whisper) is a open-ended speech model. This means it ...

(EN_A_VS_AN)

🪛 markdownlint-cli2 (0.17.2)

50-50: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


71-72: Verify Add-on Installation Directive Clarity.
The instructions using the {% my supervisor_addon ... %} macros are clear and well formatted. However, please double-check for any accidental word duplications as noted by static analysis to ensure the text is as concise as possible.

🧰 Tools
🪛 LanguageTool

[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~72-~72: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


1-120: General Markdown Formatting Check.
Minor markdown formatting issues (such as trailing spaces or punctuation nuances) have been flagged by static analysis. A quick review to ensure consistency with style guidelines is recommended.

🧰 Tools
🪛 LanguageTool

[style] ~29-~29: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...grated.  - For running all together, it needs to have the Home Assistant Operating Syste...

(REP_NEED_TO_VB)


[uncategorized] ~42-~42: Possible missing comma found.
Context: ...knows. The result is an extremely fast transcription even on a Home Assistant Green or Raspb...

(AI_HYDRA_LEO_MISSING_COMMA)


[misspelling] ~52-~52: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...](https://github.com/openai/whisper) is a open-ended speech model. This means it ...

(EN_A_VS_AN)


[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~72-~72: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)


[grammar] ~80-~80: This sentence should probably be started with a verb instead of the noun ‘Setup’. If not, consider inserting a comma for better clarity.
Context: ..."core_piper" title="Piper" %}). 2. Setup your assistant. - Go to {% my voice...

(SENT_START_NN_DT)


[uncategorized] ~101-~101: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...e_devices/#exposing-your-devices). - Otherwise you won't be able to control them by vo...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[duplication] ~110-~110: Possible typo: you repeated a word.
Context: ...d-on itself. Go to the {% my supervisor_addon addon="core_whisper" title="Whisper" %} o...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~110-~110: Possible typo: you repeated a word.
Context: ...Whisper" %} or the {% my supervisor_addon addon="core_piper" title="Piper" %} add-o...

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)

16-16: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


20-20: Multiple consecutive blank lines
Expected: 1; Actual: 2

(MD012, no-multiple-blanks)


23-23: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


28-28: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


44-44: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


50-50: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


120-120: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

source/voice_control/index.markdown (4)

22-25: Introductory Section Clarity and Typo Correction.
The opening lines effectively inform users about platform availability and showcase the Assist icon. However, the phrase “The simplest way to try out Assist is side our companion app” appears to contain a typo—consider replacing “side” with “via” (or “using”) for better clarity.


29-30: Clarify Voice Processing Mode Options.
The bullet point stating “It can work locally or leverage the greatest LLMs of the moment” may be a bit ambiguous. Consider rephrasing it to clearly differentiate between local processing and the use of advanced language models for cloud-based assistance.


35-43: Typo and Clarity Improvements in “Getting Started” Section.
The “Getting Started” section is a welcome addition that guides users through initial setup. Please correct the typos: change “guide you thought their configuration” to “guide you through their configuration” and “get stated with your hardware” to “get started with your hardware.”

- The wizard will help you get stated with your hardware based on your system.
+ The wizard will help you get started with your hardware based on your system.

55-60: Grammar Correction in Additional Suggestions.
The phrase “Another things you can do” should be revised to “Other things you can do” for grammatical accuracy.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 361845d and aab18d8.

⛔ Files ignored due to path filters (1)
  • source/images/assist/voice-wizard.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • source/voice_control/builtin_sentences.markdown (0 hunks)
  • source/voice_control/index.markdown (1 hunks)
  • source/voice_control/voice_remote_local_assistant.markdown (4 hunks)
💤 Files with no reviewable changes (1)
  • source/voice_control/builtin_sentences.markdown
🧰 Additional context used
🪛 LanguageTool
source/voice_control/voice_remote_local_assistant.markdown

[uncategorized] ~42-~42: Possible missing comma found.
Context: ...knows. The result is an extremely fast transcription even on a Home Assistant Green or Raspb...

(AI_HYDRA_LEO_MISSING_COMMA)


[misspelling] ~52-~52: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...](https://github.com/openai/whisper) is a open-ended speech model. This means it ...

(EN_A_VS_AN)


[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~71-~71: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~72-~72: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)
source/voice_control/voice_remote_local_assistant.markdown

44-44: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


50-50: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (9)
source/voice_control/voice_remote_local_assistant.markdown (7)

33-34: Clarify local processing and privacy benefits.
The added lines emphasize that both speech-to-text and text-to-speech options operate fully locally, ensuring that no data is sent to external servers. This is a strong privacy message; you might consider a slight rewording for extra clarity if needed.


35-36: New Speech-to-text Engines Section.
The new “### Speech-to-text engines” heading nicely segregates the options available for local speech-to-text processing. Ensure that the heading style remains consistent with the rest of the documentation.


60-64: New Text-to-speech Engine Section.
The dedicated section for Piper is well articulated, clearly outlining its benefits and performance characteristics. This helps users quickly grasp the text-to-speech option available.


75-76: Integration Discovery Clarity.
The step indicating that users should now see both services being discovered is clear and reinforces the guide’s instructions. Please verify that the accompanying screenshot accurately reflects the current UI.


78-79: Clear Integration Summary.
Reiterating the integration of both your chosen speech-to-text engine and the text-to-speech engine reinforces the successful setup. This additional summary aids user understanding.

🧰 Tools
🪛 LanguageTool

[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~78-~78: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)


95-96: Distinct Configuration Steps for Engine Selection.
The instructions for selecting the speech-to-text option (with a choice between Whisper and Speech-to-Phrase) and for picking Piper as the text-to-speech engine are concise and clear.


114-119: Additional Learning Resource Section.
The new “## Learning more about Speech-to-Phrase philosophy” section enriches the document with context and external learning resources. Make sure that the linked post and video remain current.

source/voice_control/index.markdown (2)

46-50: Detailed Guides for Voice Processing Options.
The bullet points distinguishing local processing from Home Assistant Cloud services offer clear call-to-action options. Verify that the associated links are correct and reflect the latest documentation.


51-54: Engaging "Expand and Experiment" Section.
The “Expand and Experiment” section is engaging and encourages further exploration of Assist’s capabilities. A brief review of punctuation and phrasing could help ensure the content is as clear as possible.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~53-~53: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...iment Once your setup is up and running and you follow the [best practices](/voice_...

(COMMA_COMPOUND_SENTENCE)

@c0ffeeca7 c0ffeeca7 marked this pull request as draft February 18, 2025 04:45
@jlpouffier jlpouffier marked this pull request as ready for review February 19, 2025 20:54
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (6)
source/voice_control/voice_remote_local_assistant.markdown (6)

33-34: Clarification on Local Processing Statement

Consider revising “run entirely local” to “run entirely locally” for grammatical precision.


35-36: Markdown Heading Consistency

Ensure that the “### Speech-to-text engines” heading is surrounded by blank lines (above and below) to satisfy markdown formatting guidelines.


37-38: Clear Listing of Speech-to-Text Options

The sentence “There are currently two options to run speech-to-text locally: Speech-to-Phrase and Whisper.” is clear. However, please double-check for any inadvertent repeated words as indicated by static analysis.


49-61: Whisper Section Review and Formatting

The Whisper section is informative and clearly outlines its capabilities and limitations. Consider adding a comma after “For example” in the bullet point on line 60 to improve clarity. Additionally, please review the list indentations and trailing spaces to address markdownlint warnings.

🧰 Tools
🪛 LanguageTool

[typographical] ~60-~60: After the expression ‘for example’ a comma is usually used.
Context: ...set-up beyond simple home control. For example by pairing your assistant with a LLM-ba...

(COMMA_FOR_EXAMPLE)

🪛 markdownlint-cli2 (0.17.2)

54-54: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


55-55: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


58-58: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


60-60: Spaces after list markers
Expected: 1; Actual: 2

(MD030, list-marker-space)


73-74: Installation Instructions for Add-ons

The add-on installation instructions clearly offer a choice between the speech-to-text options and provide the Piper add-on for text-to-speech. However, static analysis flagged potential duplicated wording here—please proofread to ensure there are no inadvertent repetitions.

🧰 Tools
🪛 LanguageTool

[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~74-~74: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


80-80: Integration Summary Clarification

The sentence summarizing the integration—combining a local speech-to-text engine (either Speech-to-Phrase or Whisper) with a text-to-speech engine (Piper)—is concise. Please review it for any repeated wording as noted by static analysis.

🧰 Tools
🪛 LanguageTool

[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between aab18d8 and 4feff43.

📒 Files selected for processing (2)
  • source/voice_control/index.markdown (1 hunks)
  • source/voice_control/voice_remote_local_assistant.markdown (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • source/voice_control/index.markdown
🧰 Additional context used
🪛 LanguageTool
source/voice_control/voice_remote_local_assistant.markdown

[duplication] ~39-~39: Possible typo: you repeated a word.
Context: ...eech-to-Phrase** and Whisper. #### Speech-to-Phrase [Speech-to-Phrase](https://github.com/OHF-voice/speech-to...

(ENGLISH_WORD_REPEAT_RULE)


[typographical] ~60-~60: After the expression ‘for example’ a comma is usually used.
Context: ...set-up beyond simple home control. For example by pairing your assistant with a LLM-ba...

(COMMA_FOR_EXAMPLE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~74-~74: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)
source/voice_control/voice_remote_local_assistant.markdown

39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


40-40: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


45-45: Unordered list indentation
Expected: 2; Actual: 3

(MD007, ul-indent)


54-54: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


55-55: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


58-58: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


60-60: Spaces after list markers
Expected: 1; Actual: 2

(MD030, list-marker-space)

🔇 Additional comments (4)
source/voice_control/voice_remote_local_assistant.markdown (4)

39-48: Speech-to-Phrase Section Review

This section provides a concise overview of Speech-to-Phrase—its functionality, speed, and language support. It aligns well with previous improvements in this area. Ensure consistency with earlier documentation and past review comments.

🧰 Tools
🪛 LanguageTool

[duplication] ~39-~39: Possible typo: you repeated a word.
Context: ...eech-to-Phrase** and Whisper. #### Speech-to-Phrase [Speech-to-Phrase](https://github.com/OHF-voice/speech-to...

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)

39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


40-40: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


45-45: Unordered list indentation
Expected: 2; Actual: 3

(MD007, ul-indent)


77-77: Service Discovery Confirmation

The note that “You should now see both services being discovered by the Wyoming integration” is clear and helpful.


97-98: Assistant Setup Configuration

The instructions under step 2 for selecting the speech-to-text and text-to-speech engines are clear and well structured. No changes needed here.


116-121: Learning More Section Enhancement

The newly added “Learning more about Speech-to-Phrase” section effectively provides users with additional resources. Verify that the embedded video (via <lite-youtube>) and the link to [Voice Chapter 9] work as intended, and ensure that the heading hierarchy remains consistent.


Ready? Now let's get started
In case your hardware does not support our wizard, do not worry. Here are two detailed guides based on how you plan to process your voice (Locally, or using Home Assistant Cloud voice services)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how do I know if my hardware supports the wizard?

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
source/voice_control/voice_remote_local_assistant.markdown (3)

39-48: Review “Speech-to-Phrase” Section Heading and Content
While the section is detailed and informative, static analysis indicates a possible duplication (the heading wording may be repeated inadvertently). Please verify the heading and introductory sentence for any redundant wording to ensure consistency with similar sections.

🧰 Tools
🪛 LanguageTool

[duplication] ~39-~39: Possible typo: you repeated a word.
Context: ...eech-to-Phrase** and Whisper. #### Speech-to-Phrase [Speech-to-Phrase](https://github.com/OHF-voice/speech-to...

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)

39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


40-40: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


45-45: Unordered list indentation
Expected: 2; Actual: 3

(MD007, ul-indent)


73-80: Streamline Add-on Installation Instructions
The installation instructions for the add-ons are clear. However, static analysis hints suggest there might be duplicated or repetitive wording in the phrasing (especially when referencing Speech-to-Phrase, Whisper, and Piper). Consider reviewing and possibly rephrasing these lines for enhanced readability and consistency.

🧰 Tools
🪛 LanguageTool

[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~74-~74: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)


39-58: Address Markdown Formatting Warnings
Static analysis has flagged several markdown formatting issues in the sections covering “Speech-to-Phrase” and “Whisper.” These include missing blank lines around headings (MD022), trailing spaces (MD009), and minor unordered list indentation inconsistencies (MD007). Please consider running a markdown linter or manually adjusting the formatting to adhere to the project’s markdown standards.

🧰 Tools
🪛 LanguageTool

[duplication] ~39-~39: Possible typo: you repeated a word.
Context: ...eech-to-Phrase** and Whisper. #### Speech-to-Phrase [Speech-to-Phrase](https://github.com/OHF-voice/speech-to...

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)

39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


40-40: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


45-45: Unordered list indentation
Expected: 2; Actual: 3

(MD007, ul-indent)


54-54: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


55-55: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


58-58: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4feff43 and eaceeb3.

📒 Files selected for processing (1)
  • source/voice_control/voice_remote_local_assistant.markdown (4 hunks)
🧰 Additional context used
🪛 LanguageTool
source/voice_control/voice_remote_local_assistant.markdown

[duplication] ~39-~39: Possible typo: you repeated a word.
Context: ...eech-to-Phrase** and Whisper. #### Speech-to-Phrase [Speech-to-Phrase](https://github.com/OHF-voice/speech-to...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...of your choice, either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~73-~73: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}. ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~74-~74: Possible typo: you repeated a word.
Context: ...er**" %}. - Install {% my supervisor_addon addon="core_piper" title="Piper" %} for t...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...of your choice (either {% my supervisor_addon addon="core_speech-to-phrase" title="**Speech...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...ech-to-Phrase**" %} or {% my supervisor_addon addon="core_whisper" title="Whisper" %}) ...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~80-~80: Possible typo: you repeated a word.
Context: ...text-to-speech engine ({% my supervisor_addon addon="core_piper" title="Piper" %}). 2....

(ENGLISH_WORD_REPEAT_RULE)

🪛 markdownlint-cli2 (0.17.2)
source/voice_control/voice_remote_local_assistant.markdown

39-39: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


40-40: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


45-45: Unordered list indentation
Expected: 2; Actual: 3

(MD007, ul-indent)


54-54: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


55-55: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


58-58: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Redirect rules - home-assistant-docs
  • GitHub Check: Header rules - home-assistant-docs
  • GitHub Check: Pages changed - home-assistant-docs
🔇 Additional comments (5)
source/voice_control/voice_remote_local_assistant.markdown (5)

33-34: Clear Introduction to Local Processing Options
The added sentence clearly informs readers that both speech-to-text and text-to-speech options run entirely local with no external data sharing. This concise description enhances user understanding.


35-38: Concise Overview of Speech-to-Text Engines
The new "Speech-to-text engines" section succinctly introduces the two available options (“Speech-to-Phrase” and “Whisper”), which aligns well with the documentation’s objective of clarifying choices.


49-57: Clarity in the “Whisper” Section
The "Whisper" section clearly distinguishes its open-ended transcription approach and processing speed factors. The content is well structured and informative.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

54-54: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


55-55: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


55-55: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


56-56: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


97-98: Clear Assistant Setup Instructions
The guidance provided for selecting the speech-to-text and text-to-speech engines during assistant setup is straightforward and easy to follow.


116-121: Valuable “Learning More about Speech-to-Phrase” Section
This new section adds useful background information and links for users interested in the rationale behind introducing Speech-to-Phrase. It’s a welcome addition for those seeking further context.

Copy link
Contributor

@c0ffeeca7 c0ffeeca7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @jlpouffier 👍

@c0ffeeca7 c0ffeeca7 merged commit 54a1dd2 into home-assistant:current Feb 21, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
current This PR goes into the current branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants