「正しい」音楽。 または、MP3コレクションをクリーンアップする方法



動機


habratopikに触発されました



背景


2008年10月に、私はiPhone 3Gを購入し、この夏まで、それをmp3プレーヤーとして使用しました。 iTunesを使用して音楽をスマートフォンにダウンロードする必要性は、最初はかなり面倒でした。 しかし、後になって判明したように、これがキリル文字で書かれたタグを変換することで頭痛の種を救ったかもしれません。 コレクションのアルバムを「マグロ」に追加することをためらわずに、「いじくり回す」ことなく携帯電話でトラックを受信することを常に保証しました。 便利に。 しかし、すべてが終わります。



私はiPhoneを「取り去りました」。 イベントは悲しいです、私はすでにスマートフォンに非常に慣れていて、それなしでは4週間も生き残れませんでした。 iPhone 4が小売店に登場するのを待つことができませんでした(ロシアでいつ登場するか、まったく登場するかどうかは完全に不明でした)。 私の選択はSamsung Galaxy Sでした。このデバイスが気に入りました。 習慣から外れて、iOSの後、いくつかの問題があり、長所があり、短所がありましたが、一般的にはすべてが私に合っていました。



私のお気に入りのトラックで新しいデバイスを「充電」するときです。ここで...サプライズ! 私のコレクションのほとんどは、Androydに移行する準備ができていませんでした。 はい、正確に:これらの同じ「krakozyabry」無数の大群が生まれ始めました。 途中で、別の問題が明らかになりました-かなりの量のアルバムにはタグがまったくありませんでした! どうやら、iPhone上のiPodアプリケーションまたはiTunesは、タグに加えてファイル名を使用していました。 さらに、トラックは私が慣れていた順序でまったく再生されませんでした! コレクションを完全な順序にするには、タグのエンコードをUTF-8に変更し、タグが存在しない場所にタグを追加し、すべてのファイルの名前を統一して、厳密な階層のディレクトリに並べ替えます。



私たちは私たちのものであり、新しい世界を築きます


コレクションの全面的な再編成から始めることにしました。 なんで? 後で明らかになります。 私は、大量処理の利便性のために、コレクション全体が1つの場所にあるべきであるという事実から進めました。 このフォルダ「Music」は、最も容量の大きいハードドライブの1つにあります。 さらに、階層では、論理的には、ジャンルに応じて名前が付けられたフォルダーが存在するはずでしたが、私はこの考えを捨てました。 「Music」フォルダ内に、アーティストの名前またはグループの名前に対応する名前のフォルダを作成しました: 「Cinema」「Time Machine」「A。 ローゼンバウム "" M. Shufutinsky」「Depeche mode」など。これらのフォルダーの中にはアルバム名の付いたフォルダーがあり、できればリリース年までに名前を付けました。 「1984-Head of Kamchatka」「1986-Black Celebration」など同じように。 最後に、ファイル自体がフォルダに落ちました。 私のお気に入りのバンドやアーティストのディスコグラフィーが掲載されたウィキペディアの記事は、この問題に大いに役立ちました。 すぐに、私のコレクション全体が「棚に」配置されました。



UTF-8に変換


明らかに、「krakozyabr」の問題は、キリル文字タグがCP1251エンコーディングで記​​述されているという事実によって引き起こされました。 この「良い」の根は、Windowsの全体的な支配から成長します。 しかし、21世紀の中庭では、UTF-8エンコーディングがすでに広く使用されているため、コレクション全体のタグをUTF-8に変換することで、音楽の再生に使用するもの(mp3プレーヤー、スマートフォン、メディアプレーヤー) Linux、Mac OSまたはWindowsで。 短いGoogleにより、タグを目的のエンコードに大量変換するための最も受け入れられる方法を見つけることができました。 これを行うには、ユーティリティ(またはPythonで記述されたスクリプト) mid3iconvを提供するpython-mutagenパッケージ (Debianがあり、別の名前のパッケージがあるかもしれません)をインストールする必要がありました。 その後、アルバムを含む各カタログでコマンドを実行するだけで済みました(私にとっては便利ですが、 「音楽」カタログではこれを妨げるものはありませんでした)。



find . -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1







CP1251でエンコードされたタグを使用して、mp3拡張子のファイルを再帰的に検索し、UTF-8でエンコードされたバージョン2のid3タグを書き込み、バージョン1のタグを削除します。コレクション全体を処理し、すべてのタグ(UTF-8)をUTF-8に変換しました。 残っているのは、タグが存在しない場所にタグを追加し、必要に応じてファイルの名前を変更して並べ替えることです。 でも何? 答えは再びGoogleで見つかりました: EasyTag



不足しているタグを埋める


最悪の場合は、タグが完全に存在しないだけでなく、「track 01.mp3」という形式のファイル名もあります。 この場合、2つのオプションしかありません。すべてのタグを手動で入力し、それらに基づいてファイルの名前を変更するか、このゴミを捨ててWebでダウンロードを購入します。 コンポジションの名前に従ってファイルに名前が付けられている場合、またはその逆の場合、タグはいっぱいです。 しかし、ファイルは無名です-すべてが失われるわけではありません。 EasyTagを使用すると、フォルダ内のすべてのファイルを一度に簡単に処理できます。 これは、以前に構築されたディレクトリ階層が便利な場所です。ファイルパスとその名前をフィルターで使用し、要素を解析し、それらからid3タグの対応するフィールドに入力できるためです。 設定から始めることをお勧めします:







ファイルを横向きに処理する方が便利です。 アルバムの曲があるフォルダーに移動します-プログラムはすべてのファイルのタグをスキャンし、ID3タグセクションの[全般]タブに表示します。 タグが埋められていない場合、画像はスクリーンショットのようになります。







アルバム内では、2つのタグ(曲名とトラック番号)を除くすべてのファイルが同じであるため、すべてのファイルを大胆に選択し、「年」フィールドに入力して、その隣のチェックボックスをクリックします。 そして、すべてのファイルにこのタグが付加されます。







「アーティスト」、「アルバム」、「ジャンル」など、他のフィールドでも同様です。







しかし、「タグとファイル名スキャナー」を使用すると、さらに簡単にできます。 これは、角が曲がっている緑の葉の形のボタンを押すことで呼び出されます。 選択したファイルのタグを入力するには、「スキャナー」リストから「タグを入力」アクションを選択します。 次に、ツールチップで指定された変数を使用して、フルパスから必要なタグを選択します(整理に時間を費やすことは無駄ではありませんでした!)そして、ファイル名。 緑の葉の形で既におなじみのボタンをクリックしますが、既にスキャナーウィンドウ自体にあります-タグはいっぱいです。







アルバムでの作業が終了したら、ツールバーの「ディスケット」をクリックして行った変更を保存します。







ダイアログで、「残りのファイルのアクションを繰り返す」を選択し、「はい」をクリックします。







ファイルが「名前なし」(「track 01.mp3」または「01.mp3」のようなもの)であるが、タグがいっぱいの場合、スキャナーは希望に応じてファイルの名前を変更できます。 「スキャナ」リストから「ファイルとディレクトリの名前を変更」アクションを選択し、ファイル名のテンプレートを指定して、「緑の葉」をクリックするだけです。







私のコレクションでは、すべてのファイルがトラック番号で始まる番号で始まっていることに気づいたでしょう。 なんで? すべてが非常に簡単です-トラックが正しい順序で進むのが好きですが、さまざまなmp3プレーヤーが神が心に込めてプレイリストを作成します。 それらの一部は、アルファベット順でファイル名を基準として使用し、一部はファイルからトラック番号を読み取ります。 この方法でファイルの名前を変更することで、この小さな問題を永久に取り除きました。



最後に、別のスキャナー操作モード-「プロセスフィールド」について説明します。 アンダースコアタグフィールドのスペースの置き換え、文字の大文字小文字の変更、最初の文字の大文字化などに使用できます。







おわりに


この大騒ぎの結果、音楽コレクションをダウンロードする場所はどこでも、中国のホイッスルプレーヤー、アンドロイドまたはqmmp / rythmbox / amarokを備えたスマートフォン(下線/必要なものを追加)、「正しい」順序で再生されることが保証されます。およびデバイス/プログラムで読み取り可能なタグ。 私もあなたに望むもの! 8)



PS:クールなプログラムを提供してくれたEasyTagの作者に感謝します!






All Articles