Tag Archives: streaming

streamripper: Keeping local copies

It’s been a while since I’ve seen an audio stream ripper — in fact, I think the last one was fIcy, way back when this site was just starting up. 😐

So here’s streamripper, which does something similar to what fIcy does, but seems a little better prepared for the task.


What I remember most about fIcy is that without an -o flag, it would dump its output to the screen, and with an -o flag … it didn’t quite work right.

So seeing streamripper effortlessly pull down a stream, dissect the individual files at their correct start and stop points, nest them in a neat tree of folders, and set aside tracks that are incomplete … well, it’s very pleasant to watch.

streamripper is not new. In fact, it looks like it faded away (I need a better term than that for software that stalls) around 2008. That’s the bad news.

The good news is, I don’t imagine much has really changed in the past six years in the way streaming music is broadcast, or for that matter, how mp3s work. Both technologies are pretty much solid at this point.

So if you can deal with the awful public shame of using six-year-old software, streamripper appears to be a viable option for capturing your favorite online audio. And if you can’t deal with that big a lag in software development … well, you’ve come to the wrong place, bub. :\

Edit, 2014-11-02: I got a little coaching from wavexx (an fIcy maintainer) and fIcy seems to be working for me now. It’s been a while since I wrote the original post about fIcy so I’m not sure what my problem was the first time, but wavexx helped me iron it out. 🙂

gplayer: Get loud with the cloud

It seems cloud-based or Internet-heavy tools are the choice of the gods of shuf today, since the second title for this sunny Saturday is a CLI-based interface for Grooveshark, the online streaming audio service.


Like I said earlier this week, I’m in favor of any utility that strips away the worthless scum that coats most Internet services, and I list the noxious, fetid remains of Flash technology among that. So from the start, gplayer wins points for allowing me to sidestep the standard Grooveshark player.

That said, gplayer doesn’t reach the same degree of finesse that soundcloud2000 did. It is worth remembering that what you see in the screenshot is accomplished in approximately 60 lines of code … of course, allowing for the fact that mplayer, that seven-headed-ten-horned beast of media playback, is doing all the heavy work.

It’s still impressive though. gplayer gives you a search function that mimics Grooveshark, returns a list of 20 results, and allows you to cue any of the titles that are listed. From there, mplayer takes over, using its keypresses as controls and its frame progress counter as an onscreen display.

I’ve found a few small incongruities in gplayer, and I’ll note them here just as a matter of record. For one, when a song ends either because it’s over or because the listener gave “q” to mplayer, gplayer never recovers its prompt. I get a dull cursor without any text, and short of pressing CTRL+C, gplayer seems to have stalled.

I don’t think that was the way the author intended, since it would make more sense to me, as a casual user, to either get a new search prompt, a prompt to cue another title, a repeat of the previous list, or just be dropped to the shell. As it is, I’m lost somewhere betweem mplayer finishing and gplayer recovering.

Second, it’s fairly easy to send gplayer into a tailspin over the selection. Any non-numeric character will cause an error, and any out-of-range of numbers will cause an error. It’s just an issue of trapping those entries and preventing gplayer from exploding across the screen.

I can stop there since that’s about the limit of gplayer’s functions. If you’re willing to hold its hand for a little bit, and if you can find a way to cue up several songs in a row, and if you’re a fan of Grooveshark in the first place, you’ll probably find a place in your heart for it.

Oh, and I think the author should follow soundcloud2000’s lead, and subtitle gplayer as “Grooveshark without all the stupid css.” Or maybe “without all the stupid Flash.” 😉

podbeuter: The hidden podcast tool

You’re probably well aware of newsbeuter, one of the best console-based RSS readers available. Outside of that and snownews, there are only trace elements of full-screen, easy-to-configure RSS readers at the console.

What you might not know, and what I didn’t know until Denis told me, was that newsbeuter comes with an integrated podcast downloader tool, podbeuter.


After working with it and newsbeuter for about a half an hour, I walked away from the experience thinking, “Hey, that’s pretty cool.”

Most of podbeuter’s configuration is through newsbeuter’s regular ~/.newsbeuter/config file, the most important option probably being the player variable, which will determine what is cued when you tell podbeuter to play an audio file. For experimentation purposes, I tried mplayer and XMMS (because I’m old school), and both worked fine. I daresay anything that can accept an audio file as a target will work.

Once you have feeds in ~/.newsbeuter/urls, you can enqueue the URLs of audio files to podbeuter’s ~/.newsbeuter/queue file with the “e” command. Once in podbeuter, “d” downloads the file and “p” plays it. Seamless and intuitive, just how I like it.

