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.

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.

{
    "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.1a2

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.1a2
File Size Uploaded
ovos_audio-2.2.1a2.tar.gz 26.2 kB Details

Built distribution (wheel)

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

Total release size: 57.6 kB

Release files / ovos_audio-2.2.1a2.tar.gz

Download URL ovos_audio-2.2.1a2.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
279f4191c22697927b775462f23dec16a0181744677bc141e9c654c41c1b8835
BLAKE2b-256 checksum
How to use checksums
a24ab5d72e507d54ef3fabe2bdd2dff116ad3afe448ddfecec14b8e374c938dd
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.1a2-py3-none-any.whl

Download URL ovos_audio-2.2.1a2-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d70d2c61668a51343a52a294b09ddbb4622ebcb858a65654839d98c071140505
BLAKE2b-256 checksum
How to use checksums
0f23f971c776e1fef565e495e2cc0bd5c8ec26e9fcfc0b62b99f4ddba34333ec
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.1a2 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