Well, assuming we do decide to use Sapi on Windows I'd obviously have
to modify the engine to use whatever TTS API was available for Mac OS
and Linux. Linux has the Speec-Dispatcher API which is similar to Sapi
in a sense. Mac OS has its own Speech API, I forget what its called,
but serves a similar purpose as Sapi.
As for using open source TTS Engines like ESpeak or Festival I
certainly could include them as a part of my games provided I stuck to
the terms of the license agreement. Using/including them in my game
engine isn't a problem. The issue with those voices is they are so
dreadful sounding that I think it would be a major detraction from the
game for most gamers including me. I can listen to ESpeak only for so
long before I switch over to a higher quality voice.
Lastly, as for your script its a good idea in theory, but very very
resource intensive. Parcing a string of text and loading *.wav files
on the fly isn't really an effective way to handle speech output for a
number of reasons. Generally when and where I have to do something
like that, such as speaking a number, I have all of the numbers loaded
into individual speech buffers when the game loads, and play the
numbers as needed. If I were to load one.wav and play it, load
hundred.wav and play it, and then load two.wav and play it, that's
waisting resources on file IO as the program accesses the hard drive
to load the files in real time. You should have all of them loaded at
once, store them in memory, until they are needed.
On 8/9/11, Valiant8086 <valiant8...@lavabit.com> wrote:
> I'm curious, what would you do if you started using sapi for output when
> it came to mac and linux? Would you use speech dispatcher or what ever
> they call the sapi-like system they have on those platforms? Also I had
> a bit of a brainstorm. I know ESpeak is pretty much considered dreadful,
> but it's so small and open source. Do you think you could use the
> library version of ESpeak legally in all of your games as an option?
> I never finished it, but I have a bgt script that can play wav files if
> it can find them, otherwise it will speak using SAPI. I wonder if you
> would be better off if you wrote something like it to handle use of
> sapi, speech dispatcher or what ever other options there are on each
> platform you will work with. It will use the correct speech api, but if
> there are sounds it will play those. Then almost automatically you could
> allow for use of voice packs, or you could be able to switch to sapi or
> similar if the user chooses in the menu to do it or if it is on a
> platform who's speech api you don't support.
> There is one big problem with that. That is you have to send the right
> chunks of text speech that will work with speech files. You can't just
> send your whole sentence to the script or what ever it would be called
> in your case and expect it to load the right individual files. Oh it
> would work with sapi fine, but not playing files. So if you took the
> time to send it individual chunks of text, it would load files who's
> names are the same as each chunk of text or if not found it will speak
> that chunk. But if you send it a bunch of stuff to speak and there are
> no files, it will make sapi pause similar to how voiceovers do, that
> probably isn't desirable. Actually. my script spells anything it doesn't
> have files for because when I wrote it sapi wasn't supported quite yet.
> I stopped because Angel script had a limitation I couldn't find a way to
> get around. I should go ahead and finish it, I think lots of bgt
> programmers could make good use of it.
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
All messages are archived and can be searched and read at
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.