Tag Archives: music

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. … 😕

aylet: Sounds across the Spectrum

I never had a ZX Spectrum. I never had a *00-series Atari computer either. I spent my formative years in front of a C64, as I have oft mentioned, and so a lot of the developments or innovations on other hardware is a little lost on me.

I can appreciate attempts to preserve the musical artistry of a generation or architecture though, so aylet is interesting to me.

2014-12-13-6m47421-aylet

So if the genius of the General Instrument AY-3-8910 sound chip escapes my appreciation, aylet is still fun to work with.

This might look a little like stymulator to you, and that was the first thing I thought of when I saw it. I didn’t take the time to dig through the history of aylet and stymulator, but it may be that they share the same author or code tree.

Key controls are on the screen, with switches for track control and a few other options. aylet may not be as visually attractive as some other players, but it knows its audience and does not disappoint.

aylet is in Debian but not in Arch/AUR; I compiled what you see there with the original source code from the Debian package page and had no problems. I needed alsa-oss again to keep it working with “modern” sound arrangements though. 😉

Oh, I almost forgot: You’ll need some sound files, of course. Start here and see what you can find. I am sure there’s something in there that will trigger the nostalgia region of your brain. 😉

bpm-tools: Music and … stuff

I think I might have mentioned in the past that I have an amazing, amazing lack of musical ability. I count myself lucky in some other departments, but talent with music is not one of them.

So I’m going to take it on faith that when bpm-tools tells me there are 94.196 beats per minute in Revolution Void‘s “Invisible Walls,” it’s telling the truth.

2014-12-08-6m47421-bpm-tools

Because to be honest, I’d be at a real loss to prove it wrong. 😦

I don’t have any real reason to doubt bpm-tools, even if the home page is a little vague on the exact formulas used to analyze a particular track. I’m sure if you dip into the source code, all will be revealed.

Of course, even knowing how it goes about its calculations wouldn’t do me much good, since tempo analysis is probably something that … well, requires knowledge about … music and … stuff. Which I have already admitted I don’t have. :\

bpm-tools includes the bpm executable, and comes with a tagging utility so you can insert the results of the bpm executable into a file, for future reference. If you moonlight as a DJ from your Linux admin job, it might make things easier when looking for interlocking tunes.

bpm itself built perfectly for me in Arch, and I only touched up the bpm-tag script so it would access the executable in the same directory. Other than that, bpm-tools was a completely hands-free experience.

bpm-tools is in Debian for Jessie. There is a PKGBUILD in AUR that will hold your hand while you build bpm-tools, but doesn’t seem to take into account that sox is necessary to make it run. And if you want to draw on the tagging feature, you’ll need the appropriate library to support that (vorbis-tools for ogg files, just so you know).

stag: A good find, and a good tool

I got an e-mail from hakerdefo last week with a link to stag, which is an mp3/ogg/flac tag editor for the console, and this one is quite interesting.

2014-11-06-9brnr91-stag

I sense a lot of potential here. It seems to have all the requisite parts — a tree browser, a list of files to edit and a panel of tag data, all connected via the TAB key.

To get you started with stag, remember that the directory panel in the upper left only shows folders. I was stuck for a little while wondering why stag couldn’t “see” the files in a folder, until I realized it was expecting me to press the spacebar over a folder to add all the files in it.

Do that, and the files will appear in the right panel, as candidates for editing. Press TAB to bounce to the right, and you can again navigate up and down again with the arrow keys.

Now pressing the spacebar marks a file for editing, and you jump straight to the bottom panel and the available tag info with ENTER. If you press ENTER on a selected tag, you’ll be able to edit it along the lowest line of the screen, and press ENTER to submit it to that file.

You’re not done yet. Press TAB twice more to navigate back to the file window, and press “s” to save one file, or “w” to write them all to disk. And your work should be done.

I am thrilled with stag because it can handle editing more than one tag at a time. If you use the spacebar to highlight more than one file — or use the slash with a regex string for more control — then enter the info panel, differing tag info will disappear, and matching tag info will remain in the display.

Edit anything you like down there, and the information is held for all the files that are selected. Tags marked with an asterisk need saving. Write the files all out again, and you have multi-tag editing, in a nutshell. 😀

From there it becomes a quick matter to mass-correct or mass-fill music tags, correct dates or misspellings, or just about anything you could want to do.

There are a couple of things I’d like stag to do, and hakerdefo mentioned one or two of these as well:

  • Mass-erase specific fields, or even erase an entire tag, down to nothing. Sometimes that’s necessary. 🙄
  • Read tags from filenames and apply them as tag data. Some CLI tools will do this, and it doesn’t seem like a huge task.
  • Read tag data and apply it as filenames. Again, some CLI tools can do this, so it can’t be too preposterous.
  • An acknowledgment that files have been written to disk. As it is the cursor jiggles over a little, but no other visual cue that your changes have been applied.
  • Offer some sort controls over the file panel. If you were to open a giant folder of mixed files, you’d never find what you were looking for. Similarly, I have a tendency to look for particular things in order, and it’s weird to see things scattered out of sequence, like they are in that screenshot.
  • Color, and this time it just makes sense to me. You have three panels with a selection bar that bounces between all three. Adding color to each panel would make things easier to spot, and make the selection bar stand out dramatically.

I’m very pleased with stag, mostly because I think it has the potential to fill the gap at the Linux console for a proper, fullscreen tag editor application. It has a little way to go before it stands up to something like EasyTag, but I sense the Force is strong with this one. 😉

cuse: For this, I shall recuse myself

I have spoken previously on my lack of musical skill or talent, and it has come back to haunt me again with cuse.

2014-11-06-2sjx281-cuse

cuse is a midi sequencer written completely in ncurses, with a fantastic colorful interface, drop-down menus, load-and-save functions, horizontal scrolling on playback, pop-up dialog menus, a slew of track functions and specific controls … almost all of which is completely lost on the vulgar, like me.

Add to that my meager luck with midi applications — I think timidity++ was the only thing midi-ish that has ever actually worked for me — and you can see why I should probably sit this one out.

I’m impressed though, even if I don’t know what I’m doing with cuse, or how to use it properly. If you have more experience with it or can offer some basic advice to a noob like me, I’d be happy to get it.

For the mean time, I’m content with lots of color, a fullscreen and full-width display, easy-to-navigate menu access, nifty peak level animation, steady horizontal panning and a slim running profile. I shouldn’t need to know how to use it — all that is more than enough to keep me happy. 🙂

cuse is in AUR and will require libcdk as a dependency; the cdk version I got out of AUR was out-of-date, but just needed a version correction and updated integrity sums before it would build. cuse itself gave me no problems.

I don’t see this in Debian. Come on, Debian! Let’s get going here! 😉