nvda icon indicating copy to clipboard operation
nvda copied to clipboard

nvda and neospeech voices

Open mjonsson1986 opened this issue 7 years ago • 9 comments

neospeech dont show up in the nvda voice selection combo in settings. the voices actually work in jaws and narrator.

mjonsson1986 avatar Jun 02 '18 06:06 mjonsson1986

Sounds like somebody needs to write a driver for nvda then. I'm assuming they are not sappi or one of the other proprietary synth formats? Brian

Brian1Gaff avatar Jun 02 '18 07:06 Brian1Gaff

Yes it is sapi5 Because jaws and windows10 narrator can see and use it

Skickades från E-post för Windows 10

Från: Brian Gaff Skickat: den 2 juni 2018 09:43 Till: nvaccess/nvda Kopia: mjonsson1986; Author Ämne: Re: [nvaccess/nvda] nvda and neospeech voices (#8359)

Sounds like somebody needs to write a driver for nvda then. I'm assuming they are not sappi or one of the other proprietary synth formats? Brian

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

mjonsson1986 avatar Jun 02 '18 10:06 mjonsson1986

In JAWS, you can choose between two SAPI5 drivers I recall, the 64-bit and the normal SAPI5 driver. Are you able to see the voices with both drivers in JAWS?

LeonarddeR avatar Jun 02 '18 10:06 LeonarddeR

I have the 64 bit voices Nvda can see 64 bit voices if i remember correct

Skickades från E-post för Windows 10

Från: Leonard de Ruijter Skickat: den 2 juni 2018 12:55 Till: nvaccess/nvda Kopia: mjonsson1986; Author Ämne: Re: [nvaccess/nvda] nvda and neospeech voices (#8359)

In JAWS, you can choose between two SAPI5 drivers I recall, the 64-bit and the normal SAPI5 driver. Are you able to see the voices with both drivers in JAWS? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

mjonsson1986 avatar Jun 02 '18 15:06 mjonsson1986

Don't think this is right. At least not yet. Do I not recall this issue came up with the speech platform voices a while back?

Brian1Gaff avatar Jun 03 '18 09:06 Brian1Gaff

I think this is the Problem, NVDA is not able to see 64bit voices. At least according to my Research.

Adriani90 avatar Jun 04 '18 09:06 Adriani90

cc: @jcsteh is there a way move forward with this? To be honnest I don't know if 64bit voices are common out there, I mean those which are only 64bit coded.

Adriani90 avatar Aug 12 '20 21:08 Adriani90

They aren't common, no.

Ideas:

  1. COM allows you to instantiate objects out-of-process, so in theory, it might be possible to instantiate the 64 bit SAPI5 runtime out-of-process and just have COM transparently handle the cross-process communication. That could potentially be done by using dllhost as a surrogate for 64 bit SAPI. This requires registry tweaks and is described in this article. That article describes using a 32 bit COM server in a 64 bit process, but the technique is the same, just with some things swapped around. See also these Microsoft docs. One caveat is that SAPI5 does have a 32 bit COM dll and we don't want that to get used, but it has the same CLSID. Maybe specifying CLSCTX_ACTIVATE_64_BIT_SERVER (and maybe CLSCTX_LOCAL_SERVER?) would be enough to distinguish this, but I'm not sure.
  2. If that doesn't work, it might be possible to create a 64 bit stub executable (maybe even do it as part of nvdaHelperRemoteLoader64?) which instantiates 64 bit SAPI5 and then marshals it back to NVDA via some means; e.g. LresultFromObject or RPC. The executable would need to continue running (hosting the SAPI5 dll) until NVDA no longer needs it.
  3. Failing all of that, we'd need to host SAPI5 in a 64 bit process and manage the IPC ourselves instead of having COM do it.

I'm not sure there are enough 64 bit only synths to make any of this worthwhile, though.

jcsteh avatar Aug 12 '20 23:08 jcsteh

cc: @seanbudd, @josephsl, @gerald-hartig this might be interesting to have in mind now that 64bit NVDA is being on the road map. Especially Jamies https://github.com/nvaccess/nvda/issues/8359#issuecomment-673166165 contains very valuable input.

Adriani90 avatar May 20 '24 21:05 Adriani90