moderated Automatically Switching Voice Profiles Based On Application/Website #jaws
Hello Members,
I am currently taking an Italian course as part of my major's requirements and have found the voices provided by Vocalizer are much better than Eloquence. Because of this, I find myself switching language profiles quite often. If possible, I would like to configure JAWS to automatically switch voice profiles when visiting the website used to complete Italian homework so that at least this task can be automated. I can configure other settings through the Settings Center on a per-application or per-website basis and seem to recall JAWS users who configured different voice profiles for different applications, so I am hoping this is indeed possible both for applications and websites. If this is indeed doable, please advise on how I might go about it. Any help is greatly appreciated. Sincerely, Noah
|
|
Soronel Haetir
I do not believe this is possible, as far as I can tell the profile in
toggle quoted messageShow quoted text
use is based on the currently focused program. It is possible to have scripts and even normal jaws configuration on a per-site basis but as far as I can tell the voice profile is not part of that.
On 10/2/22, Noah Carver <noahcarver494@...> wrote:
Hello Members, --
Soronel Haetir soronel.haetir@...
|
|
Dear Soronel,
Thanks for your reply. This is unfortunate, but then again, it's not all that hard to change profiles so I will continue doing that as needed. Thanks for your help. Sincerely, Noah
|
|
Mark
Maybe let suggestions@... know about your idea, Noah. If the feature would save you a few steps, it's an improvement to the usability of the product.
|
|
Ashleigh Piccinino
I would think what Noah is talking about would be good for people with more severe PWD. Stuff. Then he probably has. That is, with mobility issues to where they can't actually switch profiles on the keyboard.
Get Outlook for iOS From: main@jfw.groups.io <main@jfw.groups.io> on behalf of Mark <mweiler@...>
Sent: Tuesday, October 4, 2022 4:47:06 AM To: main@jfw.groups.io <main@jfw.groups.io> Subject: Re: Automatically Switching Voice Profiles Based On Application/Website #jaws Maybe let
suggestions@... know about your idea, Noah. If the feature would save you a few steps, it's an improvement to the usability of the product.
|
|
Udo Egner-Walter
Hi Noah,
toggle quoted messageShow quoted text
I don't know if you found a solution yet but if you want to use JAWS-Script you can do the following: 1. Change voice profile by shortcut If you assign a key to the script "ChangeVoideProfile" you can switch between two voice profiles by using one shortcut. If the first voice profile is active the second one gets activated and vice versa: <Code Start> Include "HjGlobal.jsh" Include "hjconst.jsh" include "MSAAConst.jsh" include "UIA.jsh" Include "common.jsm" Use "Default.jsb" const Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium" Script ChangeVoiceProfiles () If GetActiveProfileName () == Voice1 then SetActiveVoiceProfileByName (Voice2) else SetActiveVoiceProfileByName (Voice1) EndIf ; If GetActiveProfileName == Voice1 then EndScript <Code End> Notice: You have to change the voice profile in the line "Voice1" and "Voice2" (the text between "). This was an example I made for a guy wanting to use the German Voice and the Arabic speaking Voice. Take care to write the chars case sensitive so JAWS could find the files) 2. Automatically switch voice profile by using a particular web site As Soronol already said you can use user scripts for a particular web site. There is a function event which is called when entering this page so you can select your Italian voice. And there's a function event which is called when you leave this site so you can switch back to your Enlgish voice profile. The steps are as follows (note: I'm not using an English version so the names might differ a bit): 1. Open you Italian web site 2. Open Script Manager by pressing JAWS+0 in the number row 3, Go to File menu of Script Manager and open it 4. Select "Open domain-specific script file" (or a phrase similar). 5. By pressing JAWS+T you get the title of the Script Manager file which should include the url of your web site 6. Insert the following lines (and note: change the voice profile names in the line beginning with "voice1" and "voice" to as described in the Script above to your needs. Take care to write the chars case sensitive so JAWS could find the files) <Code Start> Include "HjGlobal.jsh" Include "hjconst.jsh" include "MSAAConst.jsh" include "UIA.jsh" Include "common.jsm" const Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium" Void Function AutoStartEvent () SetActiveVoiceProfileByName (Voice2) EndFunction Void Function AutoFinishEvent () SetActiveVoiceProfileByName (Voice1) EndFunction <Code End> Good luck and let me know if something isn't clear. Udo
|
|
Leo
Hi Udo, very interesting and useful script. Would this work to switch between voice profiles regardless of the engine? Let’s say between Eloquence and Vocalizer?
Best, Leo Bado
From: main@jfw.groups.io <main@jfw.groups.io> On Behalf Of Udo Egner-Walter via groups.io
Sent: Sunday, October 9, 2022 4:30 AM To: main@jfw.groups.io Subject: Re: Automatically Switching Voice Profiles Based On Application/Website #jaws
Hi Noah,
I don't know if you found a solution yet but if you want to use JAWS-Script you can do the following:
1. Change voice profile by shortcut
If you assign a key to the script "ChangeVoideProfile" you can switch between two voice profiles by using one shortcut. If the first voice profile is active the second one gets activated and vice versa:
<Code Start>
Include "HjGlobal.jsh" Include "hjconst.jsh" include "MSAAConst.jsh" include "UIA.jsh" Include "common.jsm"
Use "Default.jsb"
const Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium"
Script ChangeVoiceProfiles () If GetActiveProfileName () == Voice1 then SetActiveVoiceProfileByName (Voice2) else SetActiveVoiceProfileByName (Voice1) EndIf ; If GetActiveProfileName == Voice1 then EndScript
<Code End>
Notice: You have to change the voice profile in the line "Voice1" and "Voice2" (the text between "). This was an example I made for a guy wanting to use the German Voice and the Arabic speaking Voice. Take care to write the chars case sensitive so JAWS could find the files)
2. Automatically switch voice profile by using a particular web site
As Soronol already said you can use user scripts for a particular web site. There is a function event which is called when entering this page so you can select your Italian voice. And there's a function event which is called when you leave this site so you can switch back to your Enlgish voice profile.
The steps are as follows (note: I'm not using an English version so the names might differ a bit):
1. Open you Italian web site 2. Open Script Manager by pressing JAWS+0 in the number row 3, Go to File menu of Script Manager and open it 4. Select "Open domain-specific script file" (or a phrase similar). 5. By pressing JAWS+T you get the title of the Script Manager file which should include the url of your web site 6. Insert the following lines (and note: change the voice profile names in the line beginning with "voice1" and "voice" to as described in the Script above to your needs. Take care to write the chars case sensitive so JAWS could find the files)
<Code Start>
Include "HjGlobal.jsh" Include "hjconst.jsh" include "MSAAConst.jsh" include "UIA.jsh" Include "common.jsm"
const Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium"
Void Function AutoStartEvent () SetActiveVoiceProfileByName (Voice2) EndFunction
Void Function AutoFinishEvent () SetActiveVoiceProfileByName (Voice1) EndFunction
<Code End>
Good luck and let me know if something isn't clear.
Udo
|
|
Udo Egner-Walter
Hi Leo,
toggle quoted messageShow quoted text
this script should work with all voice profiles created by you or Freedom Scientific. All the best Udo
|
|
Leo
Great! One last question, in the script, you defined the constant values as follows: Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium"
My question is this: The strings set off in quotes are Jaws standard values or just the voice profile name given by the user in the voice profile settings?
Best, Leo Bado
From: main@jfw.groups.io <main@jfw.groups.io> On Behalf Of Udo Egner-Walter via groups.io
Sent: Sunday, October 9, 2022 9:37 AM To: main@jfw.groups.io Subject: Re: Automatically Switching Voice Profiles Based On Application/Website #jaws
Hi Leo,
this script should work with all voice profiles created by you or Freedom Scientific. All the best Udo
|
|
Leo
Never mind; I work it out by myself, and I repeat, the script is great, it just needed a quick and easy fix, but just in my case.
Best, Leo Bado
From: main@jfw.groups.io <main@jfw.groups.io> On Behalf Of Leo
Sent: Sunday, October 9, 2022 10:30 AM To: main@jfw.groups.io Subject: Re: Automatically Switching Voice Profiles Based On Application/Website #jaws
Great! One last question, in the script, you defined the constant values as follows: Voice1 = "Maged Vocalizer Expressive Premium", Voice2 = "Anna Vocalizer Expressive Premium"
My question is this: The strings set off in quotes are Jaws standard values or just the voice profile name given by the user in the voice profile settings?
Best, Leo Bado
From: main@jfw.groups.io <main@jfw.groups.io> On Behalf Of Udo Egner-Walter via groups.io
Hi Leo,
this script should work with all voice profiles created by you or Freedom Scientific. All the best Udo
|
|
Udo Egner-Walter
Leo, great, I'm glad I could help you 😀
toggle quoted messageShow quoted text
|
|