Re: Announcing Expanding Known Space from Valiant Galaxy Associates

Hi.

This is Aaron.

SAPI is fairly easy to break. Over the years I've run into problems with it a few times, and I've heard discussions of other people having similar horrors with it. Some voices will leave parts of themselves behind when you uninstall them, or perhaps they remove too much data, and now SAPi either doesn't work at all, or the voice is still there but doesn't work. My Yoga2pro laptop has several voices that don't work, for instance, even today.


This is when a customer contacts you to help them fix their SAPi since your game can't speak through it, even though the game itself is not the problem.

Additionally, many voices have an issue that causes a long delay after something is spoken before the voice reports that it's not speaking anymore. this results in long pauses in between strung together phrases. Microsoft's own SAPI5 version of the One Core voices like David are among the worst.

On my system, my game is silent for just about a full second and sometimes even longer before the game is able to continue, if it is waiting for SAPi to finish. I wind up just using the SAPI5 version of ESpeak on all of my computers because the rest are just terribly slow. I like Eloquence, but I haven't decided to buy the SAPI5 version of Eloquence yet.

Recently, just before releasing EKS, I was troubleshooting a problem where my game crashed after Windows 10 updated to version 1903. When SAPI would try to speak, game crash every time. I have code that tries to check if a voice is going to work, and if not, it spells the message using the recorded speech instead. This wasn't working. Come to find out, I forgot to account for the internal list of voices not containing as many voices as the number the currently saved voice was. This is called an index out of bound. I call the fact that I missed this crappy coding on my part, and the fix was relatively easy.

However, I got the crash to stop, and then I was experiencing a several second pause every time SAPi would be supposed to say something, but not actually hear anything but silence. Even in settings in the game, I could arrow across the voices and it would never say anything.

I wound up setting up alerts to show me when it was trying to say things just what it was saying. Then I backtracked my SAPi code and alerted the heck out of it too trying to find the issue. I had at one point the knowledge that for some reason, the voice was reporting at speaking immediately, even though it wasn't speaking. The fact that it reported as speaking caused the code then to not break out and revert to spelling. So how in the heck was this the case? Since when did SAPi report speaking when it really wasn't? I banged on this for about an hour and a half changing a lot of code in the final release version of EKS, something I really didn't want to mess with.

Come to find out, it sort of was not a bug in SAPI after all, but it kind of was as well. I have the VB Cable driver installed on this computer. Before the Win10 update, everything was fine. VB Cable lets you put the audio output to its own virtual sound card, then you can pick up what went into it on the other end by pointing the input/microphone selection of what ever apps you want to it. You can listen to VB Cable through the default sound output device using the native windows functionality for that, so you can continue to hear what ever it was even though it was not being piped to the regular sound card directly.

What I had done was used the advanced app settings in the Win10 settings app under sounds to force Eks to output through the VB cable, even though EKS doesn't support that capability on its own. I then used Team Talk to listen to VB cable on the microphone side and was able to stream something I had recently changed over Team Talk to show it off to a close friend to see what they thought. It worked great, they heard everything just fine.

After that Win10 update, somehow Eks was still outputting through the VB Cable, even though I know I changed it back to the default output when I had finished. Plus, in the past, any time you close out a program that has been forced to a certain output like that from the sounds section in pc settings, it reverts back to default anyway, a fact I found somewhat annoying when I closed the game out and opened it again to start fresh with a new game and such.

But, for some reason, SAPi  couldn't be heard, while the recorded speech was working perfectly. Beats the heck out of me, but I was pretty annoyed about that, to say the least.


So saying, it has always been my policy to keep these games as self contained as I can manage. Besides the fact that I've always liked a game that used recorded speech myself, I just wanted to be able to do that too. We've both mentioned this before, but fortunately or perhaps unfortunately, we're producing games we would want to play here, and for the most part, their interfaces and way of interacting with the human is what we personally prefer.

The main reason I added SAPi support in the first place was so we could say things that would otherwise have been spelled out. In fact, originally, spelling is exactly how strings we didn't have speech files for were handled. For instance, the Guidedog activation item in the main menu. When that would tell you who was logged in, it would spell your user name.

Now that we have it, we rely on it to keep the game Talking when I add new strings that haven't yet been recorded, and, as you all are certainly aware, for certain things that recording speech files for just isn't practical, like people's user names and long descriptions for 40 different planets.

I wish I knew how to use ESpeak's dll from the games. I would package that and either use that exclusively, or offer that choice. It sounds pretty terrible to me, but it even works reasonably well when small strings are split up to facilitate playing many different speech files, but none of them are made yet, or only some of them. It bounces between ESpeak and the recorded speech very fast and smoothly even when using the SAPi version of it, obviously it's a little odd hearing both voices help each other out like an old couple, but hey. Oi, don't call me old!


Regards:
Aaron

-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
  • ... AudioGames . net Forum — New releases room : Dark via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : Dark via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : vga via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : Dark via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : Dark via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : drums61999 via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : SLJ via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : drums61999 via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : vga via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : pauliyobo via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : vga via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : pauliyobo via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : vga via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : pauliyobo via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : crashmaster via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : darren via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : vga via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : darren via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : Liam via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — New releases room : mazen via Audiogames-reflector

Reply via email to