Visually, podbeuter looks and behaves a lot like newsbeuter, which I understand is meant to look and behave a lot like mutt. I’m fine with that, so long as they both use color. 😉

A couple of suggestions: I couldn’t find a way to move directly from newsbeuter into podbeuter or back again. newsbeuter will jam your URL list into your $EDITOR with “E”, and throw up a help display with “?”, so it seems natural to have some way of switching between the feed reader and the file downloader. Perhaps I overlooked it, but I suppose it’s no great loss to have newsbeuter running in one terminal, and podbeuter sitting in another.

Secondly, podbeuter doesn’t seem to allow you to play files until they are completely downloaded. That might be the distinction between streaming audio and a podcast, but it seems another natural point, particularly when most of the console backends are comfortable with streaming from a URL. It also gives you the chance to stop downloading something, if it turns out to be a piece of garbage.

Aside from those points, podbeuter is a fine piece of work and a worthy addition to the newsbeuter tool. I give it a definite thumbs up. Thanks, Denis. 😉

soma.cli: An alternative solution

I have another console-based interface for soma.fm here, which surprises me, since I didn’t know the station was so popular as to warrant so many specific applications. 😕

soma.cli does something similar to what soma did, but is a little more narrow in its approach. Behold:


soma.cli attempts much the same trick as soma, but without a lot of the (snicker) bells and whistles that soma offered. Pick a number, it starts playing, and you can change or quit from there.

soma also played streams from other sources; I don’t doubt soma.cli could do that too, if you were willing to hotwire it.

mplayer is the backend again, and if you pick through the guts of soma.cli, it too is fairly easy to dissect.

Both soma.cli and soma will rely on your machine being strong enough to push the carcass of mplayer around, and before the 300Mhz generation, that might be a real feat of strength.

soma.cli took a little while to start playing for me; I assumed it was because mplayer was caching but I didn’t really seek out an answer on that. Tell me if you know.

I think that’s all the soma.fm-specific players that I have. And that’s either a good thing or a bad thing. You can decide.

soma: Done perfectly, in so many ways

Waaay back in November, I got an e-mail from Peter mentioning soma, a text-only streaming audio tool. I diligently shuffled it away until the S section, and now I wish I hadn’t.

2014-05-04-6m47421-soma-01 2014-05-04-6m47421-soma-02 2014-05-04-6m47421-soma-03

This is what I really like to see in console applications: Use the tools that are available. Add a dash of customizability. Keep things clean and straightforward. Don’t sell the console short. Allow for others to adjust as needed.

soma, as far as I can tell, really only relies on dialog to handle the interface, and mplayer to do the actual playback.

There are three configuration files, all of which are well documented and easy to figure out. The soma executable itself is arranged in a way that even I could pick through it while troubleshooting. That’s saying something. 😐

soma has some hotkeys and some keystrokes to control volume and playback, and almost everything else is menu-driven. Check out the Scheduler options; that’s a rather good idea to have in an audio player. I’m surprised more don’t.

I don’t see soma in Arch/AUR, or Debian for that matter, but the developer appears to have bundled it for Slackware — so it’s not quite a free-roaming program.

If you have a burning desire to try it out, I decided on the quick-and-dirty way of making it work, by copying the three configuration files to ~/.soma and to /etc/soma (otherwise soma spits out errors) and running it from its unpacked folder, just as ./soma should do it.

I didn’t work with it long enough to get the Mixer or Output options working smoothly; on my system I have only one basic sound card, and I use Openbox’s hotkeys to spawn alsamixer anyway. If you get them configured, let me know how you did it.

I might take some time later today and try to put together a proper PKGBUILD; as luck would have it I’m bogged down with real-life commitments for most of the day, and this is going to be a busy week for me.

I’ll try though. This one gets a ⭐ from me. 🙂

shell.fm: I can give you no guidance

Unfortunately, this is all I have to show for shell.fm, which allows a console interface to Last.fm.


It’s true, I don’t have an account with Last.fm. I have a vague idea what it’s about, but I’m afraid it’s not interesting to me. A lot of things aren’t, though.

shell.fm is in AUR as shell-fm, and there is a shell-fm-git, but it looks like shell.fm hasn’t seen updates in quite a while, so there might be no tangible difference. I only found shell-fm in Debian.

Sorry to be so uninformative. If you’ve worked with shell.fm and can offer more than I, please feel free to make suggestions. It looks intriguing, but aside from what you see above, I can give you no guidance. 😦