Amazon MP3 のリネーム

自分は完全にCD世代、というか子供の頃はレコードだったのだが、流れに流されAmazonでMP3を買うようになった。

携帯だけでもよかったが、家のステレオでも聞きたいな、と思った矢先、ファイルをコピーできることを発見。ただ、ファイル名がなんだか不思議な命名規則

例:

BAND-MAID/Just_Bring_It/B01N2W94BO_(disc_1)_05_-_CROSS.mp3

意味不明のアルファベットと数字、たぶん複数ディスクのうちのいくつ目か、トラックNo、曲名、.mp3 こんな並びだろうか。聞くにはOKなのだが、家のステレオのプレイヤーには文字が多すぎて曲名が出てこない。

これを、トラックNo.と曲名にできたらいいのに。

すでに2GBほどダウンロードしており、いっぺんに変えられないかと思案していた。

 

そうだ、Perlだ。

 

もう20年前によくスクリプトを書いていたのだが、必死でググって書いてみたのが以下。ActivePerlでwindowsでやってみた。

 

#!/usr/bin/perl
use strict;
use warnings;

my @artlist=glob("\.\/*");
foreach my $artn  (@artlist){
  print $artn ."\n";
  if (-d $artn) {
    chdir($artn);
    my @alblist=glob("\.\/*");
    foreach my $albn (@alblist){
      print $artn.$albn."\n";
      if (-d $albn) {
        chdir($albn);
        my @songlist=glob("\.\/*.mp3");
        foreach my $songn (@songlist){
          print $songn."  ";
          if ($songn=~/(\_)(\d{2})(\_)(\-)(\_)(.*)(\.mp3$)/) {#正規表現でトラックNo以降にマッチ

#(_)(数字2文字)(_)(-)(_)(任意の文字0文字以上)(.mp3)でマッチする部分を拾う
            my $songnn=($2).($3).($6).($7); #マッチした部分から、トラックNo、アンダースコア、曲名、MP3の拡張子を拾い出しつなげる。
            print "-->".$songnn."\n";
            rename $songn,$songnn ; #名前変更。
          }else{
          print "\n";
          }
        }
        chdir("..\\");
      }
    }
    chdir("..\\");
  }
}

globでディレクトリ内を走査し名前を拾い上げ、各々のディレクトリを下っていくループがメインになってしまったが、肝はコメント部分。前述のファイル名構造に沿って正規表現を括弧で区切って書くことと、区切ってマッチした部分を切り出してつなげて新しいファイル名にするところ。

実行すると、先ほどのファイルは

/BAND-MAID/Just_Bring_It/05_CROSS.mp3

となり目的達成。

すぐ忘れるから備忘録として置いておく。

 

 

auの思い出

今日、携帯電話を解約した。やめたわけではないが(そんなことできないし)、auからMVNOへ乗り換えた。正確には手続き中だ。

MNPの番号を貰うとき、電話の向こうで受付の男性が、「17年間、ありがとうございます」と言った。

そうか、17年も使っていたのか。

 

もう20年以上も前だが、学校を出て就職したのは半導体の設計子会社。高周波のアナログICをやっている部署に配属された。そこで当時有望視(本当にそうだった)されていた携帯電話のICを作っていた。当事者にもかかわらず「中の人」だと自分勝手にも思い込んでいた自分は、携帯電話は営業の皆さんが外でばりばり使ってお仕事を楽にするもんだとの、訳のわからない持論から、携帯電話を持たなかった。

20世紀も終わりを迎えた頃、周りの人が皆携帯を持ち出して、取り残され感が出てきてしまったため、いっちょ買うか-、と、会社帰りに携帯電話屋に寄った。

それが2000年の3月か4月だ。武蔵小杉から元住吉に歩いて行く間に、当時IDOの携帯屋さんがあったので、そこでSONYの「クルクルピッピ」の携帯を買った。

自分の作ったICは、とある事情でCDMAの携帯には乗ることは無かったが、技術的に進んでいるのは明確なので、買うには迷いは無かった。”Digital By Qualcomm”の刻印に悪態をつきながらも、畏敬の念も持っていた。

そのうち、IDOとDDIとKDDが合体してauになった(会社はKDDIらしい)。なかなか通話が切れないし、有線と同じような品質なので、キャリア変えは考えられなかった。

時が過ぎ、3Gでパケット定額プランを使っていたが、月5000円くらいでも満足度は高かった。音楽のダウンロードが携帯でできることはすごい(今思い出すと笑ってしまうが)と思っていた。

携帯水ぽちゃを機に、スマホにしたのだが、京セラのURBANOは酷かった。着信してバイブも鳴っているのだが、端末がスリープ画面から復帰せず、応答ができなかった。着信10回に1回はそのような動作不具合になった。アップデートで改善しないのかと待っていたが、修正しようとする気は全く無さそうだった。1年で変えた。

富士通のArrows Zはとても優れた機種で、3年使ってても全然便利なままだ。そうなんだが、時間が経つと流石にアプリの整合性が保てなくなってきているようで、今年に入って文字入力が異様に遅くなったり動作がおかしくなり始めた。極めつけはMy auが「問題があり終了します」で落ちてしまい、見られなくなることだった。

それもあるが、auは2年縛りで、2年の間だけ割引がある。はじめの2年はお得感があるのだが、2年経つと急に請求額が上がる。もちろん当たり前なのだが、毎回そのタイミングで機種変更をする元気が無くなってきた。古い機種を使い続けていたが、毎月通信量は3GBほどなのに、いろいろ合わせて7000円も取られると、やってられんなー、ということで、機種を変えるついでにキャリアも変えることにした。

いまいち残念に思うのは、MNP申し込んでも料金が日割りされないこと。今月また7000円払うことになるので、急がず月末にすればよかった。どういうわけか、違約金を払うので、結構高くついてしまう。

などと、ほかにもいろいろ思い出すことはあったのだが、長くなってしまったので、おやすみなさいです。

おお!できた!

なんとなくの感想だけど・・・・

例えばCaffe(バークレイのやつ)とか、Pythonのコードサンプルとか、Googleで検索していると、hatenablogに書かれているものがよく出てくる。

いままでなんとなくブログを書いていたが(それも年に一度の更新くらいだが)技術的なものはhatenaがいいのかなと思って、開設してみた次第。

 

技術的になるかどうかは不明。そもそも、50近いおっさんの語る技術が、今の時代にどれほど役に立つのかは疑問だし。だから思いついたままを書いてみることにする。

 

ということで、よろしく。