Skip to content

Open Language Interface for Voice Exploitation (OLIVE) 5.5.0

OLIVE is a suite of audio processing software tools to enable a wide range of audio analysis for several mission types, including large scale audio triage, targeted close forensic analysis, detection of speech, speakers, languages, and keywords of interest.

The highlight feature of OLIVE 5.5.0 is the first official release of OLIVE GPU support for select plugins. Running on the GPU allows some plugins to run dramatically faster than when running exclusively on CPU, taking advantage of the GPU architecture and processing power. It also features several bug fixes, speed improvements, and a number of stability enhancements, especially for Docker-based deliveries (including Martini), which have now migrated from using CentOS7 as the OS base image to Ubuntu 20.04. It maintains compatibility with the previous release's memory-efficient "SmOlive" (small OLIVE) plugins that take advantage of quantized models to reduce the resident memory size during processing, and drastically reducing RAM requirements. As well as the expanded Workflows capabilities, such as the SmartTranslation workflow that combines upstream language identification to route audio to the appropriate transcription plugin/domain (when available), and then feeds these transcription results to the appropriate machine translation plugin/domain (when available). A number of under-the-hood adjustments and bug fixes improve server stability and reduce overall memory usage, and to allow parallel use of different MT language domains have also been implemented, in addition to bug fixes for conditional workflow capabilities.

OLIVE 5.5.0 now also supports Machine Translation results being displayed in the Raven Batch Web UI, as part of the fully-featured OLIVE Martini software package.

For more information about the OLIVE 5.5.0 plugins that are currently released and their capabilities, refer to the OLIVE 5.5.0 Release Plugins list, that links to more information about each.

There are many facets to OLIVE, several of which are documented here. Feel free to navigate through the documentation using the bar along the left side of each page. The links along the right side of each page provide navigation within that particular page. If you're unsure of the best place to look, this may help you choose where to get started:

User Centric and General Documentation

  • Installation and Setup
    • OLIVE GPU Docker-Compose Installation - Details for installing and using a Docker Compose-based dual-server setup that allows GPU execution for GPU-capable and properly-configured plugins. Also covers GPU-supported plugins and how to configure a capable plugin/domain to use an available GPU.
    • OLIVE Martini Docker-based Installation - Details for installing and setting up the OLIVE software package for docker-container-based deliveries. OLIVE Martini is a new delivery package that includes a web-based Raven Batch GUI, and other utilities, such as a web broker that exposes the new OLIVE REST API.
    • OLIVE Standalone Docker-based Installation - Details for installing and setting up the OLIVE software package for docker-container-based deliveries. "Standalone" refers to the OLIVE Docker Container alone, for deliveries with an olive-docker.tar container.
    • Redhat/CentOS 7 Native Linux Installation - Details for installing the OLIVE software package and getting up and running with a linux-native OLIVE package. This was the most common delivery method before OLIVE 5.1.0.
  • OLIVE Server Guide - For reference for setting up the OLIVE environment and firing up an OLIVE server instance, along with important details about how the Server works with the OLIVE Runtime and the OLIVE Runtime contents.
    • Supported Audio Formats - Outlines the audio formats OLIVE can currently process and which situations these restrictions apply.
  • User Interfaces

    • OLIVE Nightingale GUI - Details for launching and interacting with the OLIVE tools through the the optional OLIVE Nightingale GUI.
    • Raven Web Batch GUI - Details how to launch and interact with the Raven web-based batch GUI for OLIVE, available in OLIVE Martini-based deliveries.
    • Java and Python Client Utilities - How to install and get started with running the example Java and Python command-line client utilities.
    • Command Line Interface Documentation (Legacy) - If you're interested in exploring the capabilities of OLIVE and its plugins as an evaluation tool just using the command line. This is recommended for light testing and evaluation only, when using the native linux OLIVE, not for integration or for use with docker-based OLIVE deliveries.

Developer Specific Documentation

  • Workflow Integration - Details for getting started submitting enrollment and analysis requests using OLIVE workflows, a powerful new tool allowing you to leverage several plugins with a single server request/API message. Workflow integration is recommended for most integrations, unless very specific functionality is required that's not yet supported by workflows.
  • OLIVE Enterprise API Integration:
    • OLIVE REST API Documentation - Swagger documentation covering the OLIVE REST API exposed by the OLIVE Web Broker. If this documentation is being hosted by the OLIVE Martini container, this documentation will be interactive, allowing you to submit REST API messages straight from the documentation for experimentation.
    • Enterprise API Information - If interested in details about the mechanisms that allow integrating the OLIVE Server and backend audio processing capabilities to an existing system or GUI.
    • OlivePy Python API Client Documentation - Provides auto-generated PyDoc style documentation for the OlivePy Python Client API (brings you out of the normal OLIVE documentation - press browser's 'back' button to return).
    • Integrating the (Java) Client API - Provides code examples (currently only in Java) for how to perform several OLIVE tasks and integrate the OLIVE Java Reference Implementation to create a new client or augment a client with OLIVE functionality.
    • Creating an API Reference Implementation - Contains information to help guide the creation of a new API Reference Implementation if Java is not the target language for client integration.
    • Enterprise API Message Definitions - Provides more of the low-level details on the available API messages, their structures and contents.

Plugin Information

  • Release Plugins - List of the plugins released with this version of OLIVE, with links to more information on the specific plugins themselves.
  • General Plugin Info - Information regarding the actual technologies and capabilities provided by OLIVE (such as speech activity detection, language identification, etc.), and details on implementing these technologies.
  • OLIVE Plugin Resource Requirements - Information about the processing speed and memory requirements for a selection of OLIVE plugins.

Additional Info

  • Glossary - Definitions of important terms and concepts.
  • Contact Us - Information for how to reach out to the OLIVE team

Care was made to provide links to important contextual information regarding important terms, acronyms, API messages, etc. throughout the documentation. If you find any section to be unclear or lacking in important details, please let us know which area(s) require improvement.

For any questions, comments, or concerns about this documentation contact olive-support@sri.com.