-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
issues with punctuation on ibmeci.dll version 6.7.4.0 #71
Comments
@fastfinge I think this is the problem from the binary itself. |
That could be; Might be worth warning users if they've got a buggy DLL version. As that one is available for direct download from IBM, it's likely to be popular with new users, and it unfortunately seems to have several issues, some that the driver attempts to work around, and some that it doesn't, as well as needing seperat dictionaries due to pronounciation differences. |
I have 1 version but I not sure if it is the same. I have send you an email asking about this.
From: Samuel Proulx
Sent: Wednesday, July 6, 2022 11:52 PM
To: davidacm/NVDA-IBMTTS-Driver
Cc: lbk2907; Comment
Subject: Re: [davidacm/NVDA-IBMTTS-Driver] issues with punctuation onibmeci.dll version 6.7.4.0 (Issue #71)
That could be; Might be worth warning users if they've got a buggy DLL version. As that one is available for direct download from IBM, it's likely to be popular with new users, and it unfortunately seems to have several issues, some that the driver attempts to work around, and some that it doesn't, as well as needing seperat dictionaries due to pronounciation differences.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
hi @fastfinge, if the synth can be downloaded directly from IBM, I think that it's secure to paste the direct link to IBM here. I don't have that driver to do testing. Regards. |
Yeah, this is happening because although IBM corrected many issues in the synthesizer, they are still using a slightly older punctuation handler, which doesn't tolerate many of the things the SpeechWorks binaries do, such as NVDA sending punctuation in separate strings in some cases, example: the word "link," the link text itself, and then the punctuation mark that follows it. NVDA would need to be modified in such a way that that separation is removed. Here's an NVDA dictionary that tries to work around most of the oddities, though it's not perfect. Place this in %appdata%\nvda\speechDicts\voiceDicts.v1\ibmeci. |
Hi @davidacm, The version I mentioned is on IBM's ftp site, ftp.software.ibm.com. No username and password are required, but it's not http, so you have to use filezilla or another FTP client. The driver is in: /software/websphere/voicetoolkit/InstallShield/VT6.0TP/Languages/TTS/win/. |
@fastfinge Thanks. I will give it a try. |
Just for info, you can use Windows file Explorer itself to open the FTP directory. Just type the address at the address bar. |
Thanks. I’m using WinSCP to open FTP.
From: Cleverson
Sent: Thursday, July 7, 2022 8:47 AM
To: davidacm/NVDA-IBMTTS-Driver
Cc: lbk2907; Comment
Subject: Re: [davidacm/NVDA-IBMTTS-Driver] issues with punctuation onibmeci.dll version 6.7.4.0 (Issue #71)
Just for info, you can use Windows file Explorer itself to open the FTP directory. Just type the address at the address bar.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Hi @davidacm,
The version I mentioned is on IBM's ftp site, ftp.software.ibm.com. No
username and password are required, but it's not http, so you have to use
filezilla or another FTP client. The driver is in:
/software/websphere/voicetoolkit/InstallShield/VT6.0TP/Languages/TTS/win/.
The various jar files can be unzipped with winzip and then just run
setup.exe for the languages you need. They install in program files (x86)
under viavoice tts.
@fastfinge @davidacm @Mohamed00
Are any of you know what's the different between the normal version (TTS)
and the concatenative version (CTTS)? I found from the IBM FTP site given
above.
What I know is the size of the concatenative version is more bigger than
the normal version. Are NVDA or spesificly IBMTTS have any use with the
concatenative version? Thanks.
|
Those are IBM's more natural sounding voices. After installing the voices, set the sample rate to 8 kHz to make use of them. |
@Mohamed00 Thanks.
…On Thu, Jul 7, 2022, 6:36 PM Mohamed Al-Hajamy ***@***.***> wrote:
Those are IBM's more natural sounding voices. After installing the voices,
set the sample rate to 8 kHz to make use of them.
—
Reply to this email directly, view it on GitHub
<#71 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AM64WYSCLXYG5UWKEOL2WBTVS2XJ5ANCNFSM522GEILQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
@Mohamed00 I have a question here about the concatenative version of IBM.
When I install the concatenative version of Chinese voices (Zh_CN), IBMTTS can’t be load.
Are this is the problem from the IBM binary itself or from the IBMTTS Add-On for NVDA?
I have try with another voice and all looks fine.
I will paste the NVDA log down below.
Thanks.
Current Windows Version: Windows 11 22H2 (x64) build 22621.160 (I have test with Windows 11 21H2 but the result is same).
NVDA Version: 2022.2beta3.
IBMTTS Add-On Version: 22.07.3.
IBM Binary Version: 6.7.3.2.
NVDA log.
WARNING - synthDriverHandler.SynthDriver.loadSettings (22:24:49.149) - MainThread (460):
Invalid voice: 65536
ERROR - synthDriverHandler.setSynth (22:24:49.151) - MainThread (460):
setSynth failed for ibmeci
Traceback (most recent call last):
File "synthDriverHandler.pyc", line 332, in loadSettings
File "synthDriverHandler.pyc", line 385, in changeVoice
File "synthSettingsRing.pyc", line 149, in updateSupportedSettings
File "synthSettingsRing.pyc", line 42, in __init__
File "baseObject.pyc", line 26, in __get__
File "synthDriverHandler.pyc", line 251, in _get_availableVoices
File "C:\Users\Calvin\AppData\Roaming\nvda\addons\IBMTTS\synthDrivers\ibmeci.py", line 420, in _getAvailableVoices
info = _ibmeci.langs[name.lower()[:3]]
KeyError: 'cbe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "synthDriverHandler.pyc", line 463, in setSynth
File "synthDriverHandler.pyc", line 432, in getSynthInstance
File "synthDriverHandler.pyc", line 323, in initSettings
File "synthDriverHandler.pyc", line 338, in loadSettings
File "synthDriverHandler.pyc", line 385, in changeVoice
File "synthSettingsRing.pyc", line 149, in updateSupportedSettings
File "synthSettingsRing.pyc", line 42, in __init__
File "baseObject.pyc", line 26, in __get__
File "synthDriverHandler.pyc", line 251, in _get_availableVoices
File "C:\Users\Calvin\AppData\Roaming\nvda\addons\IBMTTS\synthDrivers\ibmeci.py", line 420, in _getAvailableVoices
info = _ibmeci.langs[name.lower()[:3]]
KeyError: 'cbe'
INFO - synthDriverHandler.setSynth (22:24:49.191) - MainThread (460):
Falling back to previous synthDriver vocalizer_expressive2
INFO - synthDriverHandler.setSynth (22:24:49.576) - MainThread (460):
Loaded synthDriver vocalizer_expressive2
|
That's because the concatenative version of Chinese has a second file,
cbenu, possibly for the dual language support? I think that
concatenative voice might be incomplete in some way, though, as I can't
seem to get it to work anywhere.
…On 7/8/2022 12:50 PM, lbk2907 wrote:
@Mohamed00 I have a question here about the concatenative version of IBM.
When I install the concatenative version of Chinese voices (Zh_CN),
IBMTTS can’t be load.
Are this is the problem from the IBM binary itself or from the IBMTTS
Add-On for NVDA?
I have try with another voice and all looks fine.
I will paste the NVDA log down below.
Thanks.
Current Windows Version: Windows 11 22H2 (x64) build 22621.160 (I have
test with Windows 11 21H2 but the result is same).
NVDA Version: 2022.2beta3.
IBMTTS Add-On Version: 22.07.3.
IBM Binary Version: 6.7.3.2.
NVDA log.
WARNING - synthDriverHandler.SynthDriver.loadSettings (22:24:49.149) -
MainThread (460):
Invalid voice: 65536
ERROR - synthDriverHandler.setSynth (22:24:49.151) - MainThread (460):
setSynth failed for ibmeci
Traceback (most recent call last):
File "synthDriverHandler.pyc", line 332, in loadSettings
File "synthDriverHandler.pyc", line 385, in changeVoice
File "synthSettingsRing.pyc", line 149, in updateSupportedSettings
File "synthSettingsRing.pyc", line 42, in __init__
File "baseObject.pyc", line 26, in __get__
File "synthDriverHandler.pyc", line 251, in _get_availableVoices
File
"C:\Users\Calvin\AppData\Roaming\nvda\addons\IBMTTS\synthDrivers\ibmeci.py",
line 420, in _getAvailableVoices
info = _ibmeci.langs[name.lower()[:3]]
KeyError: 'cbe'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "synthDriverHandler.pyc", line 463, in setSynth
File "synthDriverHandler.pyc", line 432, in getSynthInstance
File "synthDriverHandler.pyc", line 323, in initSettings
File "synthDriverHandler.pyc", line 338, in loadSettings
File "synthDriverHandler.pyc", line 385, in changeVoice
File "synthSettingsRing.pyc", line 149, in updateSupportedSettings
File "synthSettingsRing.pyc", line 42, in __init__
File "baseObject.pyc", line 26, in __get__
File "synthDriverHandler.pyc", line 251, in _get_availableVoices
File
"C:\Users\Calvin\AppData\Roaming\nvda\addons\IBMTTS\synthDrivers\ibmeci.py",
line 420, in _getAvailableVoices
info = _ibmeci.langs[name.lower()[:3]]
KeyError: 'cbe'
INFO - synthDriverHandler.setSynth (22:24:49.191) - MainThread (460):
Falling back to previous synthDriver vocalizer_expressive2
INFO - synthDriverHandler.setSynth (22:24:49.576) - MainThread (460):
Loaded synthDriver vocalizer_expressive2
—
Reply to this email directly, view it on GitHub
<#71 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADY4AYB6X2OJHHK4CZ6MOWLVTBL7DANCNFSM522GEILQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@Mohamed00 Are the Cantonese Hong Kong (Zh_HK) do the same? Because it
works fine here with IBMTTS Add-On for NVDA.
|
Hi, I'm considering to add a link reference to the FTP of IBM, that contains the complete copy of ViaVoice TTS. I comment here although I should open another thread, because we have many participants in this thread. Let me know if you think that is not a good idea, or if you know another legal place to obtain a better copy of IBMTTS or eloquence. Regards, |
@davidacm I agree with your suggestion. Open the reference for people to optain the IBM library.
A quick question here, what’s the best version of IBM binary? Are the Eloquence that not supported 22 kHz? Just want to know. 😊
|
Hi, not sure if it would be the best idea to link to those in the
readme. While it could definitely be argued that IBM themselves made it
available on a public FTP server and so it's on them if it gets used,
and that there's no restrictions of any kind on the DLLs, the way those
binaries are distributed, as JAR files that you have to know are ZIPs,
seems to imply that those binaries may not necessarily be intended for
public distribution. My theory is that old installers of IBM WebSphere
may have connected to the Internet to retrieve their components, and IBM
keeps that directory up in case an old WebSphere installer is running at
some company somewhere. There is a possibility that there may be a
section in the license agreement for WebSphere that states that that
copy of IBMTTS is only allowed to be used with the app, similar to IBM
Home Page Reader 3.0 and above. Of course, those libraries are
definitely interesting, especially with the new languages and voices,
it's just that it's uncertain enough that I personally wouldn't be
comfortable linking to them so openly.
…On 7/8/2022 10:38 PM, David CM wrote:
Hi, I'm considering to add a link reference to the FTP of IBM, that
contains the complete copy of ViaVoice TTS.
It's like a legal way to obtain IBM TTS, although not the best
version, it works acceptable.
I comment here although I should open another thread, because we have
many participants in this thread. Let me know if you think that is not
a good idea, or if you know another legal place to obtain a better
copy of IBMTTS or eloquence.
Regards,
David.
—
Reply to this email directly, view it on GitHub
<#71 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADY4AYFO3AK5PMGJGYGPPYLVTDQZ5ANCNFSM522GEILQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Hi, there appears to be other library versions at the IBM FTP besides the latest version. It would be interesting to investigate what of them works better. When you navigate to /software/websphere/voicetoolkit/InstallShield, you can see there are several directories whose name starts with VT. Inside VT4.2.2, VT5.0.2, and VT5.1, there are other versions besides that in VT6.0TP |
I not sure but I think they all are almost the same version of IBM binary.
|
There are also identical versions of them in the /asi folder, packaged as installer files, not .jar files. There are just a few fewer languages. |
@davidacm my problem with linking to that is that there are just so many bugs in this version. I'm worried you'll get endless bug reports similar to mine, complaining about the punctuation issues, or the fact that you can't resend the settings without getting huge long pauses in speech, but if you turn that off sometimes it forgets the speaking rate and resets to zero. I don't think you can fix any of these issues in the driver, because they're issues with this version of the dll. If you did link to it, you should probably pop up a warning message when this dll is selected that it's a known buggy eloquence library that can't be fixed. |
@davidacm my problem with linking to that is that there are just so many bugs in this version. I'm worried you'll get endless bug reports similar to mine, complaining about the punctuation issues, or the fact that you can't resend the settings without getting huge long pauses in speech, but if you turn that off sometimes it forgets the speaking rate and resets to zero. I don't think you can fix any of these issues in the driver, because they're issues with this version of the dll. If you did link to it, you should probably pop up a warning message when this dll is selected that it's a known buggy eloquence library that can't be fixed.
|
When running ibmeci.dll version 6.7.4.0 (identified as company: IBM, description: ibmeci command interface), closing parems are usually read twice once as "right paren", and then a second time as "right parenthesis". Also, if a punctuation mark is the next character after a line break (as often found in Kindle and other virtual buffers), it is always read, no matter punctuation settings. Neither of these are an issue with eci.dll version 6.1.0.0 (company: speechworks, description: eloquence command interface).
The text was updated successfully, but these errors were encountered: