Gears for Spotify client

spotify_comp

Spotify is free with catches, like ads to completely ruin your musical experience. You might also want something extra if you have an account… like who wants to download the same data again and again? We explored Sconsify, the cmdline client for Spotify account holders earlier. This article explores few handy utilities to go with the official Spotify client for Linux.

Blockify

Mute on ad detection plugin. It has a few limitations, like, DBus must be enabled, Spotify can’t be minimized to system tray (minimized to task bar works) and notificaions should be enabled in Spotify. Blockify is a Python utility and can run as a daemon or with a GUI. You can send commands to the Spotify client from Blockify GUI (thanks to DBus) to jump between tracks, block/unblock, play/pause, disable player, show/hide cover, browse and so on.

Installation

To install the latest development version of Blockify on Ubuntu, run:

$ sudo apt-get install python-pip python-wnck python-gst0.10
$ git clone https://github.com/mikar/blockify
$ cd blockify
$ sudo pip install .

Usage

Blockify comes with a configuration file (sample): ~/.config/blockify/blockify.ini

 To start Blockify CLI, run:

$ blockify

To start the GUI, run:

$ blockify-ui

Check other options:

$ blockify -h

Similar software

  • Spotify-AdKiller
    $ git clone https://github.com/SecUpwN/Spotify-AdKiller.git
    $ cd Spotify-AdKiller
    $ sudo ./install.sh

spotify-ripper

Before proceeding, be waned that this tool violates Spotify Terms of Service. So we do not encourage using it.

It is a small script to rip Spotify URIs to MP3 audio files and includes ID3 information and cover art. Works only if you have a Premium account with Spotify.

Features

  • real-time VBR or CBR ripping from spotify PCM stream
  • writes id3 tags (including album covers)
  • rips files into the following directory structure: artist/album/artist - song.mp3 by default or optionally into a flat directory structure using the -f or -F options
  • option to skip or overwrite existing files
  • accepts tracks, playlists, albums, and artist URIs
  • search for tracks using Spotify queries
  • options for interactive login (no password in shell history) and relogin using previous credentials
  • option to remove tracks from playlist after successful ripping
  • globally installs ripper script using pip
  • Python 2.7.x and 3.4.x compatible. Python 3 will occasionally throw a NameError: name '_lock' is not defined exception at the end of the script due to an upstream bug in pyspotify.
  • use a config file to specify common command-line options
  • helpful progress bar to gauge the time remaining until completion

Installation

To install spotify-ripper on Ubuntu, first download the right tar.gz archive of libspotify for your architecture. Then run:

$ sudo apt-get install lame build-essential libffi-dev
$ tar xvf libspotify-version-Linux-arch-release.tar.gz
$ cd libspotify-version-Linux-arch-release/
$ sudo make install prefix=/usr/local
$ pip install spotify-ripper
$ pyenv rehash

Download an application key file spotify_appkey.key from https://devaccount.spotify.com/my-account/keys/ (requires a Spotify Premium Account) and move the file to the ~/.spotify-ripper directory (or use the -k | --key option).

To upgrade, run:

$ pip install --upgrade spotify-ripper

Usage

It is useful to check the options provided by spotify-ripper first. Run

$ spotify-ripper -h

The configuration file is at: ~/.spotify-ripper

Example configuration:

[main]
ascii = True
bitrate = 160
flat = True
last = True
remove_from_playlist = True

To run spotify-ripper:

$ spotify-ripper

Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s