Linux Apps

Jam – Listen to Google Play Music Straight From Your Console

Jam Google Music Console Player
Written by Martins D. Okoi

We have written about Music Players for the Linux console before so you can just add this one to the already long list. And before you complain about the list of music players increasing this is what its GitHub page reads:

This is my first Go program, I wanted to listen to Google Play Music on [the] console, so I wrote a player. It is inspired by Matt Jibson’s Moggio and uses one of his libraries…

Jam is a recently developed Google Play Music player for the Linux and Windows consoles. It features a simplistic appearance within the terminal that is easy to navigate (pretty much like Cmus) and was written in the Go programming language.

Features in Jam Music Player

  • Jam is free to download and use with its source code open for contribution on GitHub.
  • Last.fm scrobbling (use -lastfm flag).
  • Populate a local database with the artists and albums saved from anywhere including through the web interface.
  • Search for artists in the database.
  • playing, pausing (buggy, I need help with it), stopping, previous track, next track.
  • the interface is Cmus rip off, I’ve only added a progress bar.
  • this player no longer lists artists in random order – if you want to randomize them press R.

Installation Requirements and Key Bindings

A major requirement to run Jam is being logged into Google Play services on your mobile phone. So if you don’t have one then you will just have to wait for a later release that doesn’t have that requirement.

  Cerebro - A System-wide Search App for Linux Desktop
RedHat RHCSA and RHCE Certification Exam Study Ebook

If you use a 2-factor authorization service with your Google account then you will have to generate an app password yourself. Follow the link here to get that out of the way.

If you are running an 64bit system you can install Jam using binary package available at.

Download Jam for 64-bit Systems

To install the 64bit binary on Linux, use the following command.

$ sudo install jam_x64 /usr/local/bin/jam

How to install Jam from Source

To install Jam from source, you’ll need Go, Git and libpulse-dev.

$ sudo apt install golang-go git libpulse-dev

Next, set the GOPATH environment variable and make the GOPATH/bin folder available in your PATH.

$ mkdir ~/.go
$ echo "export GOPATH=\$HOME/.go" >> ~/.bashrc
$ echo "export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin" >> ~/.bashrc
$ source ~/.bashrc

And finally, install Jam from source (the binary will be available in ~/.go/bin/).

$ go get github.com/budkin/jam

Being a console player that was inspired by Cmus, it shares similar keybindings:

Key Action
return, x play currently selected artist, album or song
c pause
v stop
b next track
z previous track
u synchronize the database (in case you added some songs in the web interface)
/ search artists
n next search result
tab toggle artists/tracks view
escape, q quit
up arrow, k scroll up
down arrow, j scroll down
Home, g scroll to top
End, G scroll to bottom
space toggle albums
R randomize artists
Ctrl+Space toggle view (playlists/artists)
r repeat current track
  Standard Notes - An Encrypted Note Taking App for Linux

As you must have figured out by now, Jam being a baby project has a ton of features to be added. This post is virtually for open source enthusiasts who might be interested in joining the project development to make it worth writing home about.

If you are an average user, I would advise you to stick to relatively mature projects like GPMDP, and Harmony.

Image Credit: http://www.webupd8.org/

Join Our Community Of 250,000+ Linux Lovers by liking us on Facebook, or follow us on Twitter, Google+ and Instagram.

If you liked this article, sign up for the fossmint newsletter for handpicked selection of stories from FossMint delivered to your inbox every day.


Top Deals

About the author

Martins D. Okoi

Martins Jr. (Dillivine) Okoi is a graduate of Computer Science with a passion for Linux and the Open Source community. He works as a Web designer & developer, technical writer, and programmer.

Show Buttons
Hide Buttons