can I set different punctuation levels and speech rates for different apps?

By kk_macker, 1 May, 2025

Forum
macOS and Mac Apps

Hello all, I haev to use wide range of software apps for my business needs. while I don't want to hear all the punctuations when writing or reading documents in google docs, I certainly need everything spoken by voiceover when I am programming inside VSCode. So can I have different settings for visual studio code and other apps? Same for speech rate.

Options

Comments

By Minionslayer on Thursday, May 1, 2025 - 20:37

Shot answer: yes. Take a look at VoiceOver's Activity settings.

By kk_macker on Thursday, May 1, 2025 - 21:37

I thought that activities could be the place. But I am very new to Mac and VoiceOver so could not figure out exactly what to do. Can someone please guide me with exact steps?

By Tyler on Friday, May 2, 2025 - 00:37

Member of the AppleVis Editorial Team

To create an activity on macOS:

  1. In VoiceOver Utility > Activities, click Add activity.
  2. VoiceOver should announce "Untitled" as the default new activity name. Type a name for the activity in this field, and stop interacting with the table.
  3. Use VO-Right-Arrow to explore the settings you can configure for the selected activity, which should be the one you just created. For each setting you want to change from your existing VoiceOver setup, select its checkbox, then click the "Set" button to the right of the checkbox to reveal the available options.
  4. Passed the settings, you should find options to automatically switch to the activity in specific apps or contexts. I'm not exactly sure how contexts work in practice, but from the "Apps and websites" menu button, you can configure VoiceOver to automatically switch to the activity when opening specific apps or websites. In addition, you can manually select an activity from anywhere in macOS using the activity chooser menu (accessed by pressing VO-X), or revert to the previously used activity by pressing VO-XX.

HTH

By mr grieves on Friday, May 2, 2025 - 11:37

I use custom activities for this purpose. By default I have punctuation set to Some, but for my Coding activity I have it set to All.

One thing that has never worked for me, however, is using custom punctuation sets with activities. This is what I really want as some of the default pronunciations are quite verbose. But if you stick to the default options it should work fine.

You can set activities to automatically be used for certain apps. There is also a weird context thing where you can set an activity to work in a context. There is a coding context if I remember right. If you were using XCode, it would then activate when the code editor has focus, but not when using menus etc. I'm not sure if it works with anything else, though.

By kk_macker on Friday, May 2, 2025 - 14:37

Hi Mr Grieves, So can you exactly tell me how you manage this? As in how you created this activity and how did you set it to switch automatically? So my requirement is very simple. The moment visual studio code is opened or when I command tab to it, punctuation should switch to all. IN all other apps it should remain on some.

By kk_macker on Friday, May 2, 2025 - 16:37

Hello all.
I got it working just as described thank you.
By the way there is another small alteration I am trying with Voiceover, wonder if it is possible also or not.
I want to press all buttons using VO + enter instead of VO + space. I haven't found anything close to helping me with this.

By mr grieves on Friday, May 2, 2025 - 16:45

I only looked at contexts briefly when it came out with Sonoma. It's not really documented properly. THe only thing I got working is - I added the Coding context to my Coding activity. If I opened up XCode (which I don't really use) I found that when I was in the code editor it was using my Coding activity. But if I went to side-panels or the application menu or whatever, it would use my normal activity. I like this because I usually don't need to hear all the punctuation outside the code. I presume devs need to mark controls up as being of a certain type but I've no idea how that's done. I've also no idea what the other contexts are for.

And @kk_macker - glad you got it working. Sorry I hadn't seen your question until it was too late anyway. If you've not done it already then I would also recommend looking at the other verbosity options in the Coding activity - for example you can play a tone to indicate indentation level. I also have another activity that changes this to speak the indentation which I can switch to with VO+X if I start getting confused. (I use Python so indentation is really important).

As for remapping VO+Space to VO+Enter - it's quite possible you can do that from the Commands section in VO Utility as long as you are using Sequoia. I would recommend exporting your VO Settings from the VO Utility File menu first, so you can restore them in case it doesn't go so well.

I'm not sure what your use case is for this - I have setup the NumPad commander so I can use 5 on the numpad to do the same as VO+Space. (Then I can use 4 and 6 instead of VO+left/right for example).

I am personally a little afraid of changing the basic VO commands as I know it would just mess with my head the next time I use a Mac with the default setup. Or if I want to ask someone how to do something and my layout is entirely different.

Also, VO+Enter is useful if you are in Terminal as it allows you to select lines. You can no doubt remap this too.

I think you can also setup different shortcuts in different apps too, so I guess you could add VO+Enter in VS Code, for example.

By the way, one tip for remapping commands - if you press VO+K, then press the VO shortcut you want to remap (so VO+Space) it will tell you the name of the command. You should be able to search for this in the commands dialog. Similarly, VO+H then H again allows you to search for commands and it will tell you the keyboard shortcut and allow you to activate the command directly.

By kk_macker on Saturday, May 3, 2025 - 11:55

Oh I have tried all this and the OS version is very much the one you mentioned.
But still can't change the command. Perhaps OS may have restricted changing this.