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-mediais 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:
- ovos-vlc-plugin
- ovos-audio-plugin-simple (no HTTPS support)
- ovos-audio-plugin-mpv (recommended default)
- ovos-media-plugin-chromecast
- ovos-media-plugin-spotify
About OCP:
- OCP was developed for
mycroft-coreunder the legacy audio service system. - OCP is always the default audio plugin, unless
"disable_ocp": trueis 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 inovos-corehandles that instead. - ovos-media will fully replace OCP in
ovos-audio1.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)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_audio-2.2.1a2.tar.gz | 26.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|