This release is a pre-release and may not be stable for production use.
⚠️ DEPRECATED
This OCP search skill is deprecated and unmaintained. OCP search skills (
OVOSCommonPlaybackSkill+@ocp_search) are replaced by MediaProvider plugins loaded by the OCP pipeline plugin. The search and catalog functionality moves toovos-media-provider-mass, a MediaProvider running in-process within the OCP pipeline. Playback of Music Assistant tracks moves toovos-media-plugin-mass, a playback backend for theovos-mediaplayer daemon. Both packages are published and work once their respective stacks are active —ovos-media-provider-massprovides search results when the OCP pipeline invokes MediaProviders;ovos-media-plugin-masshandles playback whenovos-mediais running as your player. Installing them does not replace this skill under the legacy OCP/ovos-audiostack.
- How MediaProviders work / how to migrate: https://github.com/OpenVoiceOS/ovos-media/blob/dev/docs/media-providers.md
- Base-class deprecation: ovos-workshop#423
This skill keeps working until the
ovos-mediastack flips to default and this repository is archived.
Music Assistant Skill
OCP search skill for Music Assistant.
It answers OCP play … requests with playable results from a Music Assistant
server. The companion
ovos-media-plugin-mass
plays back the returned library:// uris.
Setup
Check which player stack you run before installing anything. On the classic
ovos-audio/OCP stack, this skill does the catalog search and hands playback
to ovos-media-plugin-mass;
install both together. On the newer ovos-media stack, this skill is replaced
entirely at flag day by
ovos-media-provider-mass,
which does catalog search and playback on its own — do not install this skill
there.
For the classic stack:
pip install ovos-skill-music-assistant ovos-media-plugin-mass
Set your Music Assistant server URL in this skill's settings — the
url field in settings.json, reachable through the OVOS control panel
under this skill's settings page:
{ "url": "http://192.168.1.100:8095", "token": "your-mass-api-token" }
Music Assistant 2.11 and later require an API token: create one in the
Music Assistant web UI under Settings → Users and put it in the token
setting. Leave it blank for older, unauthenticated servers.
Settings changes made through the control panel before the skill's first run
are only picked up on the run after that: the skill writes its own
first-run marker into settings.json the first time it loads, which can
overwrite a hand-edited file dropped in earlier. Reload the skill (or restart
it) once after changing the URL for the first time if it does not seem to
take effect.
Say "play some jazz on music assistant" to verify the setup works end to end.
If something goes wrong:
- an "I couldn't reach your Music Assistant server" reply means the
urlin settings is wrong or the server is down — check both. - no results for something you know is in your library means Music Assistant itself does not have that media indexed — check its own search first.
- an error about the server refusing the request usually means authentication:
check the
tokensetting — Music Assistant 2.11 and later reject requests without a valid API token.
Related projects
- ovos-media-plugin-mass: Music Assistant playback backend
- ovos-media-provider-mass: Music Assistant MediaProvider (ovos-media stack)
- py-music-assistant: shared HTTP client and mediavocab bridge
Docs
- docs/index.md — overview, search flow, and tests
Tests
pip install -e .[test]
pytest test/ # unit + end2end (ovoscope), network-free
The end-to-end tests (test/end2end/) run the real OCP pipeline
in a ovoscope MiniCroft. A spoken utterance is classified into an
ovos.common_play.query, this skill answers, and OCP selects a winner to play.
The tests mock the Music Assistant HTTP client.
Credits
- JarbasAi
Category
Entertainment
Tags
#audio #music #OCP #entertainment
Metadata
Release files for ovos-skill-music-assistant 0.2.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ovos_skill_music_assistant-0.2.0a1.tar.gz | 22.7 kB | Without provenance | Details for ovos_skill_music_assistant-0.2.0a1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ovos_skill_music_assistant-0.2.0a1-py3-none-any.whl | Python 3 | none | any | Details for ovos_skill_music_assistant-0.2.0a1-py3-none-any.whl |
Total release size: 43.9 kB
Release files / ovos_skill_music_assistant-0.2.0a1.tar.gz
| Download URL | ovos_skill_music_assistant-0.2.0a1.tar.gz |
|---|---|
| Size | 22.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f4d7538c3e9e8322822de952243b3fc9db433f4bc5bb5c52e7afdb6a96bf0d52
|
|
BLAKE2b-256 checksum How to use checksums |
9a92df878ab8a9e057c65a3bb871516f9e643f498cb1099b6f0fa60243621616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ovos_skill_music_assistant-0.2.0a1-py3-none-any.whl
| Download URL | ovos_skill_music_assistant-0.2.0a1-py3-none-any.whl |
|---|---|
| Size | 21.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a7025ba339a0812e7110942357a487c754f8fa373a3e927f1ef609edbdd01409
|
|
BLAKE2b-256 checksum How to use checksums |
0821a085876951ecd3e6e18df9ede586a91a1eac9c4ddfa06a25c9431b49ac3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for ovos-skill-music-assistant 0.2.0a1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.