goals icon indicating copy to clipboard operation
goals copied to clipboard

[IDEA]: Music streaming in CLI

Open majorbruteforce opened this issue 11 months ago β€’ 8 comments

After using @zakhaev26's koelCLI I find it really convenient and refreshing to type a song's name in my terminal and listen to it on the go. i didn't expect it to become an app I would use everyday. I can't help but wonder for it to become a fully developed product that would have features like peer-to-peer music sharing, playlist creation, mood oriented algorithms and everything crazy right from the terminal. It won't just be a Spotify in the terminal but a community of listeners.

@zakhaev26 let's make this properly and real this time! Would love to here more suggestions from everyone on features that we can implement!

We ABSOLUTELY have to make this one with charm!

majorbruteforce avatar Mar 05 '24 08:03 majorbruteforce

For some context for all, here's the repo for featherCLI/koel

koelcli drawbacks:

  • Poor UI (it was just a concept back then)
  • Limited Control and Repetition: Users had little control over song selection and experienced repetition of tracks, which detracted from the enjoyment of music playback. Additionally, the absence of playlist functionality limited the ability to organize and customize listening experiences.
  • lack of Offline/Online Mode: The application did not offer an offline mode, restricting access to music when an internet connection was unavailable.
  • Missing p2p mode: There was no peer-to-peer (P2P) mode, which could have allowed nearby Koel users to connect and collaborate in shared listening rooms (like joining in through the ITS70xx), similar to the concept seen in games like Mini Militia.
  • Absence of Rememberance Feature: it lacked a feature to remember previously played songs. Implementing a functionality to store and recall song history could have ++'ed the performance by avoiding redundant network calls to retrieve songs that had been played before (we can use ferretdb / nedb for this?).
  • No Playlist Feature: The absence of a playlist feature limited users' ability to curate and organize their music collections according to their preferences.

I think we should start the implementation asap as i can't wait for this❀️. Let's start the feature ideation here itself.

We ABSOLUTELY have to make this one with charm!

we can also do some react , if you want πŸ˜‰ 🌚

zakhaev26 avatar Mar 07 '24 07:03 zakhaev26

Implementation started here β›…

zakhaev26 avatar Mar 07 '24 08:03 zakhaev26

we can also do some react , if you want πŸ˜‰ 🌚

you are evil

majorbruteforce avatar Mar 07 '24 15:03 majorbruteforce

Features that need to be implemented:

  • Music streaming if a CDN is available or download and play.
  • Visualisers (we need to have visualisers) / Progress bar (seekable)
  • Playlist/ queues/ lists to navigate through songs
  • P2P: first, URLs which can only be fetched through paid YT search APIs. Second, stream the media buffers if available in other devices.
  • The above may also extend to a peer mode where users can share their local collection of music with each other.
  • config files for raag to customise themes, preferences, moods etc

majorbruteforce avatar Mar 07 '24 15:03 majorbruteforce

@zakhaev26 feel free to add and change features

majorbruteforce avatar Mar 07 '24 15:03 majorbruteforce

@zakhaev26 let's start work for raag

majorbruteforce avatar Mar 11 '24 04:03 majorbruteforce

@majorbruteforce make a feature draft (in the repo itself) and start assigning issues between you and me (for now) also,look into mpg321 and yt-dlp and rapid apis v0 should be quick as we have experience of building koel.

zakhaev26 avatar Mar 11 '24 16:03 zakhaev26

Will get it started by tomorrow.

majorbruteforce avatar Mar 11 '24 21:03 majorbruteforce