Tag Archives: music

ncdt: An interesting evolution

Quick on the heels of tree and ddir, a loyal reader pointed out ncdt, which takes the tree model and adds a small feature or two.

2015-04-19-6m47421-ncdt

As you can see, ncdt adds the size of files and directories as part of its default display. So in situations where it’s useful to see directory structure and size — such as labeling removable media, like CDs — it is probably more useful.

Unfortunately, I see no options to adjust what ncdt shows, so there are no “human-readable” (which I prefer) output flags or the like. What you see is what you get.

ncdt also promises to show “special” data for mp3 files, but the Debian version as well as the version I built on my Arch system from the Debian source package showed nothing. Even the sample screenshot in Debian doesn’t show anything “special” for mp3 files. Hmmm. 😦

It’s possible that there is an added dependency that I don’t have, or perhaps the mp3 files I tried post-date what ncdt is capable of analyzing. I checked the ReadMe and source files, but I got no hints. And the only home page I have for ncdt is the Debian package page above.

No matter. ncdt adds a little to the tree model and could probably, at one time in the past, show a little information about mp3 files. It’s an interesting evolution, even if it still needs some attention to reach fruition.

mpfc: Doing everything so right

Once I knew what mpfc stood for, it made perfect sense — it is, after all, a music player for the console.

2015-04-09-lr-0xtbe-mpfc-01 2015-04-09-lr-0xtbe-mpfc-02 2015-04-09-lr-0xtbe-mpfc-03

And a very nicely done music player too, I might add. You can learn how to handle 90 percent of mpfc within the first 15 seconds of starting it, which is a delightful thing.

The opening screen will cue you to use the question mark for help screens at any point in time, and the available keys are listed with their function in a popup window.

mpfc has a playlist-and-browser approach that might remind you of the good old days of cplay. Pressing “B” puts you into a file navigation mode, and highlighting a file is done with the Insert key — much like Midnight Commander.

Once you have selected a file or two, add it to the playlist with the “a” key, or swap out the playlist for your current selections with the “r” key (for “replace”). It’s very intuitive, and very easy to master.

The playback screen has balance controls, volume indicators, an animated progress indicator and a live-update status display for bitrate and so forth. And as you open popups, a tab bar along the bottom shows your “breadcrumb trail,” in case you get yourself lost in layers of windows. 🙄

And as you can see … glorious, glorious color. :mrgreen:

I really can’t find anything bad to say about mpfc; if I had any warnings or advice, they would boil down to a note that mpfc relies on gstreamer for playback, and to remember that your music filetype will require certain support for gstreamer. It’s a slightly different model than what most players use, but I find no fault.

mpfc is in AUR, but not in Debian. The home page is on Google Code, so if you like it and want to preserve it, you probably should export it to Github so it doesn’t disappear when Google Code shuts down in January.

Oh, I almost forgot — a gold star for mpfc, for doing everything so right: ⭐ Enjoy! 🙂

groove-dl: Jumping the shark

I was tempted to skip over groove-dl because my list of stream ripper tools is starting to devolve into a tool-per-service array, and when things become discrete and overly precise, I start to fall toward the same rules that say, “no esoteric codec playback tools.”

2015-02-24-6m47421-groove-dl

I can’t complain too loudly though, because things like gplayer and soma are past titles that were more or less constrained to one site or service, and suddenly chopping off a portion of The List wouldn’t be fair.

But it wouldn’t be a terrible disservice, since most of what I was able to discover about groove-dl is encapsulated in that screenshot. Follow the command with a search string, and groove-dl will return a list of matches and the option to download a song.

Very straightforward, but also very rudimentary. Beyond the first 10 results, there’s no apparent way to continue through search. groove-dl itself doesn’t have any command flags that I could find; in fact, using -h or --help just pushed those strings through as search terms. Entering a blank line just brings groove-dl to a halt. Entering an invalid character causes a python error message. And yet entering a number beyond the list (like 12 or something) starts a download of some unidentified tune that matched your search, but wasn’t shown on screen. Go figure. :\

