ウォークマンの320kbpsは重いので128kbpsに変換したいだけです。もちろん、ここでは0.5GB 320kbpsのアルバムは30分かかるので、8GBをすべて変換するのは非常に長いでしょう。 3GBを変換するのに6時間待つことはできますが、5GBがすでに128kbpsになっているため、8GBすべてが128kbpsから128kbpsに変換されるのを待つことはできません。したがって、ここでの質問は、UbuntuにWALKMANの[〜#〜] only [〜#〜] 320kbpsファイルを強制的に変換させる方法ですか?
指定したビットレートを超えているすべてのmp3ファイルを見つけて、それらをより低いビットレートに変換する方法は次のとおりです。実際のトランスコーディングにはクレメンタインまたはスクリプトの2つのオプションがあるため、開始する前に必ず最後まで読んでください。
いくつかのパッケージをインストールする必要があります:
Sudo aptitude install mp3info clementine lame gawk findutils
すべての音楽ファイルとそのビットレートのリストを作成するには、/ path/to/your/musicを適切に置き換えた後、以下を実行します。
find /path/to/your/music -iname '*.mp3' -print0 | xargs -0 mp3info -rm -p '%r:%F\n' > transcode.kbps
ファイルtranscode.kbps
を見て、次のようになっていることを確認します(bitrate:filename):
128:/path/to/your/music/dir1/file.mp3
256:/path/to/your/music/dirX/fileX.mp3
320:/path/to/your/music/dirY/fileA.mp3
これが良さそうな場合は、このawkコマンドを実行して、指定されたビットレートより高いファイルのみを含むプレイリストを作成します(ビットレートが160を超えるすべてのファイルがm3uプレイリストに配置されます)。
awk -F: '$1 > 160 { print $2; }' transcode.kbps > transcode.m3u
ファイルtranscode.m3u
をチェックして、問題がないことを確認します。良いときは、トランスコードする準備ができています!
トランスコーディングが完了するのを待ちます。
少なくともUbuntu 10.04でClementine 1.2を使用してClementineを使用する場合の主な問題は、古いファイルと一緒に新しいファイルを作成することだけです。音楽プレーヤーが接続されている場合、Clementineを使用すると音楽プレーヤーに直接トランスコードできると思います。
変換したいファイルはすでに音楽プレーヤーにあるので、新しいファイルがプレーヤーをいっぱいにする可能性があるため、問題が発生します。
これは、transcode.m3u
をlame
で処理してファイルをトランスコードし、古いファイルを削除するのはかなり簡単なスクリプトです。これをtranscode.sh
という名前のファイルに保存します。
#!/bin/sh -e
# transcode.sh -- read filenames from standard input and transcode files
while read file
do
if lame -h "$file" "$file.new"
then
mv "$file.new" "$file"
else
rm -f "$file.new"
fi
done
これで、次を実行できます。
sh transcode.sh < transcode.m3u
スクリプトはすべてのファイルをトランスコードし、lameによって新しいファイルが正常に作成されるたびに古いファイルを削除します。
Transcode.shスクリプトのlameコマンドパラメータを編集して、他の任意のトランスコーディングパラメータを実行できます。