[NVDA-dev] NVDA and Koba Speech 2 voices

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[NVDA-dev] NVDA and Koba Speech 2 voices

Michel Such
Hi all,

Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
A user reports me that it does not load anymore since NVDA 2012.1.
He tried to use it under W7 32 and 64 bits and latest snapshot main 5588.
Here is the log he sent me :


Loaded synthDriver sapi5
ERROR - unhandled exception (23:43:00):
Traceback (most recent call last):
File "gui\settingsDialogs.pyc", line 336, in __call__
File "synthDriverHandler.pyc", line 28, in changeVoice
File "synthDrivers\sapi5.pyc", line 117, in _set_voice
File "comtypes\client\dynamic.pyc", line 93, in __getattr__
File "comtypes\automation.pyc", line 643, in GetIDsOfNames
COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
0, None))
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
(23:43:02):
Developer info for navigator object:
name: u'Voix:'
role: ROLE_COMBOBOX
states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x056B3770>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
<type 'object'>)
description: None
location: (700, 451, 376, 27)
value: u'Vocalizer Thomas - French For KobaSpeech 2'
appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 3014850
windowClassName: u'ComboBox'
windowControlID: -210
windowStyle: 1442906627
windowThreadID: 5528
windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=3014850, objectID=-4, childID=0
IAccessible accName: u'Voix:'
IAccessible accRole: ROLE_SYSTEM_COMBOBOX
IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
IAccessible accDescription: None
IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'

--
Michel Such


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Peter Vágner
Hello,
I remember tweaking this particular bit of code a while ago to skip
buggy engines and try to make working engines loading eventhough there
may be problematic engines left on the system.
However this was all even before NVDA 2012.2 release.
Do other sapi5 voices load for the original reporter?
What is the last working version of NVDA for him if any?

Greetings

Peter


On 26.10.2012 10:38, Michel such  wrote:

> Hi all,
>
> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
> A user reports me that it does not load anymore since NVDA 2012.1.
> He tried to use it under W7 32 and 64 bits and latest snapshot main 5588.
> Here is the log he sent me :
>
>
> Loaded synthDriver sapi5
> ERROR - unhandled exception (23:43:00):
> Traceback (most recent call last):
> File "gui\settingsDialogs.pyc", line 336, in __call__
> File "synthDriverHandler.pyc", line 28, in changeVoice
> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
> 0, None))
> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
> (23:43:02):
> Developer info for navigator object:
> name: u'Voix:'
> role: ROLE_COMBOBOX
> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
> isFocusable: True
> hasFocus: True
> Python object: <NVDAObjects.IAccessible.IAccessible object at 0x056B3770>
> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
> 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
> <type 'object'>)
> description: None
> location: (700, 451, 376, 27)
> value: u'Vocalizer Thomas - French For KobaSpeech 2'
> appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
> windowHandle: 3014850
> windowClassName: u'ComboBox'
> windowControlID: -210
> windowStyle: 1442906627
> windowThreadID: 5528
> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
> IAccessibleChildID: 0
> IAccessible event parameters: windowHandle=3014850, objectID=-4, childID=0
> IAccessible accName: u'Voix:'
> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
> IAccessible accDescription: None
> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Peter Vágner
ooops, I am sorry for the double posting.
I have found out I have never pushed that change into the NVDA repository.
I have been in contact with a guy who reported me such issue using
slovak NVDA community site.
I think the fix worked for him but I have then forgotten to send the fix
upstream.
That guy is still using the addon I have created for him for a test.
Can you ask the original reporter to test it too?

https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon

I know the way it is currently done in the NVDA repository appears to be
more efficient than what I did but as I have said already it prevents
loading working voices if there are broken ones found on the system.

Greetings

Peter



On 26.10.2012 12:28, Peter Vágner  wrote:

> Hello,
> I remember tweaking this particular bit of code a while ago to skip
> buggy engines and try to make working engines loading eventhough there
> may be problematic engines left on the system.
> However this was all even before NVDA 2012.2 release.
> Do other sapi5 voices load for the original reporter?
> What is the last working version of NVDA for him if any?
>
> Greetings
>
> Peter
>
>
> On 26.10.2012 10:38, Michel such  wrote:
>> Hi all,
>>
>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>> A user reports me that it does not load anymore since NVDA 2012.1.
>> He tried to use it under W7 32 and 64 bits and latest snapshot main 5588.
>> Here is the log he sent me :
>>
>>
>> Loaded synthDriver sapi5
>> ERROR - unhandled exception (23:43:00):
>> Traceback (most recent call last):
>> File "gui\settingsDialogs.pyc", line 336, in __call__
>> File "synthDriverHandler.pyc", line 28, in changeVoice
>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
>> 0, None))
>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>> (23:43:02):
>> Developer info for navigator object:
>> name: u'Voix:'
>> role: ROLE_COMBOBOX
>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>> isFocusable: True
>> hasFocus: True
>> Python object: <NVDAObjects.IAccessible.IAccessible object at 0x056B3770>
>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>> 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
>> <type 'object'>)
>> description: None
>> location: (700, 451, 376, 27)
>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>> windowHandle: 3014850
>> windowClassName: u'ComboBox'
>> windowControlID: -210
>> windowStyle: 1442906627
>> windowThreadID: 5528
>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>> IAccessibleChildID: 0
>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>> childID=0
>> IAccessible accName: u'Voix:'
>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>> IAccessible accDescription: None
>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Michel Such
Thanks Peter,

I forwarded the link to the person and let you know the result.



Michel Such

Le 2012-10-26 12.39, Peter Vágner a écrit :

> ooops, I am sorry for the double posting.
> I have found out I have never pushed that change into the NVDA repository.
> I have been in contact with a guy who reported me such issue using
> slovak NVDA community site.
> I think the fix worked for him but I have then forgotten to send the fix
> upstream.
> That guy is still using the addon I have created for him for a test.
> Can you ask the original reporter to test it too?
>
> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>
> I know the way it is currently done in the NVDA repository appears to be
> more efficient than what I did but as I have said already it prevents
> loading working voices if there are broken ones found on the system.
>
> Greetings
>
> Peter
>
>
>
> On 26.10.2012 12:28, Peter Vágner  wrote:
>> Hello,
>> I remember tweaking this particular bit of code a while ago to skip
>> buggy engines and try to make working engines loading eventhough there
>> may be problematic engines left on the system.
>> However this was all even before NVDA 2012.2 release.
>> Do other sapi5 voices load for the original reporter?
>> What is the last working version of NVDA for him if any?
>>
>> Greetings
>>
>> Peter
>>
>>
>> On 26.10.2012 10:38, Michel such  wrote:
>>> Hi all,
>>>
>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>> 5588.
>>> Here is the log he sent me :
>>>
>>>
>>> Loaded synthDriver sapi5
>>> ERROR - unhandled exception (23:43:00):
>>> Traceback (most recent call last):
>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
>>> 0, None))
>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>> (23:43:02):
>>> Developer info for navigator object:
>>> name: u'Voix:'
>>> role: ROLE_COMBOBOX
>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>> isFocusable: True
>>> hasFocus: True
>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>> 0x056B3770>
>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>> 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
>>> <type 'object'>)
>>> description: None
>>> location: (700, 451, 376, 27)
>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>> windowHandle: 3014850
>>> windowClassName: u'ComboBox'
>>> windowControlID: -210
>>> windowStyle: 1442906627
>>> windowThreadID: 5528
>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>> IAccessibleChildID: 0
>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>> childID=0
>>> IAccessible accName: u'Voix:'
>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>> IAccessible accDescription: None
>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open
>> source screen reader for Windows.
>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development.
>> Discussion about translating NVDA to various languages happens on a
>> separate email list. For more information about NVDA localization and
>> translation, please visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Michel Such
In reply to this post by Peter Vágner
Peter,