groove-dl will allow you to pick multiple targets though, and does use a generic but informative download progress bar to follow your selections. I can’t complain about that. And I see that there is a graphical interface, and it may be that there are more functions available to you from that rendition, than in the text-only interface.

But overall, with such a narrow focus and a narrow field of options and wide array of ways to confound it, I think there might be other, better utilities around for pulling tracks from Grooveshark.

groove-dl is in AUR but not Debian. If you try to install it, you’ll also need python-httplib2, which wasn’t included in the PKGBUILD. Happy grooving. 😉

emms: Your one-stop text editor, music player and operating system

I suppose it had to come to this:

2015-02-05-l3-b7175-emms

It’s emms. It’s emacs, playing music. Because emacs can check your e-mail, run a spreadsheet, chat with your friends, read your newsfeeds and now play your music.

Because it’s emacs, and that’s what it does — everything. 😉

I will not speak ill of emms since it’s doing exactly what it claims it will do. But I will hint that mplayer is running in the background while emms “plays,” which says to me that the heavy lifting is accomplished elsewhere. (I believe it can use other player tools too.)

It does manage playlists and control the actual playback, so I give it credit for that, and doing it from within another application. Given that you can navigate emacs to start with (note for future self: M-x then emms-play-directory 😉 ), it shouldn’t be difficult to handle.

And emms is not terrifically new, and is in both Arch proper and Debian.

It’s interesting that by this point, if you could get all five or six of those other tools working, you’d have an entire “desktop” ecosystem in place, and in ostensibly riding upon one program. And if you can rig your whole machine to run emacs on the kernel, you’re golden.

Like I always say though, I’m not enough of a fan of emacs (or its main competitor, which shall go unnamed) to see this as much more than a nifty gimmick. If you’re already an emacs user, you might be able to slim your list of applications by one or two, if you adopt it. Have fun. 😉

P.S.: Thanks to Greg for pointing it out. 🙂

meterec: A halfhearted endorsement

Next up is meterec, which brands itself as a multitrack audio recorder based on the JACK sound structure.

2015-01-17-l3-b7175-meterec

I must also hold out a rather weak thumbs-up for this one, mostly because I had serious difficulty getting this to work against JACK in both Debian and Arch, but also because audio recording at this level is far beyond my skill set.

I have a very basic understanding of the needs and use of recording enthusiasts, but aside from pressing “play” on a CD player, I don’t have much musical ability.

Which means that the world of audio recording is mostly foreign. I have a stronger understanding of playback (I was once a rabid audiophile) but nothing to clue me in on how to use meterec.

In fact, what you see in the image there is just the Debian version running its interface demo, and I don’t think anything was actually accomplished there. The Arch version was likewise puzzling to me, and again I have bumped up against my time limit for exploring software intricacies.

I like that there is an interface, and from what I can tell by pressing random buttons, it seems well behaved. There are mute, pass-through and looping features all listed in the --help summary, so you shouldn’t need too much prodding if you know what you’re doing with a multitrack session recorder.

I, on the other hand, am just a babe in the woods when it comes to this type of software. And add to that my unfamiliarity with JACK, and my lack of any real musical talent, means it may be a very long time before the intricacies of meterec are clear to me.

Then again, there’s no time like the present. … 😐

id3ren: Unfortunately, this will be brief

My posts will likely be rather sporadic in coming days; the real-life issues that cropped up last week have spilled over into this one, and until I can get to a solid period of free time, I’m afraid I’ll have to keep things quick.

I do have id3ren for today, which is a command-line music file tagger in the vein of mp3rename or mp3rename or … well, let’s just say there are many in this style.

2015-01-13-l3-b7175-id3ren

Invoke id3ren, add a flag and target the files. Simple and clean. 😉

