Skip to content

A Spotify Chrome Extension that allows users to adjust music player to an input tempo and overlay metronome clicks for optimized music practice

License

Notifications You must be signed in to change notification settings

Shivamkak19/Spotify-BPMBuddy

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Project Description

The Spotify BPM Buddy Chrome Extension is the perfect tool to bring your jam sessions and music practice sessions to the next level. The extension allows users to adjust the tempo of their Spotify player to a desired input tempo (non-commercial use only). The user simply provides an input tempo, and the player will adjust automatically. The metronome toggle makes it easy to overlay a metronome click onto any track at the adjusted tempo. The tool is great for practicing any instrument at a speed that is constructive to the user's individual needs and abilities.


View Product · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Beta Features
  7. License
  8. Contact
  9. Acknowledgments

About the Project

Built With

  • chrome
  • spotify
  • tonejs
  • html
  • css
  • js
  • json

(back to top)

Getting Started

  • Below, I have included the set-up process for downloading and running this extension locally.
  • After cloning the repository, load unpacked at chrome://extensions for local test environment.

Installation

  1. Clone the repo

    git clone https://github.com/Shivamkak19/Spotify-BPMBuddy.git
  2. Install NPM packages

    npm install

(back to top)

Usage

Upon visiting https://open.spotify.com/, users will automatically be redirected to authorize usage with their Spotify account.

Product

After reaching the Spotify web player, they will be able to access the Spotify BPMBuddy as an icon in the footer containing the Spotify player.

Product

Users can use Spotify BPMBuddy on all of their favorite tracks to adjust track tempo and overlay a metronome click. The extension will likely not work as intended for podcasts.

(back to top)

Roadmap

  • Set up chrome manifest file
  • Set up test environment at chrome://extensions/
  • Utilize Spotify API to get tempo of current track
    • Authorize Spotify user ID and get access token
    • HTTP GET request every time new track plays
  • Grab HTML video playback element upon DOM creation
    • Write algorithm to modify playback rate based on input BPM
  • Utilize Tone.js to implement drumsticks metronome (4/4 preset only)
  • Write algorithm to match metronome to closest upcoming beat in currently playing track on metronomeStart and metronomeEnd events

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/newFeature)
  3. Commit your Changes (git commit -m 'Add some new feature to Spotify-BPMBuddy')
  4. Push to the Branch (git push origin feature/newFeature)
  5. Open a Pull Request

(back to top)

Beta Features

Logo

Beta Features

Beta features currently in production include features for more advanced metronome overlays onto the Spotify player. Most notably, this includes the ability to overlay preset drum beats onto the Spotify track along with a metronome click. Available drum presets depend on the time signature of the currently playing track. These features are intended to optimize timekeeping habits for music students in a way that keeps learning fun.

The expected release data for this set of features is approx. December 2023 - February 2024.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Acknowledgments

(back to top)

About

A Spotify Chrome Extension that allows users to adjust music player to an input tempo and overlay metronome clicks for optimized music practice

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published