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

Next.js 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 Next.js 15 and TypeScript

🚀 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:
NEXT_PUBLIC_LASTFM="your_lastfm_api_key"
NEXT_PUBLIC_LASTFM_USERS="your_lastfm_username"
  1. Start the development server:
npm run dev

Visit http://localhost:3000 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
NEXT_PUBLIC_LASTFM Your Last.fm API key Yes
NEXT_PUBLIC_LASTFM_USERS Default Last.fm username(s) 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 Next.js team for the amazing framework
  • All contributors and users of this project

Made with ❤️ using Next.js 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