Eloquence 64-bit for NVDA now supports a 44 kHz mode. It’s currently in preview and still being fine-tuned.
You can use the Sample Rate combo box in the Voices dialog to increase the default rate from 11 kHz to 44 kHz for clearer speech.
Unlike the 22 kHz mode in IBMTTS and ViaVoice, this mode doesn’t introduce pops, jitters, or unexpected voice resets.
Try the 16.1 upsampling preview release:
https://github.com/hozosch/eloquence_64/releases/tag/upsampling_preview
For more on the upsampling preview and author discussions check here:
https://github.com/fastfinge/eloquence_64/issues/88#issuecomment-4091293709
Release v16.1 upsampling preview · hozosch/eloquence_64

This version introduces the possibility to change the sample rate between 8, 11, and 44 KHz. 44 KHz is achieved by upsampling the 11 KHz signal externally via a CDLL. This is marked as preview unti...

GitHub
@amir The hell? Why? How? Doesn't that just do the exact same resampling pass that the mixer system does before it hits the audio device?
@x0 I don't know the trick behind it as my war-affected internet doesn't allow more analysis. But it sounds great and offers much clearer speech quality compared with 11 kHZ.
@amir Do you know if the add-on supports 2025.x NVDA at all and/or can coexist with IBMTTS?
@x0 Hmm. As far as I know, it doesn't support 2025.x NVDA releases. And IBMTTS and Eloquence have never been able to coexist unless one is disabled. But Eloquence 64-bit now offers all text-processing fixes and crash-proof strings once only provided by IBMTTS, and it also offers the required libraries as well as direct access to the community dictionaries.
@x0 For more on that and author discussions check here: https://github.com/fastfinge/eloquence_64/issues/88#issuecomment-4091293709
Proposal: eloquence HQ · Issue #88 · fastfinge/eloquence_64

It's not something I'm asking you to implement yourself, but rather something I've been working on with the help of AI (gemini and ChatGPT). I'd like to hear your opinion first on whether you think...

GitHub
@amir Oh God, dude rolled his own resampling algorithm with AI? At least 44100 is integer upsampling which is by far easier than fractional upsampling or downsampling, but why not a known open one? R8Brain free, for example. Sinc interpolation giving too ideal upsampling to keep it sounding dull I guess?
@x0 He knows what he's doing and properly tests every step of the way. Honestly I don't see any issues with AI as the code is clearly presented. As for his upsampling approach, he apparently tested a couple of them, but this one produced the best quality without known speech jitters affecting IBMTTS with ViaVoice's 22 kHZ mode.
@amir Huh. IBM must have implemented that one incorrectly. It's required to use the watson voice, though, and that one doesn't jitter.
@x0 The ViaVoice jitter with 22 kHZ is a known issue, and affects certain letters, like t, in certain situations. It's actually a speech pop rather than a jitter. Also getting IBMTTS to use 22 kHZ in ViaVoice is quite burdensome whereas Eloquence 64-bit handles it without requiring extra steps.
@amir Oh? What's burdensome about it besides the engine actually trying to predicate on supported versions? If you try to force something that doesn't support it you get fast forward speech.
@x0 No. The burdensome issue is finding the proper DLL from an older ViaVoice release which does support the 22 kHZ mode properly. The newer DLL which is installed by ViaVoice doesn't support it. Also IBMTTS does have its random voice resets to default with ViaVoice and nothing can be done about it.
@amir Huh. The always send current speech settings is supposed to fix that but IBM DLLs typically have that off because the annotations cause pauses, I think? The setting is a fix for the rate bug.
@x0 Yeah it's supposed to fix that. But here checking or unchecking it doesn't fix the voice parameter resets at all.
@x0 Also IBMTTS has issues with my own add-on, Typing & Spelling Rate, whereas these have been fixed in Eloquence 64-bit. If you use my add-on and spell something via a higher rate for spelling, or type via a higher rate for typing, IBMTTS's speech rate won't be decreased for other non-spelling and non-typing tasks.
@amir Huh. Before the bridge? That's odd, I knew it had issues with indexing but I thought without the bridge embedded commands worked just fine, after all MathML does it all the time.
@x0 Nope. it doesn't, I tested the latest IBMTTS preview release.
@amir Hey, does this support custom dictionaries?
@amir actually, it does sounds a lot clearer. better thn I expected.
@bmoore123 Yeah I was also surprised. And the author wants to add another slider for more fine-tuning.
@amir This has the hiss the Eloquence on the iPhone has. It is particular Noticeable on words with s in them. I did hear some popping. but the hiss is very noticeable.
@Dennislong82 But I don't notice the hiss with Eloquence 64-bit at all, even with headphones. And yes, I do have the hiss on the iPhone. Perhaps it is speaker/ CPU-specific.

@amir I just tried installing this, and it broke my eloquence so bad that when NVDA restarted, it switched to the windows one core voices. when I try to switch back to eloquence, I get this error.

Synthesizer Error dialog Could not load the eloquence synthesizer.

