List of Olympus Components

From Olympus

Jump to: navigation, search

Domain-independent agents

  • Apollo: Interaction Manager, handling precise timing of conversational events, as well as turn-taking
  • AudioRecorder: agent used in (mostly telephony) systems to record the full audio of the conversation
  • BackendServer: stub for the task-specific Perl backend module
  • DateTime: NLU agent to convert temporal expressions as parsed by Phoenix into semantic frames
  • Dumbledore: agent used for Wizard-of-Oz experiments (so far only used by Dan Bohus on the RoomLine system, not proven to be task-independent)
  • Frankie: skeleton for a simulated user agent (needs a lot of work)
  • Gentner: interface to the Gentner telephony board (mostly in use at CMU)
  • Helios: confidence annotation agent
  • Jason: a Jabber chat client which turns an Olympus system into a chat-bot
  • JavaTTY: a TTY input/output agent written in Java
  • Kalliope: the speech synthesis agent, which is an interface to various TTS engines (SAPI, Festival, Cepstral Swift)
  • MultiDecoder: a set of agents and engines in charge of speech recognition
    • AudioServer: an agent that captures audio from an audio device, feeds it to several ASR engines and collates the results from the engine into a single Galaxy frame it sends back to the hub
    • DTMFEngine: an engine that performs touch-tone (DTMF) recognition
    • PocketSphinxEngine: an interface to the PocketSphinx open-source ASR engine
    • Sphinx2Engine: an interface to the Sphinx2 open-source ASR engine
    • Sphinx3Engine: an interface to the Sphinx3 open-source ASR engine
  • NlgServer: a stub connecting to the Perl Rosetta module for natural language generation
  • Phoenix: an agent performing parsing ASR hypotheses or text input using the Phoenix robust parser and a given grammar
  • ProcessMonitor: a module that starts all the others (agents and Galaxy hub), monitors them and take certain actions when they fail
  • Pythia: a nicer process monitor written in Python
  • SessionManager: an agent that locks access to the system when a session is started (to avoid concurrency issues in e.g. chat-based systems)
  • Skyper: an old interface to Skype as a replacement to the Gentner telephony board
  • TTYRecognitionServer: a TTY input/output interface written in C++

Libraries

  • DTMFDecoder: a library to perform touch-tone recognition for telephone-based systems
  • Galaxy: the Galaxy Communicator architecture developped at MIT and MITRE
  • Phoenix: the Phoenix robust parser
  • pocketsphinx: the PocketSphinx speech recognition engine
  • RavenClaw: the RavenClaw dialogue management framework (used as a static C++ library by each system's DM)
  • Rosetta: the Rosetta template-based natural language generation framework (written in Perl, used by system-specific NLG modules)
  • sphinx2: the Sphinx 2 speech recognition engine
  • sphinx3: the Sphinx 3 speech recognition engine
  • sphinxbase: the SphinxBase set of tools, shared across all engines of the Sphinx suite
  • SphinxVAD: a GMM-based VAD
  • trunkSphinx2msdev: a set of Visual Studio project files for the Sphinx 2 engine sources