spotify plugin for ovos
Project description
ovos-media-plugin-spotify
spotify plugin for ovos-audio and ovos-media
allows OVOS to initiate playback on spotify
NOTE: the companion skill is needed to integrate with voice search
Install
pip install ovos-media-plugin-spotify
Oauth
Currently Oauth needs to be performed manually
after installing the plugin run ovos-spotify-oauth
on the command line and follow the instructions
$ ovos-spotify-oauth
This script creates the token information needed for running spotify
with a set of personal developer credentials.
It requires the user to go to developer.spotify.com and set up a
developer account, create an "Application" and make sure to whitelist
"https://localhost:8888".
After you have done that enter the information when prompted and follow
the instructions given.
YOUR CLIENT ID: xxxxx
YOUR CLIENT SECRET: xxxxx
Go to the following URL: https://accounts.spotify.com/authorize?client_id=xxx&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A8888&scope=user-library-read+streaming+playlist-read-private+user-top-read+user-read-playback-state
Enter the URL you were redirected to: https://localhost:8888/?code=.....
ocp_spotify oauth token saved
Configuration
edit your mycroft.conf with any spotify players you want to expose
NOTE: If you want to make the OVOS device itself a spotify player, we recommend spotifyd.
The easiest way is to use the provided ovos-spotify-autoconfigure
command
$ ovos-spotify-autoconfigure
This script will auto configure ALL spotify devices under your mycroft.conf
SPOTIFY PREMIUM is required!
If you have not yet authenticated your spotify account, run 'ovos-spotify-oauth' first!
Found device: OpenVoiceOS-TV
mycroft.conf updated!
# Legacy Audio Service:
{'backends': {'spotify-OpenVoiceOS-TV': {'active': True,
'identifier': 'OpenVoiceOS-TV',
'type': 'ovos_spotify'}}}
# ovos-media Service:
{'audio_players': {'spotify-OpenVoiceOS-TV': {'active': True,
'aliases': ['OpenVoiceOS-TV'],
'identifier': 'OpenVoiceOS-TV',
'module': 'ovos-media-audio-plugin-spotify'}}}
ovos-audio
{
"Audio": {
"backends": {
"spotify": {
"type": "ovos_spotify",
"identifier": "device_name_in_spotify",
"active": true
}
}
}
}
ovos-media
WARNING: `ovos-media' has not yet been released, WIP
{
"media": {
"audio_players": {
"desk_speaker": {
"module": "ovos-media-audio-plugin-spotify",
// this needs to be the name of the device on spotify!
"identifier": "Mark2",
// users may request specific handlers in the utterance
// using these aliases
"aliases": ["office spotify", "office", "desk", "workstation"],
// deactivate a plugin by setting to false
"active": true
}
}
}
Python usage
if you don't want to use the companion skill, you can also write your own integrations
s = SpotifyClient()
# pprint(s.query_album("hail and kill by manowar")[1])
from ovos_utils.skills.audioservice import ClassicAudioServiceInterface
from ovos_utils.messagebus import FakeBus
bus = FakeBus()
audio = ClassicAudioServiceInterface(bus)
audio.play("spotify:playlist:37i9dQZF1DX08jcQJXDnEQ")
audio.play(["spotify:track:5P2Ghhv0wFYThHfDQaS0g5",
"spotify:playlist:37i9dQZF1DX08jcQJXDnEQ"])
time.sleep(5)
audio.pause()
time.sleep(5)
audio.resume()
time.sleep(5)
audio.next()
time.sleep(5)
audio.prev()
time.sleep(5)
print(audio.track_info())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ovos-media-plugin-spotify-0.2.2.tar.gz
.
File metadata
- Download URL: ovos-media-plugin-spotify-0.2.2.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccadeb5c50d43266ed12d8826c413242aa603390f436b91c11044f29eca78d6f |
|
MD5 | 9b18432b8775642e0ae18f022f345297 |
|
BLAKE2b-256 | 706135ebafea39cc5dd0a476662700d0f73d2c2bf17702a696e01d4facbe9841 |
File details
Details for the file ovos_media_plugin_spotify-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: ovos_media_plugin_spotify-0.2.2-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4649a4bb4b865bd5acd45248ac43fc092d5adddfd5b7e28d0950255d5195973 |
|
MD5 | d8e39efb98e1e48f013d72cf32b23cbf |
|
BLAKE2b-256 | faed19fa01f1f58e5311b4eddfdb63c5adcd3cfc169793d1242f662a69d3f21c |