B32TTS Waveout Wrapper

Started by Quin, February 26, 2025, 12:53:29 PM

Previous topic - Next topic

Quin

This is primarily probably going to be of interest to blind people, but one of the people who was absolutely instrumental in making this project work is an incredibly talented fully sighted programmer, so it may be interesting to you guys.
From the readme:
Quote
What is this?
In late 2024, someone who goes by rommix0 introduced the blind community to a windows x86 version of the ancient yet saught after Keynote Gold speech synthesis engine.
Unfortunately, this version of the synthesizer came with the one major flaw that it's only output method was via the Win32 WaveOut API. This means that you couldn't use this to, for example, synthesize speech to a wave file, add effects to the output etc.
This project negates the aformentioned issue by actually hooking the waveOut functions and capturing the audio output sent to them, building it into a single, easily accessible memory buffer.
Bestspeech outputs audio in 16 bit 11025hz mono pcm.
This project was written by a friend of mine who's one of the most talented coders I've ever seen work, and uses MinHook, a super interesting API hooking library, to do its magic.
Side note, I recently got MinHook working in a BCX application too. Tested with MinGW, MSVC (CRT and UCRT), and PellesC and it works flawlessly.
This project is all C/C++ and uses SCons to build
https://github.com/samtupy/b32tts_wrapper/
Enjoy :)
-Quin.
GitHub

MrBcx

Hi Quinn,

Again, a link would be helpful. 

I'm interested in several aspects of your post.  Thanks ...

Quin

Wow, that's embarrassing, almost to the point that I wonder if my paste command was acting faulty. Ditto shows both of these links as having been on my clipboard, so I definitely intended to paste them at least. All fixed now :)
-Quin.
GitHub