Components
Overview
The Toolkit is a distributed system of many components which work in sync with each other. These components are categorized into modules, tools, libraries and 3rd party software.
- Modules are run-time components essential to the functioning of the Toolkit; including perception, speech recognition, natural language processing, nonverbal behavior, animation, rendering.
- Tools assist in configuring, running and modifying the Toolkit.
- Libraries are the API's and frameworks used by the modules and tools (e.g., messaging API, threading, etc.)
- 3rd party software are components developed outside of ICT which are essential for providing a proper framework for the Toolkit to run.
Modules
- AcquireSpeech Client
- MultiSense
- NonVerbal Behavior Generator
- NPCEditor
- Ogre
- PocketSphinx Wrapper
- Rapport
- SmartBody
- Text To Speech Interface
- vhtoolkitUnity
- Watson
Tools
Libraries
- ActiveMQ
- /wiki/spaces/VHTK/pages/14582719
- Boost
- OgreSDK
- Pthreads
- VHCL
- VHMsg
- WSP
- /wiki/spaces/VHTK/pages/14583300
3rd Party Software Requirements
This section lists all the 3rd party software needed to run the Toolkit. This software is bundled with the Toolkit.
Users
- .NET Framework 3.5 SP1 Redistributable (included with the Toolkit installers, external link if needed)
- DirectX Redistributable (August 2009) (included with the Toolkit installers, external link if needed)
- ActiveMQ Server 5.8.0.0 (included with the Toolkit installers)
Developers
- All user requirements (above)
- Microsoft Visual Studio 2010 (optional, but preferred)
- Unity (http://unity3d.com/unity/download/).
3rd Party Alternatives
Some of the Toolkit components are mere proof-of-concepts rather than state-of-the-art solutions. This section lists alternatives to some of these components.
Speech Recognition
Conversational speech recognizers often need to be trained for use with specific domains. Untrained recognizers may perform poorly. Some recognizer options are:
- Sonic, to which the AcquireSpeech client can connect, link
- The Toolkit has been integrated with PocketSphinx, but as of yet not optimized for performance.
- Dragon, not integrated, link
If you are interested in the USC Signal Analysis and Interpretation Laboratory providing you with custom speech models for Sonic, please contact us.
Text To Speech
The Toolkit uses MS SAPI as a TTS interface and any SAPI compatible voice can be used with the Toolkit. To use a new voice download, install it, and change the character's voice ID. See the FAQ for details.
Some free SAPI voices are found here:
ATT Natural Voice is also compatible with SAPI, but requires you to buy voices. link
Unfortunately, SAPI is not very well maintained by Microsoft; Windows XP by default contains a very outdated voice, Sam, and the installation of new voices on XP 64, Vista, and Windows 7 is either not working or requires registry hacks.
The following commercial Text To Speech engines offer higher quality voices, but will require purchasing or otherwise licensing a voice directly from the developer:
- Cereproc's Cerevoice, (free research licenses are available to academic institutions for research purposes)
- Cepstral
Software interfacing from the toolkit to these engines is available in the SmartBody SourceForge repository.
The toolkit is also integrated with the Festival text to speech engine. Currently the toolkit comes packaged with free diphone voices.
Festival offers other voices with better quality but might require licensing.
Renderer
SmartBody has been integrated with the following renderers:
- Unity available as part of the toolkit.
- Ogre, available as part of the toolkit
- Gamebryo
- Unreal Tournament 2004, requires license
- Panda 3D, available in SmartBody SourceForge repository
Since SmartBody is open source, as a developer you can integrate it with other renderers.