At 10:04 AM 4/15/2005 -0500, James Miller wrote:
Among various frustrations recently I've had the gratifying success of learning how to use streamripper to augment my music collection. Streamripper is a program that writes an audio stream (e.g., from internet radio) to your hard drive as an mp3 file. This is about the closest thing to the mythical "Rivo" (Tivo for radio) that currently exists, I think, and could maybe serve as the basis for a *real* Rivo-type program, should someone really decide to develop one.

From looking at the streamripper writeup in the Debian packagins system, I'd say this is less likely than you think. It says the app is limited to MP3 and OGG streams, and these seem to be sonsiderably less popular, with streaming sources, than WMA, RM, and Shoutcast.


Despite the success, there are some problems--mainly having to do with file names. I've found a nice commercial-free classical (Baroque) station and have been happily recording away for the last 24 hrs or so. The streamripper program was evidently written for rock or more popular genres and tries to detect breaks between songs so as to make discrete files from them. For whatever strange reason, it has a problem detecting beginnings and endings between movements in classical music (despite the noticeable pause) and wants to break between movements about 30 seconds into the next movement, rather than at the pause. The cat command seems to fix this, though:

cat movement1.mp3 >full-piece.mp3
cat movement2.mp3 >>full-piece.mp3
cat movement3.mp3 >>full-piece.mp3

The breaks at 30 seconds into the following movement are hardly even noticeable in the full-piece.mp3 (I don't have the kind of purist standards I used to when it comes to audio quality, though).

But, on to file names. unfortunately, the names for the pieces I'm recording from this station follow Windows long-file-naming conventions. Even worse, the names tend to be quite complex and long. Here are a couple of examples:

Anton\ Reicha-\ Albert\ Schweitzer\ Quintett\ -\ Wind\ Quintet\ No.9\ in\ D\ major\ Op.91\ No.3-\ Finale-\ Allegretto.mp3

Patrick\ Cohen\ \&\ Mosaiques\ Quartet\ -\ Quintet\ For\ Piano\ \&\ Strings\ In\ D\ Major\,\ Op.56£¯5\,\ G411\ -¥².\ Andante\ Come\ Prima.mp3

Feeding those names to cat so I can join the movements into a single file is going to be a major pain in the wazoo, as they say down at symphony hall.

Yeah. This is the sort of setting where point-and-click GUIs really show their strength. Windows copes with this sort of gobbledygook just fine, and I imagine the heavy-duty Linux GUIs, like KDE and Gnome, do too.


What I was hoping to find is a script that would automatically convert all the wierd characters into more standard Unix file-naming characters. But so far I've come up empty-handed. Can anyone point me to some utility that might do what I need?

OK. A couple of thing to try ... one candidate app plus 2 workaround possibilities.


1. See if the app "mp3wrap" (that's the Debian-Sid package name) helps in any way relevant to your problem.

2. Consider using playlists rather than joining the files. If you use xmms for playback, it has a deccent GUI for creating playlists, and it has no problem with the "weird" characters. (This naming standard is also a problem for those of us who rip our own CDs to our hard drives as well, and xmms plus playlists has always handled it for me.)

3. TAB completion is your friend. Using your first example, I bet something close to "Anton<TAB>" would complete that entry on the command line. From the examples you provided, I can't back out where the movement differentiators are in the names, but such things are typically at the end of the name, so you might have to entry just a couple of additional characters to complete.

As to actually changing the names ... the problem is that there is no "Unix-friendly" standard for naming music files; the one you are seeing has pretty much been adopted universally, at least in the MP3 world (probably due to the standardizing influence of the CDDB servers, but that's just a guess). I know of no off-the shelf script to convert, probably because there is no consensus target for what to convert *to*.

A less targeted solution *might* be to try the app "mmv". (It's just amazing what oddities are lurking around in the Debian packaging system.) I haven't used it myself, but from the writeup, it might offer you some help ... though you'll still have to define your own naming convention, so a custom script (see below) may be about as easy.

As a last resort, I might try to write my own script. I'm not too hot on doing that though, since I'm at an extremely rudimentary level when it comes to script writing. If it comes to that, could someone maybe help me get started by giving an example for a script that would do the renaming I want? I'd like to retain the bulk of the information, though I don't mind truncating words at, say 5 letters. I suppose the main thing would be replaing all the spaces and/or punctuation with dashes and/or underscores.

Or just omitting spaces (that's how I name my video files, and the result is pretty readable if you are strict about capitalizing every word). Aside from spaces, the things you need to get rid of are, almost always, ampersand (&), comma (,), and apostrophe ('). Maybe tilde (~) too. Your examples above show a couple of truly weird characters (like the English pound and Japanese yen symbols, which I don't even know how to type in here), so you may need a bit more capability than this.


This sort of script wouldn't be too tough to write in Perl, just using a few tr commands plus the commands to read and mv file names, and probably a shell script wouldn't be much tougher. If I have time later, I'll try to cobble something together to serve as an example.

Thanks, James

Do let us know what solution you end up with ... this is an interesting problem.


Closing thought ... take a look at

        http://www.classiccat.net/

for another way to acquire (legitimately, as far as I can tell) free MP3s of public domain classical recordings. Or try Google; there seems to be a lot of this stuff around.


- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs

Reply via email to