Skip to content
A command line client for with streaming support via gstreamer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib simplify Apr 7, 2015
man/man1 refer to new features Sep 23, 2011
Gemfile add Gemfile to make installation with bundler easy Oct 13, 2012 Increased generated gem's version Nov 20, 2013
screenie.png everybody loves screenies! Sep 20, 2011


soundCLI is a command line client for streaming music from soundcloud. Timed comments are displayed on the command line as the playback reaches their respective positions.




You can either install this as a gem from, build the gem yourself, or execute it without installation. To simply run soundcli, issue the following command from within the soundcli directory.

ruby -Ilib ./bin/soundcli

Here's how to build and install this gem manually.

gem build soundcli.gemspec
gem install ./soundcli-0.0.5.gem

Then you can use this simpler command to stream a song:


You probably should configure rubygems to install to /usr/local/bin or some other directory that's in your PATH to execute it from any directory.


The preferred way is, of course, to install soundCLI through your distribution's package manager (pretend you didn't read this if you are using MacOS). SoundCLI has been packaged for the following GNU/Linux distributions:

You can inspect the package file descriptions in the directory pkgdesc. Feel free to submit package descriptions for other systems.


soundCLI will save your authentication/refresh tokens (not your credentials) in a file, so you only need to provide your credentials once. The token file will be saved to $XDG_CONFIG_HOME/soundcli/auth.

mkdir ~/.config/soundcli


  • ruby (I'm using 1.9.2 and above, but lower versions might work, too. Ruby 1.8.7 doesn't seem to work.)

  • gstreamer bindings for ruby (gstreamer)

  • cURL bindings for ruby (curb)

  • the JSON gem (json)


  • download only returns the download url but does not download yet


Q: I get a weird error message when attempting to stream a file:

No URI handler implemented for "http"
gsturidecodebin.c(1065): gen_source_element (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0

A: You are probably missing some gstreamer plugins. Install a bunch of them through your package management system and see if the error disappears.

Q: When attempting to run soundCLI I get an error:

no such file to load -- json/gst/curb in ...

A: You need to install the gems listed in the section DEPENDENCIES

Q: During installation of the gem I get this error:

checking for gstreamer-0.10... yes
checking for gstreamer-plugins-base-0.10... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

A: You are missing the gstreamer base plugins. If you are on Mac, you should install gst-plugins-base with brew. On Archlinux the package is called gstreamer0.10-base-plugins.


This code is licensed under the GPL v3.

You can’t perform that action at this time.