The addon you sent us works fine with all Sapi5 voices.
Would be possible to include this fix into NVDA?



Michel Such

Le 2012-10-26 12.28, Peter Vágner a écrit :

> Hello,
> I remember tweaking this particular bit of code a while ago to skip
> buggy engines and try to make working engines loading eventhough there
> may be problematic engines left on the system.
> However this was all even before NVDA 2012.2 release.
> Do other sapi5 voices load for the original reporter?
> What is the last working version of NVDA for him if any?
>
> Greetings
>
> Peter
>
>
> On 26.10.2012 10:38, Michel such  wrote:
>> Hi all,
>>
>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>> A user reports me that it does not load anymore since NVDA 2012.1.
>> He tried to use it under W7 32 and 64 bits and latest snapshot main 5588.
>> Here is the log he sent me :
>>
>>
>> Loaded synthDriver sapi5
>> ERROR - unhandled exception (23:43:00):
>> Traceback (most recent call last):
>> File "gui\settingsDialogs.pyc", line 336, in __call__
>> File "synthDriverHandler.pyc", line 28, in changeVoice
>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
>> 0, None))
>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>> (23:43:02):
>> Developer info for navigator object:
>> name: u'Voix:'
>> role: ROLE_COMBOBOX
>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>> isFocusable: True
>> hasFocus: True
>> Python object: <NVDAObjects.IAccessible.IAccessible object at 0x056B3770>
>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>> 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
>> <type 'object'>)
>> description: None
>> location: (700, 451, 376, 27)
>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>> windowHandle: 3014850
>> windowClassName: u'ComboBox'
>> windowControlID: -210
>> windowStyle: 1442906627
>> windowThreadID: 5528
>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>> IAccessibleChildID: 0
>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>> childID=0
>> IAccessible accName: u'Voix:'
>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>> IAccessible accDescription: None
>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

James Teh
In reply to this post by Peter Vágner
Hi Peter,

Can you please provide a patch and explanation in a ticket (existing or
new) before committing this? I'd like to make sure we understand any
changes made here, discuss alternatives, etc.

Thanks,
Jamie

On 26/10/2012 8:39 PM, Peter Vágner wrote:

> ooops, I am sorry for the double posting.
> I have found out I have never pushed that change into the NVDA repository.
> I have been in contact with a guy who reported me such issue using
> slovak NVDA community site.
> I think the fix worked for him but I have then forgotten to send the fix
> upstream.
> That guy is still using the addon I have created for him for a test.
> Can you ask the original reporter to test it too?
>
> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>
> I know the way it is currently done in the NVDA repository appears to be
> more efficient than what I did but as I have said already it prevents
> loading working voices if there are broken ones found on the system.
>
> Greetings
>
> Peter
>
>
>
> On 26.10.2012 12:28, Peter Vágner  wrote:
>> Hello,
>> I remember tweaking this particular bit of code a while ago to skip
>> buggy engines and try to make working engines loading eventhough there
>> may be problematic engines left on the system.
>> However this was all even before NVDA 2012.2 release.
>> Do other sapi5 voices load for the original reporter?
>> What is the last working version of NVDA for him if any?
>>
>> Greetings
>>
>> Peter
>>
>>
>> On 26.10.2012 10:38, Michel such  wrote:
>>> Hi all,
>>>
>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>> 5588.
>>> Here is the log he sent me :
>>>
>>>
>>> Loaded synthDriver sapi5
>>> ERROR - unhandled exception (23:43:00):
>>> Traceback (most recent call last):
>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None, None,
>>> 0, None))
>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>> (23:43:02):
>>> Developer info for navigator object:
>>> name: u'Voix:'
>>> role: ROLE_COMBOBOX
>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>> isFocusable: True
>>> hasFocus: True
>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>> 0x056B3770>
>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>> 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
>>> <type 'object'>)
>>> description: None
>>> location: (700, 451, 376, 27)
>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address 53b0130>
>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>> windowHandle: 3014850
>>> windowClassName: u'ComboBox'
>>> windowControlID: -210
>>> windowStyle: 1442906627
>>> windowThreadID: 5528
>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>> IAccessibleChildID: 0
>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>> childID=0
>>> IAccessible accName: u'Voix:'
>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>> IAccessible accDescription: None
>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open
>> source screen reader for Windows.
>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development.
>> Discussion about translating NVDA to various languages happens on a
>> separate email list. For more information about NVDA localization and
>> translation, please visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits

--
James Teh
Director, NV Access Limited
Email: [hidden email]
Web site: http://www.nvaccess.org/
Phone: +61 7 5667 8372


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Peter Vágner
+Hello,
Sorry I havent yet prepared a patch although the issue is verry simple.
When you look to the sapi5.py you will see at line 118 something like this:
                for voice in self._getVoiceTokens():

Sometimes what is assigned to the voice variable is not the object we
are expecting because of a com error . This way the loops end and if the
buggy engines were assigned before the engine we are looking for it all
fails.

I have just rewrote that bit of code as follows.

        def _set_voice(self,value):
                v=self._getVoiceTokens()
                for i in range(len(v)):
                        if value==v[i].Id:
                                break
                else:
                        # Voice not found.
                        return
                self._initTts(voice=v[i])


Greetings

Peter



On 27.10.2012 09:02, James Teh  wrote:

> Hi Peter,
>
> Can you please provide a patch and explanation in a ticket (existing or
> new) before committing this? I'd like to make sure we understand any
> changes made here, discuss alternatives, etc.
>
> Thanks,
> Jamie
>
> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>> ooops, I am sorry for the double posting.
>> I have found out I have never pushed that change into the NVDA
>> repository.
>> I have been in contact with a guy who reported me such issue using
>> slovak NVDA community site.
>> I think the fix worked for him but I have then forgotten to send the fix
>> upstream.
>> That guy is still using the addon I have created for him for a test.
>> Can you ask the original reporter to test it too?
>>
>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>
>> I know the way it is currently done in the NVDA repository appears to be
>> more efficient than what I did but as I have said already it prevents
>> loading working voices if there are broken ones found on the system.
>>
>> Greetings
>>
>> Peter
>>
>>
>>
>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>> Hello,
>>> I remember tweaking this particular bit of code a while ago to skip
>>> buggy engines and try to make working engines loading eventhough there
>>> may be problematic engines left on the system.
>>> However this was all even before NVDA 2012.2 release.
>>> Do other sapi5 voices load for the original reporter?
>>> What is the last working version of NVDA for him if any?
>>>
>>> Greetings
>>>
>>> Peter
>>>
>>>
>>> On 26.10.2012 10:38, Michel such  wrote:
>>>> Hi all,
>>>>
>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>> 5588.
>>>> Here is the log he sent me :
>>>>
>>>>
>>>> Loaded synthDriver sapi5
>>>> ERROR - unhandled exception (23:43:00):
>>>> Traceback (most recent call last):
>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>> None,
>>>> 0, None))
>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>> (23:43:02):
>>>> Developer info for navigator object:
>>>> name: u'Voix:'
>>>> role: ROLE_COMBOBOX
>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>> isFocusable: True
>>>> hasFocus: True
>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>> 0x056B3770>
>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>> <class
>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>> 'baseObject.ScriptableObject'>, <class
>>>> 'baseObject.AutoPropertyObject'>,
>>>> <type 'object'>)
>>>> description: None
>>>> location: (700, 451, 376, 27)
>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>> 53b0130>
>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>> windowHandle: 3014850
>>>> windowClassName: u'ComboBox'
>>>> windowControlID: -210
>>>> windowStyle: 1442906627
>>>> windowThreadID: 5528
>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>> IAccessibleChildID: 0
>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>> childID=0
>>>> IAccessible accName: u'Voix:'
>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>> IAccessible accDescription: None
>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>
>>>
>>> __________________________________________
>>> A discussion list about the development of NVDA, the free and open
>>> source screen reader for Windows.
>>> [hidden email]
>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>> Note this list is for discussion of NVDA's general development.
>>> Discussion about translating NVDA to various languages happens on a
>>> separate email list. For more information about NVDA localization and
>>> translation, please visit:
>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>> For an overview of NVDA development, please visit:
>>> http://www.nvda-project.org/wiki/Development
>>> To be notified of source code changes and trac ticket updates, please
>>> subscribe to the nvda-commits list:
>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open
>> source screen reader for Windows.
>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development.
>> Discussion about translating NVDA to various languages happens on a
>> separate email list. For more information about NVDA localization and
>> translation, please visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
>


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

James Teh
Hi Peter,

I don't quite follow how this fixes the issue. Fetching by index using
[i] should return the same thing as the iterator; i.e. you should get an
exception in either case. Perhaps the iterator fetches one or two ahead.
However, what happens if the buggy voice is *before* the one we're
seeking? I might understand more if you were catching exceptions around
v[i], but it doesn't seem like you are.

Thanks,
Jamie

On 8/11/2012 4:14 PM, Peter Vágner wrote:

> +Hello,
> Sorry I havent yet prepared a patch although the issue is verry simple.
> When you look to the sapi5.py you will see at line 118 something like this:
>          for voice in self._getVoiceTokens():
>
> Sometimes what is assigned to the voice variable is not the object we
> are expecting because of a com error . This way the loops end and if the
> buggy engines were assigned before the engine we are looking for it all
> fails.
>
> I have just rewrote that bit of code as follows.
>
>      def _set_voice(self,value):
>          v=self._getVoiceTokens()
>          for i in range(len(v)):
>              if value==v[i].Id:
>                  break
>          else:
>              # Voice not found.
>              return
>          self._initTts(voice=v[i])
>
>
> Greetings
>
> Peter
>
>
>
> On 27.10.2012 09:02, James Teh  wrote:
>> Hi Peter,
>>
>> Can you please provide a patch and explanation in a ticket (existing or
>> new) before committing this? I'd like to make sure we understand any
>> changes made here, discuss alternatives, etc.
>>
>> Thanks,
>> Jamie
>>
>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>> ooops, I am sorry for the double posting.
>>> I have found out I have never pushed that change into the NVDA
>>> repository.
>>> I have been in contact with a guy who reported me such issue using
>>> slovak NVDA community site.
>>> I think the fix worked for him but I have then forgotten to send the fix
>>> upstream.
>>> That guy is still using the addon I have created for him for a test.
>>> Can you ask the original reporter to test it too?
>>>
>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>
>>> I know the way it is currently done in the NVDA repository appears to be
>>> more efficient than what I did but as I have said already it prevents
>>> loading working voices if there are broken ones found on the system.
>>>
>>> Greetings
>>>
>>> Peter
>>>
>>>
>>>
>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>> Hello,
>>>> I remember tweaking this particular bit of code a while ago to skip
>>>> buggy engines and try to make working engines loading eventhough there
>>>> may be problematic engines left on the system.
>>>> However this was all even before NVDA 2012.2 release.
>>>> Do other sapi5 voices load for the original reporter?
>>>> What is the last working version of NVDA for him if any?
>>>>
>>>> Greetings
>>>>
>>>> Peter
>>>>
>>>>
>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>> Hi all,
>>>>>
>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>> 5588.
>>>>> Here is the log he sent me :
>>>>>
>>>>>
>>>>> Loaded synthDriver sapi5
>>>>> ERROR - unhandled exception (23:43:00):
>>>>> Traceback (most recent call last):
>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>> None,
>>>>> 0, None))
>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>> (23:43:02):
>>>>> Developer info for navigator object:
>>>>> name: u'Voix:'
>>>>> role: ROLE_COMBOBOX
>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>> isFocusable: True
>>>>> hasFocus: True
>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>> 0x056B3770>
>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>> <class
>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>>> 'baseObject.ScriptableObject'>, <class
>>>>> 'baseObject.AutoPropertyObject'>,
>>>>> <type 'object'>)
>>>>> description: None
>>>>> location: (700, 451, 376, 27)
>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>> 53b0130>
>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>> windowHandle: 3014850
>>>>> windowClassName: u'ComboBox'
>>>>> windowControlID: -210
>>>>> windowStyle: 1442906627
>>>>> windowThreadID: 5528
>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>> IAccessibleChildID: 0
>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>> childID=0
>>>>> IAccessible accName: u'Voix:'
>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>> IAccessible accDescription: None
>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>
>>>>
>>>> __________________________________________
>>>> A discussion list about the development of NVDA, the free and open
>>>> source screen reader for Windows.
>>>> [hidden email]
>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>> Note this list is for discussion of NVDA's general development.
>>>> Discussion about translating NVDA to various languages happens on a
>>>> separate email list. For more information about NVDA localization and
>>>> translation, please visit:
>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>> For an overview of NVDA development, please visit:
>>>> http://www.nvda-project.org/wiki/Development
>>>> To be notified of source code changes and trac ticket updates, please
>>>> subscribe to the nvda-commits list:
>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>
>>> __________________________________________
>>> A discussion list about the development of NVDA, the free and open
>>> source screen reader for Windows.
>>> [hidden email]
>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>> Note this list is for discussion of NVDA's general development.
>>> Discussion about translating NVDA to various languages happens on a
>>> separate email list. For more information about NVDA localization and
>>> translation, please visit:
>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>> For an overview of NVDA development, please visit:
>>> http://www.nvda-project.org/wiki/Development
>>> To be notified of source code changes and trac ticket updates, please
>>> subscribe to the nvda-commits list:
>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits

--
James Teh
Director, NV Access Limited
Email: [hidden email]
Web site: http://www.nvaccess.org/
Phone: +61 7 5667 8372


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

James Teh
In reply to this post by Peter Vágner
Also, does anyone know how to reliably reproduce this broken SAPI5 synth
issue (with synthesisers available to us for testing)?

Jamie

On 8/11/2012 4:14 PM, Peter Vágner wrote:

> +Hello,
> Sorry I havent yet prepared a patch although the issue is verry simple.
> When you look to the sapi5.py you will see at line 118 something like this:
>          for voice in self._getVoiceTokens():
>
> Sometimes what is assigned to the voice variable is not the object we
> are expecting because of a com error . This way the loops end and if the
> buggy engines were assigned before the engine we are looking for it all
> fails.
>
> I have just rewrote that bit of code as follows.
>
>      def _set_voice(self,value):
>          v=self._getVoiceTokens()
>          for i in range(len(v)):
>              if value==v[i].Id:
>                  break
>          else:
>              # Voice not found.
>              return
>          self._initTts(voice=v[i])
>
>
> Greetings
>
> Peter
>
>
>
> On 27.10.2012 09:02, James Teh  wrote:
>> Hi Peter,
>>
>> Can you please provide a patch and explanation in a ticket (existing or
>> new) before committing this? I'd like to make sure we understand any
>> changes made here, discuss alternatives, etc.
>>
>> Thanks,
>> Jamie
>>
>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>> ooops, I am sorry for the double posting.
>>> I have found out I have never pushed that change into the NVDA
>>> repository.
>>> I have been in contact with a guy who reported me such issue using
>>> slovak NVDA community site.
>>> I think the fix worked for him but I have then forgotten to send the fix
>>> upstream.
>>> That guy is still using the addon I have created for him for a test.
>>> Can you ask the original reporter to test it too?
>>>
>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>
>>> I know the way it is currently done in the NVDA repository appears to be
>>> more efficient than what I did but as I have said already it prevents
>>> loading working voices if there are broken ones found on the system.
>>>
>>> Greetings
>>>
>>> Peter
>>>
>>>
>>>
>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>> Hello,
>>>> I remember tweaking this particular bit of code a while ago to skip
>>>> buggy engines and try to make working engines loading eventhough there
>>>> may be problematic engines left on the system.
>>>> However this was all even before NVDA 2012.2 release.
>>>> Do other sapi5 voices load for the original reporter?
>>>> What is the last working version of NVDA for him if any?
>>>>
>>>> Greetings
>>>>
>>>> Peter
>>>>
>>>>
>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>> Hi all,
>>>>>
>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>> 5588.
>>>>> Here is the log he sent me :
>>>>>
>>>>>
>>>>> Loaded synthDriver sapi5
>>>>> ERROR - unhandled exception (23:43:00):
>>>>> Traceback (most recent call last):
>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>> None,
>>>>> 0, None))
>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>> (23:43:02):
>>>>> Developer info for navigator object:
>>>>> name: u'Voix:'
>>>>> role: ROLE_COMBOBOX
>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>> isFocusable: True
>>>>> hasFocus: True
>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>> 0x056B3770>
>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>> <class
>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>>> 'baseObject.ScriptableObject'>, <class
>>>>> 'baseObject.AutoPropertyObject'>,
>>>>> <type 'object'>)
>>>>> description: None
>>>>> location: (700, 451, 376, 27)
>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>> 53b0130>
>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>> windowHandle: 3014850
>>>>> windowClassName: u'ComboBox'
>>>>> windowControlID: -210
>>>>> windowStyle: 1442906627
>>>>> windowThreadID: 5528
>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>> IAccessibleChildID: 0
>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>> childID=0
>>>>> IAccessible accName: u'Voix:'
>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>> IAccessible accDescription: None
>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>
>>>>
>>>> __________________________________________
>>>> A discussion list about the development of NVDA, the free and open
>>>> source screen reader for Windows.
>>>> [hidden email]
>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>> Note this list is for discussion of NVDA's general development.
>>>> Discussion about translating NVDA to various languages happens on a
>>>> separate email list. For more information about NVDA localization and
>>>> translation, please visit:
>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>> For an overview of NVDA development, please visit:
>>>> http://www.nvda-project.org/wiki/Development
>>>> To be notified of source code changes and trac ticket updates, please
>>>> subscribe to the nvda-commits list:
>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>
>>> __________________________________________
>>> A discussion list about the development of NVDA, the free and open
>>> source screen reader for Windows.
>>> [hidden email]
>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>> Note this list is for discussion of NVDA's general development.
>>> Discussion about translating NVDA to various languages happens on a
>>> separate email list. For more information about NVDA localization and
>>> translation, please visit:
>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>> For an overview of NVDA development, please visit:
>>> http://www.nvda-project.org/wiki/Development
>>> To be notified of source code changes and trac ticket updates, please
>>> subscribe to the nvda-commits list:
>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits

--
James Teh
Director, NV Access Limited
Email: [hidden email]
Web site: http://www.nvaccess.org/
Phone: +61 7 5667 8372


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Ondrej Rosik
Hi list,
What is the situation behind this issue? I noticed in one slovak
computer conference that somebody has also this issue with koba speech
czech voice called Zuzana. Sapi5 worked fine, but after installing
this synth NVDA can not detect sapi voices. Other screenreaders due to
reporter are able to work with sapi also after installation of Koba
speech.

2012/11/9, James Teh <[hidden email]>:

> Also, does anyone know how to reliably reproduce this broken SAPI5 synth
> issue (with synthesisers available to us for testing)?
>
> Jamie
>
> On 8/11/2012 4:14 PM, Peter Vágner wrote:
>> +Hello,
>> Sorry I havent yet prepared a patch although the issue is verry simple.
>> When you look to the sapi5.py you will see at line 118 something like
>> this:
>>          for voice in self._getVoiceTokens():
>>
>> Sometimes what is assigned to the voice variable is not the object we
>> are expecting because of a com error . This way the loops end and if the
>> buggy engines were assigned before the engine we are looking for it all
>> fails.
>>
>> I have just rewrote that bit of code as follows.
>>
>>      def _set_voice(self,value):
>>          v=self._getVoiceTokens()
>>          for i in range(len(v)):
>>              if value==v[i].Id:
>>                  break
>>          else:
>>              # Voice not found.
>>              return
>>          self._initTts(voice=v[i])
>>
>>
>> Greetings
>>
>> Peter
>>
>>
>>
>> On 27.10.2012 09:02, James Teh  wrote:
>>> Hi Peter,
>>>
>>> Can you please provide a patch and explanation in a ticket (existing or
>>> new) before committing this? I'd like to make sure we understand any
>>> changes made here, discuss alternatives, etc.
>>>
>>> Thanks,
>>> Jamie
>>>
>>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>>> ooops, I am sorry for the double posting.
>>>> I have found out I have never pushed that change into the NVDA
>>>> repository.
>>>> I have been in contact with a guy who reported me such issue using
>>>> slovak NVDA community site.
>>>> I think the fix worked for him but I have then forgotten to send the fix
>>>> upstream.
>>>> That guy is still using the addon I have created for him for a test.
>>>> Can you ask the original reporter to test it too?
>>>>
>>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>>
>>>> I know the way it is currently done in the NVDA repository appears to be
>>>> more efficient than what I did but as I have said already it prevents
>>>> loading working voices if there are broken ones found on the system.
>>>>
>>>> Greetings
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>>> Hello,
>>>>> I remember tweaking this particular bit of code a while ago to skip
>>>>> buggy engines and try to make working engines loading eventhough there
>>>>> may be problematic engines left on the system.
>>>>> However this was all even before NVDA 2012.2 release.
>>>>> Do other sapi5 voices load for the original reporter?
>>>>> What is the last working version of NVDA for him if any?
>>>>>
>>>>> Greetings
>>>>>
>>>>> Peter
>>>>>
>>>>>
>>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>>> 5588.
>>>>>> Here is the log he sent me :
>>>>>>
>>>>>>
>>>>>> Loaded synthDriver sapi5
>>>>>> ERROR - unhandled exception (23:43:00):
>>>>>> Traceback (most recent call last):
>>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>>> None,
>>>>>> 0, None))
>>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>>> (23:43:02):
>>>>>> Developer info for navigator object:
>>>>>> name: u'Voix:'
>>>>>> role: ROLE_COMBOBOX
>>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>>> isFocusable: True
>>>>>> hasFocus: True
>>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>>> 0x056B3770>
>>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>>> <class
>>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>>>> 'baseObject.ScriptableObject'>, <class
>>>>>> 'baseObject.AutoPropertyObject'>,
>>>>>> <type 'object'>)
>>>>>> description: None
>>>>>> location: (700, 451, 376, 27)
>>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>>> 53b0130>
>>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>>> windowHandle: 3014850
>>>>>> windowClassName: u'ComboBox'
>>>>>> windowControlID: -210
>>>>>> windowStyle: 1442906627
>>>>>> windowThreadID: 5528
>>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>>> IAccessibleChildID: 0
>>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>>> childID=0
>>>>>> IAccessible accName: u'Voix:'
>>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>>> IAccessible accDescription: None
>>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>>
>>>>>
>>>>> __________________________________________
>>>>> A discussion list about the development of NVDA, the free and open
>>>>> source screen reader for Windows.
>>>>> [hidden email]
>>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>>> Note this list is for discussion of NVDA's general development.
>>>>> Discussion about translating NVDA to various languages happens on a
>>>>> separate email list. For more information about NVDA localization and
>>>>> translation, please visit:
>>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>>> For an overview of NVDA development, please visit:
>>>>> http://www.nvda-project.org/wiki/Development
>>>>> To be notified of source code changes and trac ticket updates, please
>>>>> subscribe to the nvda-commits list:
>>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>>
>>>> __________________________________________
>>>> A discussion list about the development of NVDA, the free and open
>>>> source screen reader for Windows.
>>>> [hidden email]
>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>> Note this list is for discussion of NVDA's general development.
>>>> Discussion about translating NVDA to various languages happens on a
>>>> separate email list. For more information about NVDA localization and
>>>> translation, please visit:
>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>> For an overview of NVDA development, please visit:
>>>> http://www.nvda-project.org/wiki/Development
>>>> To be notified of source code changes and trac ticket updates, please
>>>> subscribe to the nvda-commits list:
>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open
>> source screen reader for Windows.
>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development.
>> Discussion about translating NVDA to various languages happens on a
>> separate email list. For more information about NVDA localization and
>> translation, please visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
>
> --
> James Teh
> Director, NV Access Limited
> Email: [hidden email]
> Web site: http://www.nvaccess.org/
> Phone: +61 7 5667 8372
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open source
> screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development. Discussion
> about translating NVDA to various languages happens on a separate email
> list. For more information about NVDA localization and translation, please
> visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Peter Vágner
Hello,
Can we push this before 2013.1?
I have been poked by one of the friends about this and also I have found
a private email about this I havent yet responded to.
The change is really simple and as I have observed the only buggy voice
I know about is koba speech. The biggest issue is that one broken voice
causes issues switching to the other voices.
What should I do?

Greetings

Peter


On 27.12.2012 10:15, Ondrej Rosík wrote:

> Hi list,
> What is the situation behind this issue? I noticed in one slovak
> computer conference that somebody has also this issue with koba speech
> czech voice called Zuzana. Sapi5 worked fine, but after installing
> this synth NVDA can not detect sapi voices. Other screenreaders due to
> reporter are able to work with sapi also after installation of Koba
> speech.
>
> 2012/11/9, James Teh <[hidden email]>:
>> Also, does anyone know how to reliably reproduce this broken SAPI5 synth
>> issue (with synthesisers available to us for testing)?
>>
>> Jamie
>>
>> On 8/11/2012 4:14 PM, Peter Vágner wrote:
>>> +Hello,
>>> Sorry I havent yet prepared a patch although the issue is verry simple.
>>> When you look to the sapi5.py you will see at line 118 something like
>>> this:
>>>           for voice in self._getVoiceTokens():
>>>
>>> Sometimes what is assigned to the voice variable is not the object we
>>> are expecting because of a com error . This way the loops end and if the
>>> buggy engines were assigned before the engine we are looking for it all
>>> fails.
>>>
>>> I have just rewrote that bit of code as follows.
>>>
>>>       def _set_voice(self,value):
>>>           v=self._getVoiceTokens()
>>>           for i in range(len(v)):
>>>               if value==v[i].Id:
>>>                   break
>>>           else:
>>>               # Voice not found.
>>>               return
>>>           self._initTts(voice=v[i])
>>>
>>>
>>> Greetings
>>>
>>> Peter
>>>
>>>
>>>
>>> On 27.10.2012 09:02, James Teh  wrote:
>>>> Hi Peter,
>>>>
>>>> Can you please provide a patch and explanation in a ticket (existing or
>>>> new) before committing this? I'd like to make sure we understand any
>>>> changes made here, discuss alternatives, etc.
>>>>
>>>> Thanks,
>>>> Jamie
>>>>
>>>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>>>> ooops, I am sorry for the double posting.
>>>>> I have found out I have never pushed that change into the NVDA
>>>>> repository.
>>>>> I have been in contact with a guy who reported me such issue using
>>>>> slovak NVDA community site.
>>>>> I think the fix worked for him but I have then forgotten to send the fix
>>>>> upstream.
>>>>> That guy is still using the addon I have created for him for a test.
>>>>> Can you ask the original reporter to test it too?
>>>>>
>>>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>>>
>>>>> I know the way it is currently done in the NVDA repository appears to be
>>>>> more efficient than what I did but as I have said already it prevents
>>>>> loading working voices if there are broken ones found on the system.
>>>>>
>>>>> Greetings
>>>>>
>>>>> Peter
>>>>>
>>>>>
>>>>>
>>>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>>>> Hello,
>>>>>> I remember tweaking this particular bit of code a while ago to skip
>>>>>> buggy engines and try to make working engines loading eventhough there
>>>>>> may be problematic engines left on the system.
>>>>>> However this was all even before NVDA 2012.2 release.
>>>>>> Do other sapi5 voices load for the original reporter?
>>>>>> What is the last working version of NVDA for him if any?
>>>>>>
>>>>>> Greetings
>>>>>>
>>>>>> Peter
>>>>>>
>>>>>>
>>>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>>>> 5588.
>>>>>>> Here is the log he sent me :
>>>>>>>
>>>>>>>
>>>>>>> Loaded synthDriver sapi5
>>>>>>> ERROR - unhandled exception (23:43:00):
>>>>>>> Traceback (most recent call last):
>>>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>>>> None,
>>>>>>> 0, None))
>>>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>>>> (23:43:02):
>>>>>>> Developer info for navigator object:
>>>>>>> name: u'Voix:'
>>>>>>> role: ROLE_COMBOBOX
>>>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>>>> isFocusable: True
>>>>>>> hasFocus: True
>>>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>>>> 0x056B3770>
>>>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>>>> <class
>>>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>>>>> 'baseObject.ScriptableObject'>, <class
>>>>>>> 'baseObject.AutoPropertyObject'>,
>>>>>>> <type 'object'>)
>>>>>>> description: None
>>>>>>> location: (700, 451, 376, 27)
>>>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>>>> 53b0130>
>>>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>>>> windowHandle: 3014850
>>>>>>> windowClassName: u'ComboBox'
>>>>>>> windowControlID: -210
>>>>>>> windowStyle: 1442906627
>>>>>>> windowThreadID: 5528
>>>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>>>> IAccessibleChildID: 0
>>>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>>>> childID=0
>>>>>>> IAccessible accName: u'Voix:'
>>>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>>>> IAccessible accDescription: None
>>>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>>>
>>>>>> __________________________________________
>>>>>> A discussion list about the development of NVDA, the free and open
>>>>>> source screen reader for Windows.
>>>>>> [hidden email]
>>>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>>>> Note this list is for discussion of NVDA's general development.
>>>>>> Discussion about translating NVDA to various languages happens on a
>>>>>> separate email list. For more information about NVDA localization and
>>>>>> translation, please visit:
>>>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>>>> For an overview of NVDA development, please visit:
>>>>>> http://www.nvda-project.org/wiki/Development
>>>>>> To be notified of source code changes and trac ticket updates, please
>>>>>> subscribe to the nvda-commits list:
>>>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>>> __________________________________________
>>>>> A discussion list about the development of NVDA, the free and open
>>>>> source screen reader for Windows.
>>>>> [hidden email]
>>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>>> Note this list is for discussion of NVDA's general development.
>>>>> Discussion about translating NVDA to various languages happens on a
>>>>> separate email list. For more information about NVDA localization and
>>>>> translation, please visit:
>>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>>> For an overview of NVDA development, please visit:
>>>>> http://www.nvda-project.org/wiki/Development
>>>>> To be notified of source code changes and trac ticket updates, please
>>>>> subscribe to the nvda-commits list:
>>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>> __________________________________________
>>> A discussion list about the development of NVDA, the free and open
>>> source screen reader for Windows.
>>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>>> Note this list is for discussion of NVDA's general development.
>>> Discussion about translating NVDA to various languages happens on a
>>> separate email list. For more information about NVDA localization and
>>> translation, please visit:
>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>> For an overview of NVDA development, please visit:
>>> http://www.nvda-project.org/wiki/Development
>>> To be notified of source code changes and trac ticket updates, please
>>> subscribe to the nvda-commits list:
>>> http://lists.nvaccess.org/listinfo/nvda-commits
>> --
>> James Teh
>> Director, NV Access Limited
>> Email: [hidden email]
>> Web site: http://www.nvaccess.org/
>> Phone: +61 7 5667 8372
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open source
>> screen reader for Windows.
>> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development. Discussion
>> about translating NVDA to various languages happens on a separate email
>> list. For more information about NVDA localization and translation, please
>> visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
> __________________________________________
> A discussion list about the development of NVDA, the free and open source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development. Discussion about translating NVDA to various languages happens on a separate email list. For more information about NVDA localization and translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits



Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

James Teh
In reply to this post by Peter Vágner
Hi Peter,

(Re-sending this reply I sent in November last year, to which you didn't
reply.)

I don't quite follow how this fixes the issue. Fetching by index using
[i] should return the same thing as the iterator; i.e. you should get an
exception in either case. Perhaps the iterator fetches one or two ahead.
However, what happens if the buggy voice is *before* the one we're
seeking? I might understand more if you were catching exceptions around
v[i], but it doesn't seem like you are.

Thanks,
Jamie

On 8/11/2012 4:14 PM, Peter Vágner wrote:

