どくたーぺっぱーちぇりお

08<< 123456789101112131415161718192021222324252627282930 >>10

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

複数の音楽CDをまとめてmp3に変換するには

※ CDを1枚ずつ挿入して待つのはやむを得ないにしても、
簡単なプログラムを書けば、面倒な作業が楽ちんに出来ますよね。
Linuxで標準搭載されているbashというシェルスクリプトを書いてみました。

1.必要なプログラムのインストール
2.CDをCDトレーに入れて、曲を吸い出ししよう
3.CDリストと曲リストをテキストにまとめてみよう
4.Linuxのコマンドを使ったスクリプトでmp3自動生成
5.考察

1.必要なプログラムのインストール
sudo apt-get install cdrdao mp3splt lame

※ あとtoc2cueというのが必要なのですが、ubuntu 14.04の場合、toc2cueはcdrdaoを入れたら、もう入ってるようです。


2.CDをCDトレーに入れて、曲を吸い出ししよう
brasero
というのがubuntuには最初からインストールされてますので、これをメニュー等から起動し、グラフィカルメニューで
ディスクのコピー → イメージファイル(=.toc)(というのを選ぶ)で名前をつけて保存しています。
1枚ずつの作業が面倒なので、まとめてすべてのCDを保存してしまいましょう。
cdname1.toc
cdname2.toc
...


3.CDリストと曲リストをテキストにまとめてみよう

まず、吸いだしたCDのtocファイルが入ったのと同じディレクトリ内で
list.txt
というファイルを作って保存します。内容はcdの名前で
cdname1
cdname2
...

次に曲リスト(cueファイル)を自動生成しよう。
ここで先ほどのlist.txtというcdの名前ファイルを使って、一括処理します。
以下の7行のスクリプトをcue.shという名前で、同じフォルダに保存します。

#!/bin/bash

fnlist='./list.txt'
file=(`cat "$fnlist"`)
for line in "${file[@]}"; do
toc2cue "$line".toc "$line".cue
done

保存したら、chmod +x cue.sh(あるいはcue.shを右クリック、プロパティで、このファイルを実行する、にチェックを入れる)します。
./cue.sh などとして、これを端末で実行します。すると、cdの枚数ぶんのcueファイルが生成されました。

そして、cueファイルに曲名などを書き加えるスクリプトを作りました。
writecue1.sh

#!/bin/bash

filecue="cdname1.cue"
sed -i -e "1i REM YEARREL 2014" $filecue
sed -i -e "2i PERFORMER \"アーティスト名\"" $filecue
sed -i -e "3i TITLE \"CDのタイトル名\"" $filecue
sed -i -e "6i TITLE \"1曲目のタイトル名\"" $filecue
sed -i -e "7i PERFORMER \"1曲目のアーティスト名\"" $filecue
sed -i -e "10i TITLE \"2曲目のタイトル名\"" $filecue
sed -i -e "11i PERFORMER \"2曲目のアーティスト名\"" $filecue
sed -i -e "15i TITLE \"3曲目のタイトル名\"" $filecue
sed -i -e "16i PERFORMER \"3曲目のアーティスト名\"" $filecue
sed -i -e "20i TITLE \"4曲目のタイトル名\"" $filecue
sed -i -e "21i PERFORMER \"4曲目のアーティスト名\"" $filecue
sed -i -e "25i TITLE \"5曲目のタイトル名\"" $filecue
sed -i -e "26i PERFORMER \"5曲目のアーティスト名\"" $filecue
...

4行目のREM YEARREL 2014 というのは、CDの製作年をmp3にファイルに埋め込むためです。2014の数字をCDに合わせて変更します。
25i 26iなどとなっているのは、ファイルに挿入する行数ですので、6曲目以降がある場合も、規則にしたがってこの数字を増やせば良いです
このファイルをcdの枚数ぶん保存し、実行しました。
./writecue1.sh && ./writecue2.sh && ./writecue3.sh
...

曲のタイトルはレコード会社のCD紹介ページか、amazonなどからコピーすれば良いです。
というかこれ、もっと簡単に出来そう。本当はCDの情報は普通のテキストファイルにし、スクリプトが読み込むようにしたら、1つのスクリプトで全CDぶんを一気に実行出来て良かったような。(いつか必要になれば)

4.Linuxのコマンドを使ったスクリプトでmp3自動生成
ここまでできたら、mp3を作成する準備が整いました。以下の12行のスクリプトを、やはり同じディレクトリに保存して実行すれば、CDのタイトルのディレクトリが自動生成され、その中にmp3が保存されます。

cdripping.sh

#!/bin/bash

fnlist='./list.txt'
file=(`cat "$fnlist"`)
for line in "${file[@]}"; do
mkdir ./"$line"
dd if="$line".toc.bin of="$line".wav conv=swab
lame -b 320 -v -V 2 -q 0 -k --verbose -r "$line".wav "$line".mp3
mp3splt -T 2 -f -o "@n2 @t" -d ./"$line"/ -c ./"$line".cue ./"$line".mp3
rm "$line".wav
rm "$line".mp3
done

(320kbpsの高音質mp3に設定してあるので、音質を下げてファイル容量を減らしたい場合はlame -b 320の数字を128などに変更すればOKです)


5.考察
今回は間に合わせで作ったのですが、とりあえず形にはなったかな。
端末とvim(などのテキストエディタ)で(あと今回はbraseroもか)これだけの事がすぐに出来るって。
Ubuntuは素晴らしいですね。

Windowsだと、こういうのどうやるんだろうね。バッチファイル?パワーシェル?
あるいはCDリストと曲リストを読み込んで、一括処理で何百曲もmp3にしてくれるフリーソフトとかあるのかな。
ど素人の私には、さっぱりわかりませんが、きっと何千円も支払って、適切な有料ソフトウェアを買えば何とかしてくれるのですね。でも有料ソフトウェアを買うほど音楽CDってまだ需要あるのかな。

あっ、そういえば、CDのリッピングは違法になったのだったか。
上記のスクリプトは市販のCDでやらず、内容を自作したCDでやりましょう(ぉぃ
てかCDレンタルって著作権によってコピー料がレンタル料金に含まれてた気がしたが、
あれってもしかして今はレンタルしてリッピングするだけで違法なのかな。
もしそうならCDレンタルも使わないようにしましょうね。
関連記事

COMMENT▼

コメントの投稿

管理者にだけ表示を許可する

TRACKBACK▼

http://doctorpeppercheerio.blog.fc2.com/tb.php/102-06566949

この記事にトラックバックする(FC2ブログユーザー)

 | ホーム | 

プロフィール

だーくちぇりー

Author:だーくちぇりー
名前:darkcherry(だーくちぇりー)
特技:器用貧乏
職業:まぜまぜ屋

QRコード

QR

検索フォーム

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。