I was a little surprised that id3ren didn’t seem to have an -h option to show its flags, but the man page for id3ren will list the full array available. Most of them appear to be what you might expect, but I’d suggest looking for some of the “shortcuts” that I saw, which should streamline some of the most popular functions.

The home page above didn’t work for me, but id3ren is in Debian, so the source code is still available if you want to build this in a different distro. I’m afraid I didn’t have enough time to tinker with it in Arch, and I didn’t see a PKGBUILD for this in AUR.

Sorry to be so brief; I’ll try to carve some time out of the days to come, and properly approach the next titles. 😐

btag: Action-interaction

I failed to make a note of who submitted btag as a console-environment audio file tagger, and I apologize for that. I do try to give credit where and when it is due.

2014-01-04-jsgqk71-btag-01

As you can see, btag works in an interactive fashion by default, stepping through audio files one by one and allowing you to edit or delete the embedded data. In the example above, btag confined itself to tags which had existing data, and will confirm your adjustments when it reaches the end of the list.

btag also handles some passive editing, to include case adjustments or language specifics. This I like a lot, since it means you don’t have to manually edit every file in your collection just to adopt title case folder-wide.

btag also allows for renaming files by their tag data, again as a command-line option, and a long list of other conversions or adjustments. The author mentions a desire to stack btag against some of the things EasyTag can do, and for the most part, I think he has covered it.

I see btag is in Debian, but not in Arch nor AUR. If you’re looking for a low-maintenance program to contribute to the Arch user base, this might be a good one.

I can’t find a lot of faults with btag that are worth mentioning, or aren’t tiny nitpicking points of display or arrangement. I’m sure btag can handle 90 percent of the naming/renaming/tagging/retagging tasks you might have for your collection, with a varying degree of ease and efficiency.

In that way, I can give it a thumbs-up, but I probably won’t adopt it on my own systems. I feel like btag is one step shy of a proper EasyTag replacement, but doesn’t make the final leap to a full-screen console application, perhaps like stag, cursetag or even the onboard editor in ncmpcpp do.

In that way I rank it alongside things like bashtagger, id3tool or id3ed and some others, which are viable and useful tagging options … but lack the extra “kwan” to draw me to their camp. So mote it be.

mps: Not unlike its brother

I was sorely tempted to gloss over mps, because I mentioned mps-youtube way back in September. But I’ve spent a short time with it and I think it’s worthy of mention in its own right.

2014-12-27-jsgqk71-mps

mps sticks very close to mps-youtube in terms of operation and playback; enter a search term at the startup and mps will show a series of results. Cue the number of the track and mps feeds it into mplayer (or mpv), and the standard keys and controls are available to you.

The home page for mps suggests it can also create playlists, search for single tracks or through album lists, download tracks as well as stream, and a few other nifty tricks.

The home page also says the program works with python 2.7 and 3.3, but does not require any python dependencies. I’m a little fuzzy on that, but as a general rule of life, I subscribe to the principle that less dependencies is better.

I’ll keep this short since much of what mps does is similar to mps-youtube, and rehashing the features of one isn’t necessarily an endorsement of the other. If you liked the way mps-youtube worked — and I did, quite a lot as a matter of fact — mps is going to be familiar and enjoyable. Try one, try the other. 😉

juke: Just a little more than the bare minimum

At the absolute minimum, you could expect to get sound playback out of your computer simply by tacking on file names and a few oddball flags to something like mpg123 or sox.

It’s not ideal, and it lacks the grace and dignity of a proper console application, but it will work and there are plenty of similar tools that can do it. So even in a worst-case scenario, you have your tunes.

In that sense, juke doesn’t offer a whole lot over those programs, either in terms of an interface or playback controls. In fact, juke is really only doing the tiniest bit over the bare minimum.

2014-12-24-jsgqk71-juke-01 2014-12-24-jsgqk71-juke-02

juke takes on a two-screen approach that might remind you of cplay or its kin. By default juke starts in a browser mode, showing files that you can add to a playlist with “a”, or navigate with HJKL or arrow keys.

Once you add a tune, it immediately starts playing. Press “t” to switch to the playlist view, and your navigation keys will again allow you to move through queue. If you need more help than that, press “h” and juke is kind enough to give you a rundown on key commands. There aren’t many to learn.

I made the point about juke offering very little over a command-line playback tool because juke is really just a frontend for mpg123 or sox. So you might find that it’s only the tiniest improvement over tacking filenames on to those programs.

juke adds a small layer of obfuscation as well. juke won’t start without a .juke.conf file in your home directory, but there’s no sample, and you need to copy-and-paste one out of the MANUAL file in the source tarball (it’s not terribly confusing).

juke also seems to also require a target directory, in the same way as ksmp3play or muzikq. I won’t split hairs here: That style is obtuse for me, and all the more so since juke is prepared to navigate through directories to find music files. So why not just start in the directory where the executable was issued? :\

juke is also not particularly beautiful, and aside from tagging files with a “q” when they are added to the queue, not a whole lot happens visually.

There’s also no time display, no obvious controls for playback except to skip titles, and no indicator that playback is started, unless you can hear it playing. I would strongly recommend you don’t use juke to troubleshoot your audio hardware. 😦

juke has two small positive points that I can find: It’s written in C, and that means it’s fairly light. Neither of those makes up for juke’s extremely lackluster performance though.

If you clicked on the link above, you already know the home page 404s. The source code for juke is in the Debian repos, and I was able to build it in Arch and use juke without issue. Oddly, the Debian rendition would install through the Mint repos but wouldn’t play back any sounds for me.

No major loss. I don’t think juke is a particularly fantastic audio playback tool, but I suppose it could hold its charms … if you’re looking for one step above the absolute minimum. 😐

bashtagger: Joining the coalition party

I eagerly await the arrival of the console tool that replaces EasyTag on my system — even more so now than I have for the past five or six years, because EasyTag took it upon itself to make the leap to GTK3, and now splatters my screen with all kinds of ungodly ugliness. 😳

I’ve come close, with both stag and cursetag, and my hope is that the prophet appears soon who will herald the arrival of the chosen one. I did get another tip from hakerdefo that bashtagger might be close, but I’m withholding my endorsement until the miracles can be verified. 😉

2014-12-19-jsgqk71-bashtagger

bashtagger works in a menu format, allowing you access to tag information in flac or ogg files (no mp3, which suits me fine). You can set and erase tags over single or multiple files at once, and most every interaction is done through a line-editing prompt.

Color use is good, and the menus are exceptionally easy to navigate. In fact, the only difficulty that I had with bashtagger was its preference to run from the same directory as its target files. I am not sure why my attempts to feed it a target directory were turned down, but it was easily sidestepped by moving the script to the same folder as the files.

bashtagger does allow for a configuration file, and apparently that’s where the options to rename files based on their tags must reside. I tried once or twice to rename music files according to their internal tags, but the results I got were different from what I expected. I will take responsibility for those errors though.

By my experience, bashtagger lacks the one small feature that might rank it with things like stag or cursetag — the ability to reverse the rename function, and fill tag data based on the file name.

It’s a bit of an oddball feature, but it’s the one I look for as a sign of a true believer. I looked long and hard at bashtagger, but I don’t think it includes that feature, which makes me sad. If I have overlooked it, please help me.

bashtagger does seem to streamline the omnipresent console tools that can fill data or erase tags via command-line flags, which I count as an improvement. I’d like for it to make the last remaining steps toward the few features it doesn’t yet have, but I am patient.

The collective irony is that between these three — stag, cursetag and bashtagger — and the built-in tagging tool in ncmpcpp, EasyTag might no longer be needed. … 😕