This message is intended for those of you who either write games in BGT that
use Sapi, or play BGT based games that make use of it.
There has been a long standing issue where certain voices don't work well with
BGT, obviously affecting all games written with it. For quite some time I had
no clue why this was, and just put it down to improperly configured voices and
the like. But I have discovered that the issue stems from the fact that I am
using the C++ Sapi interface directly, as I am told that programs written in
Thus, I have concluded that I need to redesign the entire Sapi codebase in the
engine which is what I am now in the process of doing. Instead of calling upon
the C++ Sapi interface directly I am now using what is known as the COM
IDispatch interface, which is basically a convenient way of accessing COM
objects without knowing their API in advance. This is what all of these other
languages do, and it seems as though voices such as NeoSpeech Kate and Paul
were written with IDispatch in mind.
As a result of this rewrite, the next version of BGT will allow you to list all
the available voices on the system and select them on the fly, as can be seen
in games such as Entombed and all of Jim Kitchen's freeware Sapi based titles.
I will also endeavour to include features such as changing the pitch of the
voice, which is fairly easy to do under the hood and give the user a simple
pitch property that they can manipulate.
Hope this is of interest to some, and thanks for reading.
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.