microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
106.95k stars 6.31k forks source link

Feature request: Text to speech Power Toy - similar to MacOS' "option + esc" #24734

Open pipeeeeees opened 1 year ago

pipeeeeees commented 1 year ago

Description of the new feature / enhancement

Unless there is already a way in windows, I often find myself longing for a way to have native and easily accessible text-to-speech capabilities for reading on-screen highlighted text with a button shortcut. On a mac, this is achieved with 'option + escape' and it will immediately read highlighted text aloud with a pop-up menu for controlling the reading pace, and play/pause. Windows has 'Narrator', but the scope that it narrates is too wide (often reading aloud changes in volume levels, mouse clicks). The scope I am proposing is just reading aloud the highlighted text. The specification/requirements of the feature should match MacOS's text-to-speech in ease of activation and control, and be on par with "speech-ability"/ being able to understand what is being spoken. PowerToys seems to me like a great place to implement this feature on Windows.

Scenario when this would be used?

Supporting information

Look at the feature already included in MacOS if you are unfamiliar: https://support.apple.com/guide/mac-help/have-your-mac-speak-text-thats-on-the-screen-mh27448/mac

stefansjfw commented 1 year ago

As you mentioned, Windows has a built-in tool called Narrator which you can use for this. You can learn more here https://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1

In Narrator settings there is an option to enable using mouse cursor to select text to read. Did you try that? /needinfo

pipeeeeees commented 1 year ago

I have tried Narrator, however, even at the lowest level of detail, Narrator will still read things other than just the cursor-selected text. Setting here: image I mean try for yourself - having Narrator try to read aloud only the selected text on a web browser or Outlook is seemingly impossible. It will start reading aloud that narrator itself has been turned on, it will start reading browser web page titles, or tell you irrelevant things such as it is reading from a text box, or if you adjust the volume partway through it stops reading entirely and will tell you the volume level followed by silence. Narrator's purpose is way too large in scope for this, and seemingly unable to be customizable to the level where it matches the utility of MacOS's TTS feature.

The utility I get out of MacOS's TTS when pressing 'option+esc' on the highlighted text is great. It just reads the selected text aloud and shuts itself off afterward. I think its utility as a tool in PowerToys would complement the others nicely. It's a feature request large in scope (dealing with TTS languages, reading style, etc), but I thought I'd open it to entertain the idea. I wish Narrator could be a perfect solution here.

andyylin commented 11 months ago

I am also looking for this feature. Narrator talks too much and speaks aloud things I don't need.

Just like on Mac, it'd be great to have a keyboard shortcut that simply speaks the currently highlighted text, and nothing more.

This is useful to me because Mandarin is my second language, and sometimes it helps to listen to written Mandarin text since my reading ability is less than my listening ability.

andyylin commented 11 months ago

Just found this tiny program that seems to work. Press F1 to hear selected text be spoken, and the tray icon right click menu takes you to voice settings.

https://github.com/DannyBen/TinySpeech/tree/master