Skip to content

This is a website that you can use to generate an animated wallpaper based off of what you're listening to on last.fm.

Notifications You must be signed in to change notification settings

BossDaily/waves-fm

Repository files navigation

Waves.FM

SvelteKit Svelte TypeScript License

Generate beautiful animated wave visualizations from your Last.fm scrobbles in real-time. This can be used as a dynamic wallpaper or a visualizer for your music player.

Example Visualization Example Visualization

✨ Features

  • 🎵 Real-time Last.fm scrobble visualization
  • 🌈 Dynamic color gradients based on album artwork
  • 🎨 Two visualization modes:
    • Standard waves with dynamic colors
    • Optimized performance mode for smoother animations
  • 🌗 Adaptive favicon that matches your current track
  • 📱 Fully responsive design
  • 🚀 Built with SvelteKit 2 and Svelte 5

🚀 Getting Started

Prerequisites

  • Node.js 18.0 or higher
  • A Last.fm API key (Get one here)
  • A Last.fm account

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/waves-fm.git
cd waves-fm
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory:
LASTFM_API_KEY="your_lastfm_api_key"
LASTFM_USERNAME="your_lastfm_username"
  1. Start the development server:
npm run dev

Visit http://localhost:5173 to see your visualization!

🎨 Usage

  1. Visit the homepage
  2. Enter your Last.fm API key and username
  3. Toggle the "Use Optimized Version" switch if you want better performance
  4. Click "View Visualizer" to see your current track visualization

Note, you can just go to /optimized-waves or /waves to see the visualizer directly using the api key added to the env.

🛠️ Technologies

📝 Environment Variables

Variable Description Required
LASTFM_API_KEY Your Last.fm API key Yes
LASTFM_USERNAME Default Last.fm username No

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Last.fm for their excellent API
  • The SvelteKit team for the amazing framework
  • All contributors and users of this project

Made with ❤️ using SvelteKit and the Last.FM API

About

This is a website that you can use to generate an animated wallpaper based off of what you're listening to on last.fm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published