How let KM Speak Text on Safari Reader page?

To avoid stress on the eyes, I'd like to use a macro to do this.

Safari has the 'Speech module' in an almost hidden context menu,
= difficult to access.

Then we do have the KM Speak text action.

If not the whole text, maybe a selection of the Safari text will be easier.

How to do this, if it's possible?

Speak Text on Safari Reader page vs. 0.5 Macro (v10.0)

Speak Text on Safari Reader page vs. 0.5.kmmacros (3.6 KB)

Unless it's moved in more recent OSs, it's also available in Safari's "Edit"->"Speech" menu and can be triggered with a KM "Select or Show a Menu Item":

image

Worth trying before you start digging into other methods.

Yes, this one!

It does work manually.

With the updated Macro

(Select Menu item in Safari etc.) I get the error:

”Select Menu Item failed to find target menu item Speech> Start Speaking…”

Are you on Ventura? A lot of submenus have become dynamically-populated in the latest OS and aren't available until you select the "parent" item. Try this workround:

image

1 Like

It's Mojave and it works now.

Looking at your screenshot I realised I had missed one line / and the wrong Menu Title. grrr!

Now if I want to toggle the macro, and that way use only 1 keyboard trigger, i.o. to stop the reading…

Otherwise a corresponding macro based on this one is fine.

Do you think toggling is possible?

/

with best regards, Omar KN, Stockholm, Sweden

You can get the exact menu item by using the "Menu" dropdown in the action itself and navigating through the application, top-level menu title, sub-menu name, etc. KM will then fill in the dialog for you.

Not just possible -- really easy! KM has a Menu condition, and you can use the fact that Safari's "Stop Speaking" menu item is only enabled when speaking is active.

In case you did end up needing the two-step activation, here's the toggle version:

Read Safari Page -- Toggle Version.kmmacros (4.7 KB)

2 Likes

Thank you Nige!

This works perfectly, with toggling and also with the option to only have a SELECTION of text be read out!

!!!