A Spicetify extension to announce song details, time and local weather in-between tracks.
Spicetify Announcer uses Amazon Polly service to announce the tracks recently played, similar to what a live radio show would do. It also announces the time and the local weather forecast based on configuration parameters.
Sound on! 👇
SpicetifyAnnouncer.mp4
These instructions will get you a copy of the project up and running on your local machine.
You'll need Node installed on your machine, the best way to install/manage Node versions is to use Volta:
- Volta - the hassle-free JavaScript tool manager
You also need to follow the installation instructions for Spicetify:
- spicetify-cli - command line tool to customize Spotify client.
The steps below assume you have successfully installed Spicetify.
Spicetify Announcer requires an AWS account and setting up the AWS Polly following the Getting Started guide. Once you have AWS configured follow the steps below:
- tweak the
config.js
entries for AWS and OpenWeather. At a minimum you'll have to update the following values:
AWS_REGION
AWS_IDENTITY_POOL_ID
OPENWEATHER_CITY
OPENWEATHER_TOKEN
- Then build the extension with your changes by running the build script. You should see something similar to:
$ npm run build
> spicetify-announcer@1.0.0 build ~/spicetify-announcer
> esbuild src/index.js --bundle --outfile=build/SpicetifyAnnouncer.js
build/SpicetifyAnnouncer.js 501.9kb
⚡ Done in 70ms
- copy your build to the
/spicetify/Extensions
folder in your system. (NOTE: your folder might be in a different location depending on your system)
$ cp ./build/SpicetifyAnnouncer.js ~/.config/spicetify/Extensions
cp: overwrite '~/.config/spicetify/Extensions/SpicetifyAnnouncer.js'? y
- run the
spicetify apply
command to apply your changes:
$ ~/spicetify-cli/spicetify apply
spicetify v2.8.4
Overwriting raw assets:
OK
Transferring user.css:
OK
Applying additional modifications:
OK
Transferring extensions:
OK
success Spotify is spiced up!
- Update
~/.config/config-xpui.ini
to include SpicetifyAnnouncer.js in the extensions line, you only need to do this once. (NOTE: your file might be in a different location depending on your system)
[AdditionalOptions]
extensions = SpicetifyAnnouncer.js
You should now be able to start your Spotify client and announcements should work!
-
aws-sdk-js-v3 - modularized AWS SDK for JavaScript.
-
spicetify-cli - command line tool to customize Spotify client.
-
tinytime - a straightforward date and time formatter in < 800b.
-
OpenWeather API - free weather data APIs.
This project exists thanks to all the people who contribute.
Spicetify Announcer is free and open-source software, if you find it useful consider buying me a coffee. Thanks!
This project is licensed under the MIT License - see the LICENSE file for details.