> +Hello,
> Sorry I havent yet prepared a patch although the issue is verry simple.
> When you look to the sapi5.py you will see at line 118 something like this:
>          for voice in self._getVoiceTokens():
>
> Sometimes what is assigned to the voice variable is not the object we
> are expecting because of a com error . This way the loops end and if the
> buggy engines were assigned before the engine we are looking for it all
> fails.
>
> I have just rewrote that bit of code as follows.
>
>      def _set_voice(self,value):
>          v=self._getVoiceTokens()
>          for i in range(len(v)):
>              if value==v[i].Id:
>                  break
>          else:
>              # Voice not found.
>              return
>          self._initTts(voice=v[i])
>
>
> Greetings
>
> Peter
>
>
>
> On 27.10.2012 09:02, James Teh  wrote:
>> Hi Peter,
>>
>> Can you please provide a patch and explanation in a ticket (existing or
>> new) before committing this? I'd like to make sure we understand any
>> changes made here, discuss alternatives, etc.
>>
>> Thanks,
>> Jamie
>>
>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>> ooops, I am sorry for the double posting.
>>> I have found out I have never pushed that change into the NVDA
>>> repository.
>>> I have been in contact with a guy who reported me such issue using
>>> slovak NVDA community site.
>>> I think the fix worked for him but I have then forgotten to send the fix
>>> upstream.
>>> That guy is still using the addon I have created for him for a test.
>>> Can you ask the original reporter to test it too?
>>>
>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>
>>> I know the way it is currently done in the NVDA repository appears to be
>>> more efficient than what I did but as I have said already it prevents
>>> loading working voices if there are broken ones found on the system.
>>>
>>> Greetings
>>>
>>> Peter
>>>
>>>
>>>
>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>> Hello,
>>>> I remember tweaking this particular bit of code a while ago to skip
>>>> buggy engines and try to make working engines loading eventhough there
>>>> may be problematic engines left on the system.
>>>> However this was all even before NVDA 2012.2 release.
>>>> Do other sapi5 voices load for the original reporter?
>>>> What is the last working version of NVDA for him if any?
>>>>
>>>> Greetings
>>>>
>>>> Peter
>>>>
>>>>
>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>> Hi all,
>>>>>
>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>> 5588.
>>>>> Here is the log he sent me :
>>>>>
>>>>>
>>>>> Loaded synthDriver sapi5
>>>>> ERROR - unhandled exception (23:43:00):
>>>>> Traceback (most recent call last):
>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>> None,
>>>>> 0, None))
>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>> (23:43:02):
>>>>> Developer info for navigator object:
>>>>> name: u'Voix:'
>>>>> role: ROLE_COMBOBOX
>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>> isFocusable: True
>>>>> hasFocus: True
>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>> 0x056B3770>
>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>> <class
>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
>>>>> 'baseObject.ScriptableObject'>, <class
>>>>> 'baseObject.AutoPropertyObject'>,
>>>>> <type 'object'>)
>>>>> description: None
>>>>> location: (700, 451, 376, 27)
>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>> 53b0130>
>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>> windowHandle: 3014850
>>>>> windowClassName: u'ComboBox'
>>>>> windowControlID: -210
>>>>> windowStyle: 1442906627
>>>>> windowThreadID: 5528
>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>> IAccessibleChildID: 0
>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>> childID=0
>>>>> IAccessible accName: u'Voix:'
>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>> IAccessible accDescription: None
>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>
>>>>
>>>> __________________________________________
>>>> A discussion list about the development of NVDA, the free and open
>>>> source screen reader for Windows.
>>>> [hidden email]
>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>> Note this list is for discussion of NVDA's general development.
>>>> Discussion about translating NVDA to various languages happens on a
>>>> separate email list. For more information about NVDA localization and
>>>> translation, please visit:
>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>> For an overview of NVDA development, please visit:
>>>> http://www.nvda-project.org/wiki/Development
>>>> To be notified of source code changes and trac ticket updates, please
>>>> subscribe to the nvda-commits list:
>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>
>>> __________________________________________
>>> A discussion list about the development of NVDA, the free and open
>>> source screen reader for Windows.
>>> [hidden email]
>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>> Note this list is for discussion of NVDA's general development.
>>> Discussion about translating NVDA to various languages happens on a
>>> separate email list. For more information about NVDA localization and
>>> translation, please visit:
>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>> For an overview of NVDA development, please visit:
>>> http://www.nvda-project.org/wiki/Development
>>> To be notified of source code changes and trac ticket updates, please
>>> subscribe to the nvda-commits list:
>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>
>
> __________________________________________
> A discussion list about the development of NVDA, the free and open
> source screen reader for Windows.
> [hidden email] (http://lists.nvaccess.org/listinfo/nvda-dev)
> Note this list is for discussion of NVDA's general development.
> Discussion about translating NVDA to various languages happens on a
> separate email list. For more information about NVDA localization and
> translation, please visit:
> http://www.nvda-project.org/wiki/TranslatingNVDA
> For an overview of NVDA development, please visit:
> http://www.nvda-project.org/wiki/Development
> To be notified of source code changes and trac ticket updates, please
> subscribe to the nvda-commits list:
> http://lists.nvaccess.org/listinfo/nvda-commits

--
James Teh
Director, NV Access Limited
Email: [hidden email]
Web site: http://www.nvaccess.org/
Phone: +61 7 5667 8372


Reply | Threaded
Open this post in threaded view
|

Re: [NVDA-dev] NVDA and Koba Speech 2 voices

Peter Vágner
Hello,
I understand we are doing the same thing in both the cases although the
code differs.
I am unable to get this failing on my system I have only came up with a
possible fix by tryal and error with people requesting help with this.
Have you seen the exception happening with the current code?
  ERROR - synthDriverHandler.setSynth (20:32:02):
  setSynth
  Traceback (most recent call last):
  File "synthDriverHandler.pyo", line 80, in setSynth
  File "synthDriverHandler.pyo", line 446, in loadSettings
  File "synthDriverHandler.pyo", line 28, in changeVoice
  File "synthDrivers\sapi5.pyo", line 117, in _set_voice
  File "comtypes\client\dynamic.pyo", line 93, in __getattr__
  File "comtypes\automation.pyo", line 643, in GetIDsOfNames
  COMError: (-2147319765, 'Element not found.', (None, None, None, 0, None))

This is the log output generated by NVDA 2012.2 downloaded from the
downloads page.
The COMERROR message was originally displayed in czech and I have
attempted to translate it into english.
The problem is that the for loop does not advance to the next voice if
this happens.
If the code is rewritten like I have found out after some experimenting
the exception does no longer happen.

Greetings

Peter

on 14.03.2013 16:41, James Teh wrote:

> Hi Peter,
>
> (Re-sending this reply I sent in November last year, to which you
> didn't reply.)
>
> I don't quite follow how this fixes the issue. Fetching by index using
> [i] should return the same thing as the iterator; i.e. you should get
> an exception in either case. Perhaps the iterator fetches one or two
> ahead. However, what happens if the buggy voice is *before* the one
> we're seeking? I might understand more if you were catching exceptions
> around v[i], but it doesn't seem like you are.
>
> Thanks,
> Jamie
>
> On 8/11/2012 4:14 PM, Peter Vágner wrote:
>> +Hello,
>> Sorry I havent yet prepared a patch although the issue is verry simple.
>> When you look to the sapi5.py you will see at line 118 something like
>> this:
>>          for voice in self._getVoiceTokens():
>>
>> Sometimes what is assigned to the voice variable is not the object we
>> are expecting because of a com error . This way the loops end and if the
>> buggy engines were assigned before the engine we are looking for it all
>> fails.
>>
>> I have just rewrote that bit of code as follows.
>>
>>      def _set_voice(self,value):
>>          v=self._getVoiceTokens()
>>          for i in range(len(v)):
>>              if value==v[i].Id:
>>                  break
>>          else:
>>              # Voice not found.
>>              return
>>          self._initTts(voice=v[i])
>>
>>
>> Greetings
>>
>> Peter
>>
>>
>>
>> On 27.10.2012 09:02, James Teh  wrote:
>>> Hi Peter,
>>>
>>> Can you please provide a patch and explanation in a ticket (existing or
>>> new) before committing this? I'd like to make sure we understand any
>>> changes made here, discuss alternatives, etc.
>>>
>>> Thanks,
>>> Jamie
>>>
>>> On 26/10/2012 8:39 PM, Peter Vágner wrote:
>>>> ooops, I am sorry for the double posting.
>>>> I have found out I have never pushed that change into the NVDA
>>>> repository.
>>>> I have been in contact with a guy who reported me such issue using
>>>> slovak NVDA community site.
>>>> I think the fix worked for him but I have then forgotten to send
>>>> the fix
>>>> upstream.
>>>> That guy is still using the addon I have created for him for a test.
>>>> Can you ask the original reporter to test it too?
>>>>
>>>> https://dl.dropbox.com/u/8745121/NVDA%20plugins/sapi5Test.nvda-addon
>>>>
>>>> I know the way it is currently done in the NVDA repository appears
>>>> to be
>>>> more efficient than what I did but as I have said already it prevents
>>>> loading working voices if there are broken ones found on the system.
>>>>
>>>> Greetings
>>>>
>>>> Peter
>>>>
>>>>
>>>>
>>>> On 26.10.2012 12:28, Peter Vágner  wrote:
>>>>> Hello,
>>>>> I remember tweaking this particular bit of code a while ago to skip
>>>>> buggy engines and try to make working engines loading eventhough
>>>>> there
>>>>> may be problematic engines left on the system.
>>>>> However this was all even before NVDA 2012.2 release.
>>>>> Do other sapi5 voices load for the original reporter?
>>>>> What is the last working version of NVDA for him if any?
>>>>>
>>>>> Greetings
>>>>>
>>>>> Peter
>>>>>
>>>>>
>>>>> On 26.10.2012 10:38, Michel such  wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> Koba Speech 2 is a Sapi 5 synthesizer proposing Vocalizer voices.
>>>>>> A user reports me that it does not load anymore since NVDA 2012.1.
>>>>>> He tried to use it under W7 32 and 64 bits and latest snapshot main
>>>>>> 5588.
>>>>>> Here is the log he sent me :
>>>>>>
>>>>>>
>>>>>> Loaded synthDriver sapi5
>>>>>> ERROR - unhandled exception (23:43:00):
>>>>>> Traceback (most recent call last):
>>>>>> File "gui\settingsDialogs.pyc", line 336, in __call__
>>>>>> File "synthDriverHandler.pyc", line 28, in changeVoice
>>>>>> File "synthDrivers\sapi5.pyc", line 117, in _set_voice
>>>>>> File "comtypes\client\dynamic.pyc", line 93, in __getattr__
>>>>>> File "comtypes\automation.pyc", line 643, in GetIDsOfNames
>>>>>> COMError: (-2147319765, '\xc9l\xe9ment introuvable.', (None, None,
>>>>>> None,
>>>>>> 0, None))
>>>>>> INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
>>>>>> (23:43:02):
>>>>>> Developer info for navigator object:
>>>>>> name: u'Voix:'
>>>>>> role: ROLE_COMBOBOX
>>>>>> states: STATE_COLLAPSED, STATE_FOCUSABLE, STATE_FOCUSED
>>>>>> isFocusable: True
>>>>>> hasFocus: True
>>>>>> Python object: <NVDAObjects.IAccessible.IAccessible object at
>>>>>> 0x056B3770>
>>>>>> Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>,
>>>>>> <class
>>>>>> 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>,
>>>>>> <class
>>>>>> 'baseObject.ScriptableObject'>, <class
>>>>>> 'baseObject.AutoPropertyObject'>,
>>>>>> <type 'object'>)
>>>>>> description: None
>>>>>> location: (700, 451, 376, 27)
>>>>>> value: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>> appModule: <'nvda' (appName 'nvda', process ID 4256) at address
>>>>>> 53b0130>
>>>>>> TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
>>>>>> windowHandle: 3014850
>>>>>> windowClassName: u'ComboBox'
>>>>>> windowControlID: -210
>>>>>> windowStyle: 1442906627
>>>>>> windowThreadID: 5528
>>>>>> windowText: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>> displayText: u'Vocalizer Thomas - French For KobaSpeech 2\n'
>>>>>> IAccessibleObject: <POINTER(IAccessible) ptr=0xa07bc60 at 565ab20>
>>>>>> IAccessibleChildID: 0
>>>>>> IAccessible event parameters: windowHandle=3014850, objectID=-4,
>>>>>> childID=0
>>>>>> IAccessible accName: u'Voix:'
>>>>>> IAccessible accRole: ROLE_SYSTEM_COMBOBOX
>>>>>> IAccessible accState: STATE_SYSTEM_COLLAPSED, STATE_SYSTEM_FOCUSED,
>>>>>> STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1049604)
>>>>>> IAccessible accDescription: None
>>>>>> IAccessible accValue: u'Vocalizer Thomas - French For KobaSpeech 2'
>>>>>>
>>>>>
>>>>> __________________________________________
>>>>> A discussion list about the development of NVDA, the free and open
>>>>> source screen reader for Windows.
>>>>> [hidden email]
>>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>>> Note this list is for discussion of NVDA's general development.
>>>>> Discussion about translating NVDA to various languages happens on a
>>>>> separate email list. For more information about NVDA localization and
>>>>> translation, please visit:
>>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>>> For an overview of NVDA development, please visit:
>>>>> http://www.nvda-project.org/wiki/Development
>>>>> To be notified of source code changes and trac ticket updates, please
>>>>> subscribe to the nvda-commits list:
>>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>>
>>>> __________________________________________
>>>> A discussion list about the development of NVDA, the free and open
>>>> source screen reader for Windows.
>>>> [hidden email]
>>>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>>>> Note this list is for discussion of NVDA's general development.
>>>> Discussion about translating NVDA to various languages happens on a
>>>> separate email list. For more information about NVDA localization and
>>>> translation, please visit:
>>>> http://www.nvda-project.org/wiki/TranslatingNVDA
>>>> For an overview of NVDA development, please visit:
>>>> http://www.nvda-project.org/wiki/Development
>>>> To be notified of source code changes and trac ticket updates, please
>>>> subscribe to the nvda-commits list:
>>>> http://lists.nvaccess.org/listinfo/nvda-commits
>>>
>>
>> __________________________________________
>> A discussion list about the development of NVDA, the free and open
>> source screen reader for Windows.
>> [hidden email]
>> (http://lists.nvaccess.org/listinfo/nvda-dev)
>> Note this list is for discussion of NVDA's general development.
>> Discussion about translating NVDA to various languages happens on a
>> separate email list. For more information about NVDA localization and
>> translation, please visit:
>> http://www.nvda-project.org/wiki/TranslatingNVDA
>> For an overview of NVDA development, please visit:
>> http://www.nvda-project.org/wiki/Development
>> To be notified of source code changes and trac ticket updates, please
>> subscribe to the nvda-commits list:
>> http://lists.nvaccess.org/listinfo/nvda-commits
>