Speech Rotor equivalent for Mac OS X VoiceOver?

By Mario Lang, 15 March, 2012

Forum
macOS and Mac Apps
Hi. I am looking for a way to easily change between VoiceOver speech languages on Mac OS X (10.7.3). On iOS there is this wonderful feature that you can actually configure the options you get with the speech rotor, so you can enable changing between different speech languages. I have found that I can at least change speech attributes, and the voice is one of the speech attributes, but unfortunately I can not seem to figure out how to switch between different languages, not just the voices available in my current language. Thank you

Options

Comments

By Bryan Jones on Monday, March 26, 2012 - 04:19

Hello Mario, Have you tried using the VO+Command+Arrow key combinations? Pressing VO+Command+RIght or Left Arrow will move you through the various categories of available speech attributes including Voice, Rate, Pitch, Volume and Intonation. Pressing the VO+Command+Up or Down Arrow keys will modify these attributes. Assuming you've added other language voices to your system through VoiceOver Utility / Speech / Voices / Customize, those voices will be available in the "Voice" section of this rotor. As a native US English speaker who is learning Spanish, I've been using the rotor a lot to switch between the Alex US English voice and my two preferred Spanish voices, Javier, which is listed as a "Spanish (Mexico)" voice, and Monica, which is listed as a "Spanish (Spain)" voice on my system. With the release of Lion, Apple added a number of high quality voices and these can all be installed on the Mac. This is much nicer than the behavior of IOS, which only allows one high quality voice to be installed on the device. As is the case on the IOS devices, switching to a different language voice does not change the other language settings in OS X Lion. For example, the date and currency formats remain at your default settings as does the spelling dictionary. There are some ways to help in dealing with these other items, but it's a bit of a mixed bag of tricks at this point. Here are two resources I've found helpful while trying to adjust to multi-language use on the Mac: 1. The "Unleash Your Multilingual Mac" website. http://homepage.mac.com/thgewecke/mlingos9.html 2. Anne & Archie Robertson's www.cecimac.org website. The site is mostly written in French but you can reach the English section by using the web rotor / links. HTH, Bryan

By Nicolai Svendsen on Monday, March 26, 2012 - 04:19

You can use the VoiceOver Utility to customize which options are used when you change the Voice attribute. Go into the Speech category by hitting Command-3, then VO-right to "Default Voice" Pop up button. Hit VO-Space to display its options, then go down to "Customize…" and select it. Down arrow and deselect the voices you wish not to use, and select the ones you want to use. This ensures they actually appear in the rotor when using VO-Command-up and down arrow on the appropriate speech attribute. Keep in mind that you have to interact with the actual voices to see their status. Select OK to continue. If the voice is not currently installed, OS X will attempt to download it if you opt to install a Premium voice. The more immediate effect is that the pop up only contains the choices you have selected. The rotor will always use the recently used voices, so as you continue to use others, those you do not use will slowly filter out of the list. It's preferable to order them in the list. You can do this by switching to the voice you want to use, then back to the previous one. The voice you used prior to the new one you have selected with the rotor will always be the one right below the one you are currently using. This does not apply to the Trackpad Commander, however, as the rotor options similar to iOS gestures only apply to the "web rotor," invoked with VO-U by use of the keyboard. Incidentally, you can assign customized Trackpad Commander gestures to perform this step, though they require modifier keys. I hope this helps.
Hi Thanks a lot for your quick answers. What I was apparently missing was the fact that I needed to interact with the individual voices in the customize dialog to actually see the multiselect status. Now I have my three favorite voices select and VO+Command+Arrows does exactly what I wanted. The only gotcha I can still see is that VoiceOver does not switch the language of its internal messages, so when I switch to an english voice from my german based account I get a mixed experience of languages even if I am using an app which is only available in english (Xcode). Again, thanks for this quick reply, I have learnt a lot from them. Cya, Mario
Yes. Unfortunately, VoiceOver does not support switching languages interchangeably at this time. Essentially, it could now, since all OS X installations at least contain all compact voices. So, failing to use a premium voice, it could switch to the compact voice available. I have a suspicion it's on the to-do list, however, as VoiceOver can detect the language in the Languages table when switching OS X language and going down the list. Of course, this is very different from being able to detect the element, realize it's in another language than the voice being used and calling the event to speak it in the appropriate tongue. However, since OS X has well-integrated localization methods, I suppose VoiceOVer could tie into it, at least as long as applications use conventional tools. Of course, this depends on the developer, though you also see iOS developers who do not use standard "back buttons" and thus, VoiceOver only pronounces "button" in the correct language of the iOS you're running. Hmm. Definitely giving me some food for thought and something to look at and pass on. Someone once suggested that VoiceOver could use the spelling dictionary in order to determine the language, but that's not ideal at all.
Sorry, I did not make myself as clear as I could. I am not looking for automatic language detection. While this would be quite nice of course, the problem I am describing is actually of a different nature. Lets use an example. VoiceOver speaks some messages that are actually coming from VoiceOver itself, and not from any UI elements. One example would be the word "selected", which is "Auswahl" in german. If I switch to an english voice, all the UI elements are read as english as expected, but these "interal" VoiceOver annotations, like "selected" do still use the text from the default language of my locale. So when VoiceOver speaks an english UI element which happens to be selected, it will speak the UI text (which is english in this example) with the english voice, but it will use the german word "Auswahl" when it tries to convey to me that something is selected. I consider this a bug, since VoiceOver knows already that it is currently using an english voice, so it might as well just use the english words for its annotations instead of insisting on doing a broken mix of languages. I hope I managed to explain myself correctly this time. sorry for the confusion. Cya, Mario

By Nicolai Svendsen on Monday, March 26, 2012 - 04:19

In reply to by Mario Lang

I was thinking of the same situation, but I thought of it more from an application standpoint as opposed to a specific VOiceOver one. I think that's how I misunderstood you. :) Again, similar issues occur here. It works exactly the way VoiceOver on iOS does, as well as the language detection. What you're asking for is essentially that all elements are translated appropriately depending on the voice you're using, such as tables, web elements, and so-forth, as well as VoiceOver messages. Given that VoiceOver actually uses similar localization methods as your standard application in Mac OS X, this should be included with language detection as well. If being done strictly by voice, the voices are already identified by language through Mac OS X, so it's a very real possibility technically speaking given how localization strings work. It might require a slight overhaul though, or a slight addition. I know German, too, at least partially, and I know how some speech can really trip up on occasion. I use Danish myself, and believe me, sometimes that speech really freaks out. It happens in particular when I'm reading email, since I usually get a lot of messages containing English text. In this case, if my Mac is actually set to English, it'd be nice if VoiceOver translated the elements, messages as well as used language detection to switch back and forth. Regardless, I'll drop Apple engineers a line and see if I can get something going if it's not already. However, I'd be surprised if I don't get a resounding "Working on this" in return. Given Apple just rolled out some finishing touches to the Danish iTunes Store such as receipts and iOS App Store, it at least sounds like they're getting around to addressing some internationalization. Besides, Apple insists on being international, so getting a no no would be strange. I'm not actually sure why I didn't even suggest it yet. I've been wanting this ever since 10.7 came out. I guess it's one of those potential problems where I'm thinking I'll get around to it, but I don't prioritize it enough to do so.