The goal of the Virtual Human Toolkit, developed by the University of Southern California Institute for Creative Technologies (ICT), is to make creating virtual humans easier and more accessible, and thus expand the realm of virtual human research and applications.

What it is

Our research has led to the creation of ground-breaking technologies which we have coupled with other software components to form a complete embodied conversational agent. All ICT virtual human software is built on top of a common, modular architecture which allows Toolkit users to do any of the following:

  • utilize the Toolkit and all of its components as is;
  • utilize certain components while replacing others with non-Toolkit components;
  • utilize certain components in other existing systems.

Our technology emphasizes natural language interaction, nonverbal behavior, and perception and is broken up into the following main modules:

  • AcquireSpeech: A tool to send audio, or text, to speech recognizers and to relay the information to the entire system. The Toolkit uses PocketSphinx as a 3rd party speech recognition solution.
  • MultiSense: A perception framework that enables multiple sensing and understanding modules to inter-operate simultaneously, broadcasting data through Perception Markup Language. It currently contains GAVAM, CLM FaceTracker, and FAAST which work with a webcam or Kinect.
  • Non-Player Character Editor (NPCEditor): A suite of tools which work together to create appropriate dialogue responses to users’ inputs. A text classifier selects responses based on cross-language relevance models; the authoring interface relates questions and answers; and a simple dialogue manager controls aspects of output behavior.
  • Nonverbal Behavior Generator (NVBG): A rule-based behavior planner that infers communicative functions from the surface text and selects appropriate behaviors that augment and complement the characters’ dialogue.
  • Rapport 1.0: An agent that provides nonverbal feedback based on human nonverbal and verbal input. Rapport has been used in a variety of international studies related to establishing rapport between real and virtual humans.
  • SmartBody (SB): A modular, controller-based character animation system that uses the Behavior Markup Language.
  • vhtoolkitUnity: A renderer with custom authoring and debug tools based upon the Unity game engine.

The target platform for the overall Toolkit is Microsoft Windows, although some components are multi-platform.

What it is not

The Toolkit does not contain all of the basic research technologies currently being developed and utilized at the ICT, such as the reasoning SASO agents. However, we continually evaluate our basic research findings for potential inclusion in future releases.

Who can use it

Currently, we are not at liberty to publicly distribute any project-specific data. However, we encourage all interested parties to contact us.The Toolkit has two target audiences:

  • Users: People who use the provided technology as is to either run a component or create new content. Users with basic computer and minor scripting skills will be able to configure and run systems.
  • Developers: Software engineers or programmers who are able to build and modify code. Developers may create new capabilities for the system, either by modifying or extending existing code or by creating new modules that interface with the rest of the system.

All Toolkit software may be used without cost for academic research and US Government purposes provided all associated licenses are honored. Please cite us appropriately, as per clause 3 of the license, when using the Toolkit or any of its components for published research. See the publications section for more details.

License and Disclaimers

The License Agreement states, but is not limited to:

  • The Toolkit and any of its components is to only be used for academic research and US Government purposes.
  • Cite us appropriately when using the Toolkit or any of its components for published research. See Publications for details.
  • Toolkit users are required to honor all licenses of components and supporting software as defined in Exhibit A of the License Agreement.

The complete License Agreement and supporting documentation is found in the License section.

Please be aware that the Toolkit consists of research software for which documentation and support is limited. However, both the software as well as the accompanying documentation are actively being developed and updated.