This project is a web-based music visualizer for OpenVoiceOS (OVOS), specifically ovos-mac. It displays the currently playing track information, album art, and a simple visualization, along with playback controls.
- Displays current track information (title, artist, album)
- Shows album art
- Provides a play/pause button
- Displays a progress bar and current/total time
- Includes a simple audio visualization
Before you begin, ensure you have met the following requirements:
- You have a running instance of OpenVoiceOS
- Node.js and npm are installed on your system
- You have basic knowledge of terminal/command line operations
To set up OVOS Music Visualizer, follow these steps:
-
Clone the repository:
git clone https://github.com/OscillateLabsLLC/ovos-music-visualizer.git cd ovos-music-visualizer
-
Install the dependencies:
npm install
-
Configure the server:
-
Open
server.js
and ensure the WebSocket URL is correct for your OVOS instance (this default is OVOS' default):const ovosSocket = new WebSocket("ws://localhost:8181/core");
-
If your OVOS instance is running on a different IP or port, update this URL accordingly.
-
Start the server:
node server.js
-
Open a web browser and navigate to
http://localhost:3000
(or the appropriate address if you've configured a different port).
Once the visualizer is running:
- Start playing music on your OVOS device.
- The visualizer should automatically update with the current track information.
- Use the play/pause button to control playback.
- The progress bar and time display will update as the track plays.
If you encounter issues:
- Ensure your OVOS instance is running and accessible.
- Check that the WebSocket URL in
server.js
is correct. - Look at the server console and browser console for any error messages.
Contributions to the OVOS Music Visualizer are welcome. Please feel free to submit a Pull Request.
This project is licensed under the Apache 2.0 license.
- OpenVoiceOS team for the amazing open-source voice assistant platform.
- All contributors and users of this project.
- Claude.AI for doing almost all the work on this project. I'm not much of a frontend developer, so I appreciate the help!