Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ovos-audio

ovos-audio is the audio daemon for OpenVoiceOS. It handles text-to-speech (TTS) synthesis and sound playback, and it runs as a background service that connects to the OVOS MessageBus.


Install

pip install ovos-audio[extras]

The extras group installs this package with the default plugins. Without it, you must install and configure TTS modules yourself, as described below.


Configuration

ovos-audio reads its settings from mycroft.conf.

{

  // Text to Speech parameters
  "tts": {
    "module": "ovos-tts-plugin-server",
    "fallback_module": "ovos-tts-plugin-mimic",
    "ovos-tts-plugin-mimic": {
        "voice": "ap"
    }
  },

  // File locations of sounds to play for system events
  "sounds": {
    "start_listening": "snd/start_listening.wav",
    "end_listening": "snd/end_listening.wav",
    "acknowledge": "snd/acknowledge.mp3",
    "error": "snd/error.mp3"
  },

  // Mechanism used to play WAV audio files
  "play_wav_cmdline": "paplay %1 --stream-name=mycroft-voice",

  // Mechanism used to play MP3 audio files
  "play_mp3_cmdline": "mpg123 %1",

  // Mechanism used to play OGG audio files
  "play_ogg_cmdline": "ogg123 -q %1"
}

Persona Support

ovos-audio supports dialog-transformer plugins that rewrite generated speech to match a tone or persona. See the technical manual's dialog transformers page for the full transformer chain and priority rules.

For example, ovos-solver-plugin-openai-persona rewrites text before synthesis, based on a persona string. Sample personas:

  • "rewrite the text as if you were explaining it to a 5-year-old"
  • "rewrite the text as if it was an angry old man speaking"
  • "Add more 'dude'ness to it"

Example input and output with the "explain to a 5-year-old" persona:

  • Input: "Quantum mechanics is a branch of physics that describes the behavior of particles at the smallest scales."
  • Output: "Quantum mechanics is like a special kind of science that helps us understand really tiny things."

To enable the plugin, add this to mycroft.conf:

"dialog_transformers": {
    "ovos-dialog-transformer-openai-plugin": {
        "rewrite_prompt": "rewrite the text as if you were explaining it to a 5-year-old"
    }
}

Using Legacy AudioService

The legacy audio service handles audio playback through the old Mycroft API. See the implementation in mycroft-core and ovos-bus-client.

By default, OCP delegates to the legacy audio service when needed, so no action is required. If you disable OCP, this API becomes the sole media playback provider.

Note: once ovos-media is released, OCP and this API will be disabled by default and deprecated.

See docs/audio-service.md for the module reference, and the technical manual's OCP audio plugin page for how OCP relates to this subsystem.

{
    "enable_old_audioservice": true,
    "disable_ocp": true,
    "Audio": {
        "default-backend": "vlc",
        "backends": {
          "simple": {
            "type": "ovos_audio_simple",
            "active": true
          },
          "vlc": {
            "type": "ovos_vlc",
            "active": true
          }
        }
    }
  },
}

Legacy backend plugins:

About OCP:

  • OCP was developed for mycroft-core under the legacy audio service system.
  • OCP is always the default audio plugin, unless "disable_ocp": true is set in the config.
  • OCP uses the legacy API internally to delegate playback when the GUI is unavailable, or when configured to do so.
  • OCP does not support old Mycroft CommonPlay skills. The "ocp_legacy" pipeline in ovos-core handles that instead.
  • ovos-media will fully replace OCP in ovos-audio 1.0.0.

Related Projects

  • ovos-media, the replacement for OCP and the legacy audio service
  • ovos-core, the assistant core that starts and manages ovos-audio
  • ovos-plugin-manager, plugin discovery for TTS, G2P, and audio backends
  • ovos-bus-client, the MessageBus client used to communicate with ovos-audio

See docs/index.md for a full architecture overview.


License

ovos-audio is licensed under the Apache License 2.0.

Metadata

Release files for ovos-audio 2.2.4a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-audio 2.2.4a1
File Size Uploaded
ovos_audio-2.2.4a1.tar.gz 26.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-audio 2.2.4a1
File Interpreter ABI Platform
ovos_audio-2.2.4a1-py3-none-any.whl Python 3 none any Details

Total release size: 58.2 kB

Release files / ovos_audio-2.2.4a1.tar.gz

Download URL ovos_audio-2.2.4a1.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
aca96cf2b2c58f56bac4c46b001471efb850e8adaab14d7ff1f0fc33f7e5e322
BLAKE2b-256 checksum
How to use checksums
bda0e19eaad6e25453a11d053204093234c5e7e885d288937ab0e9e5d6e8d307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ovos_audio-2.2.4a1-py3-none-any.whl

Download URL ovos_audio-2.2.4a1-py3-none-any.whl
Size 31.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
63fc32df9eb06c6a26153dc29e66dc86ea0c21bc5617a8bd4789c5dd2d56e74a
BLAKE2b-256 checksum
How to use checksums
38700719f24c0ba93e0d29cc4ab8c96229210a7d23ed9c73319733269b333dc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.2.4a1 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page