TtsRelay


Overview

TtsRelay is a single component that communicates between Smartbody and the various text-to-speech engines that we support.  It currently supports the following TTS engines:
  • Festival
  • MsSpeech
  • Rhetorical (rvoice)
  • Cerevoice
  • (todo) Cepstral

Users

TtsRelay can be used as a library that can be used within your application or as a standalone process:

  • core\TtsRelay\TtsRelay is a C# Class library that is intended to be used as part of a larger component.
  • core\TtsRelay\gui\TtsRelayGui is provided to run the component as a standalone process.

Developers

The main library component is the class TtsRelayComponent.  This class is the public interface for use in your application.  TtsRelayGui uses this interface as well.

Internally, TtsRelayComponent talks to TTS engines using the ITtsRelay interface.

For interfacing with C libraries, wrapper .NET libraries are provided. Currently these are:

  • RvoiceDLL (32-bit only)
  • FestivalDLL (32-bit only)
  • CerevoiceDLL (32-bit only)

Build configs

TtsRelayGui can be built in these configs:

  • Any CPU - Debug/Release
  • x86 - Debug/Release

The wrapper C libraries are currently 32-bit only. Some will always be 32-bit because we do not have source and/or the company is out of business. If you are using any of these libraries, your main process will need to be compiled in 32-bit. If you are not using these libraries you can use 'Any CPU' which will decide at runtime. Note that TtsRelay only has 'Any CPU', because the main process dictates which platform to compile on, not class libraries.

Regarding FestivalDLL, compiling in Debug mode is not supported due to limitations in the dependency lib. It's not recommended compiling TtsRelay in Debug mode when using this wrapper.

Building

TtsRelay can be found here in /core/TtsRelay.

It has these build projects:

  • CerevoiceDll\CerevoiceDLL.vcproj  - This builds the Cerevoice wrapper .dll.  It depends on Cerevoice, placed in \lib\cerevoice.  Found here: https://svn.ict.usc.edu/svn_saso/saso/trunk/lib/cerevoice
  • FestivalDll\FestivalDLL.vcproj  - This builds the Festival wrapper .dll.  It depends on Festival, placed in \lib\festival.  Found here:  https://svn.ict.usc.edu/svn_vh/trunk/lib/festival
  • TtsRelay.csproj   - This builds the TtsRelay class library
  • gui\TtsRelayGui.csproj  - This builds the TtsRelayGui app for use as a standalone process

Known Issues

  • .