Skip to content

polarhive/jukebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jukebox

Play LastFM music recommendations using: mpd(1), yt-dlp(1) and bash(1)

jukebox -h
  -a: <artist name>
  -g: <genre name>
  -s: <song name>
  -u: <lastfm: username>
  -m: <lastfm: mix | recommended | library>
  -p: <lastfm: playlist url>
  -l: vosk: search songs with your voice
  -y: use ytmusic tags for songs
  -c: top charts in your region (setup your api_key)

usage: demo

jukebox -g "rap"
jukebox -m "library"
jukebox -a "Drake"
jukebox -s "Never Gonna Give You Up"

setup:

git clone https://codeberg.org/polarhive/jukebox
cd jukebox
  • Open the script in a text editor: nvim jukebox
  • Set your LastFM username: [default: polarhive]
  • Set your preferred mode: [default: mix]
    • recommended: Listen to recommended music from LastFM
    • library: Listen to music you’ve scrobbled before
    • mix: Listen to music you’ve scrobbled before + recommendations from LastFM
  • Install: mpd, yt-dlp, jq and optionally mpdscribble (to scrobble to LastFM)
  • Activate services: systemctl --user enable --now mpd mpdscribble before running jukebox

extensions:

  • Read my blog /post or use my /dotfiles for my exact setup
  • charts: requires an $api_key
  • listen: pip install vosk google-speech and pacman -S sox
  • docs/stream: Stream songs to your other devices like a phone, laptop or speaker
  • docs/phone: Copy your current-playlist to your phone: using rsync & adb for offline-playback

This repo is hosted on Codeberg & mirrored to GitHub for traffic.

GPL enforced badge