@JamminJerry Try uninstalling your Eloquence add-on, restarting NVDA, and reinstalling the newer one.
@amir unfortunitly that didn't work either.
@amir I wonder if the IBM tts is interfearing with it somehow? it is the only thing I can think of at this point.
@JamminJerry @amir Probably. disable it.
@JamminJerry Ah, it sure does. They can't be enabled at the same time.
@amir actually? until I tried using this newest version, they could. so something in this newest eloquence makes them not like each other.
@JamminJerry They have a long history of not liking one another - haha! I'm not using IBMTTS anyway as it has issues with one of my add-ons, and the 44 kHZ in Eloquence sounds far superior.
@amir and there we go. that fixed it. I had to remove the IBM tts, and the IBM libraries as well. now eloquence is working again.
@JamminJerry Great! Try the 44 kHZ mode, and I guess you'll like its clarity.
@amir it is pretty clear, but there is still a pop on the word food on a file name. it is a very interesting one, however the pop is a bit less than it was before. it is still popping on the o it looks like. but like I said, it is a little bit better.
@JamminJerry I don't have any of that popping to be honest, but I had lots of pops with IBMTTS's 22 kHZ mode. Even the word regedit, when read alone, could generate a pop there.
@amir the strange thing is I never ever had the pops on the IBM tts I was using, but I will say I like the pauses on the eloquence one a bit better than the IBM one. smile.
@JamminJerry @amir for me, the pauses are what is keeping me to ibm. if i could have less pauses on eloc 64 i'd switch to it.
@Aryan @amir I think there is a think about shortening the pauses in there. mine is set to never, as I like the pauses, especially when I am reading things like harry potter fan fics.
@Aryan @JamminJerry But Eloq 64 now has the very same pauses as IBMTTS. IBMTTS has 3, and Eloq 64 has the very same 3 pause-related settings.
@amir @Aryan I think the pauses sound better on eloquence though. if you leave the shorten pauses to never the pauses are a bit longer than the IBM one.
@amir @Aryan @JamminJerry I wrote that setting that got merged into IBM, and am glad another driver picked it up. It's all about user preference. If they've implemented them the same, which mostly just chooses when to stick pause shortening commands in the stream, there shouldn't realistically be a difference unless the underlying library handles them differently. IBM's libraries handle them differently than SpeechWorks.
@JamminJerry @amir it's more of a click, not a pop. lol.
@munchkinbear @amir if you tyhpe the letter o and back space over it, or just highlight it, you hear the pop on the letter o.
@JamminJerry @munchkinbear @amir the reason you get the pop is because the volume is set too high. On volume 100, at least for me, you get the click. I find 85 a reasonable amount of volume. No clicks or anything there
@TomGrant91 @munchkinbear @amir I can take my to 95% and even that works. thanks for that. although the IBM one you can put at 100% and you don't get that click. I can still turn mine up threw my mixer so no loss there.
@TomGrant91 @munchkinbear @amir nice catch there. I guess some synths just don't like 100% for what ever reason.
@JamminJerry @munchkinbear @amir Yeah like RealSpeak solo direct sapi5. Oh boy, I have never heard Daniel sound like a heavy metal electric guitar before. He literally distorted so badly. And also Emily. Glad we have vocaliser which corrected this.
@TomGrant91 @munchkinbear @amir ok, I foundj its highest you can do. I used the letter o as my test, as that *always makes it do it. you can take it down to 99% and it stops the click/pop thing.
@TomGrant91 @munchkinbear @amir oh, and just to let the others in this conversation know what volume tom and I are talking about it is the volume in NVDA that is on the synth its self. not the sound card volume.
@JamminJerry @munchkinbear @amir yeah that's right the volume in the synth settings ring and also the voice settings, that's the one
@TomGrant91 @munchkinbear @amir the voice one is the one I was talking about, where you go to NVDA+n then p, then s, and go to speach, and you tab to volume. that is the one I changed. I took it down to the 85% you suggested, then slowly took it higher and higher, I hit 99%, and it still didn't do it, but the second I hit 100% it did it. I don't know why a whole 1% matters, but there you go.
@TomGrant91 Very true. I use 80 for volume.
@JamminJerry @munchkinbear
@amir @TomGrant91 @munchkinbear I have just used 100 all the time, and adjusted either threw the soundcard volume, or now that I have a mixer, I adjust threw it.
@amir @TomGrant91 @JamminJerry @munchkinbear I'm late to the conversation. Looks like your eloquence page link is giving me a Page not found. Makes me a sad panda.
@mcourcel @amir @TomGrant91 @munchkinbear I didn't know you used NVDA?
@JamminJerry @amir @TomGrant91 @munchkinbear I bounce back and forth. I need to teach it sometimes too, so I better know what I'm talking about. Lol!
@mcourcel @TomGrant91 @JamminJerry @munchkinbear Yes. It's because a new V17 Eloquence 64-bit is being released with 44 kHZ on a different page.
@amir @mcourcel @TomGrant91 @munchkinbear well I can't wait until that one comes out. smile.
@JamminJerry @mcourcel @TomGrant91 @munchkinbear Sure thing! I'll post about it once it's tested and released.
@amir @JamminJerry @mcourcel @munchkinbear Oh I already have eloq 17 minus the sample rate. You mean that one? It's on samuel proulx's git