public inbox for linux-newbie@vger.kernel.org
 help / color / mirror / Atom feed
From: Ray Olszewski <ray@comarre.com>
To: linux-newbie@vger.kernel.org
Subject: Re: convert windows file names
Date: Fri, 15 Apr 2005 09:48:46 -0700	[thread overview]
Message-ID: <5.1.0.14.1.20050415091414.02008e58@celine> (raw)
In-Reply-To: <Pine.LNX.4.61.0504150930530.5717@localhost.localdomain>

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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

  parent reply	other threads:[~2005-04-15 16:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-15 15:04 convert windows file names James Miller
2005-04-15 15:15 ` Flemming Greve Skovengaard
2005-04-15 16:37   ` James Miller
2005-04-15 17:16     ` J.
2005-04-15 18:17     ` Flemming Greve Skovengaard
2005-04-15 19:29       ` James Miller
2005-04-15 15:39 ` Peter
2005-04-15 16:48 ` Ray Olszewski [this message]
2005-04-15 18:49   ` James Miller
2005-04-15 18:00 ` chuck gelm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5.1.0.14.1.20050415091414.02008e58@celine \
    --to=ray@comarre.com \
    --cc=linux-newbie@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox