スポンサーサイト

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

【同じタグを付けた記事の一覧】

iTunes から CD 情報を取得し cdplayer.ini に出力するスクリプト

2010年01月24日(日)00時20分

 

Exact Audio CopyGracenote を使う

現在、音楽ファイルの管理体制を変更しようかと思案中であり、それゆえに手持ちの CD のライブラリ化も絶賛停滞中なわけですが、少なくともソースファイルとして「wav + cue」を保管しておくというのはほぼ決定事項としてなっておりますので、まずこの作業を進めていくことにしました。
で、Windows PC でこの作業を行うに当たって、おそらくスタンダードなのは Exact Audio Copy を使うことだと思われるわけですが、Exact Audio Copy は CDDB として Gracenote を使うことができません。
そこで Exact Audio CopyGracenote を使うための方法として、よく紹介されているのが、まず Player という CD 再生ソフトをインストールし、この PlayerGracenote から CD 情報を取得して「cdplayer.ini」に出力、その後 Exact Audio Copy で「データベース → CD 情報を取得 → CDPLAER.INI」を選択して情報を取り込む、というものです。

iTunes から cdplayer.ini を生成

しかし、考えてみれば「cdplayer.ini」はただのテキストファイルで、Gracenote からの CD 情報は iTunes でも取得しており、そして iTunes には外部からスクリプトでさまざまな機能を利用するための仕組みが備えられています。
であれば、CD 情報を取得し「cdplayer.ini」に出力するためだけに、わざわざ一つ新たにアプリケーションをインストールせずとも、iTunes から「cdplayer.ini」を生成すればいいのではないか?と思いスクリプトを書いてみました。

PC に詳しい方へ

「使い方」にスクリーンショットを多用しているため、見た目は長くなっていますが、基本的には「iTCDini.js」を右クリックで「対象をファイルに保存」し、実行するだけです。
ページ末尾にはタイトル等に UNICODE 文字が存在してもエラー終了しないバージョンを追記しました。
また「管理は iTunes でしており、Exact Audio CopyLAME でエンコードするためだけに使う」ということであれば、「iTunes(Win)で高音質なLAMEのMP3を使う一番簡単な方法」をお勧めします。

使い方(iTunes の CD 情報を Exact Audio Copy にコピーするまで)

【準備1】iTCDini.js ← 矢印左側の文字の上で右クリックし、「対象をファイルに保存(A)…」して保存先フォルダを開きます。

iTCDini対象をファイルに保存 iTCDiniダウンロードの完了
【準備2】ダウンロードした「iTCDini.js」を右クリックし、「プロパティ」を見て、「「ブロックの解除」ボタンがあれば押して「OK」します。

iTCDiniプロパティ  iTCDiniブロックの解除
【手順1】iTunes が CD を認識している状態で「iTCDini.js」を実行します。

iTunes認識 iTCDini実行

【手順2】「追加しますか?」の内容を確認して「はい(Y)」します。Vista や Win7 の場合は、「ユーザー アカウント制御」の画面が出ますので、これも「はい(Y)」します。

iTCDini追加しますか? iTCDiniユーザーアカウント制御

以下のメッセージが表示されれば「cdplayer.ini」への書き出し成功です。

iTCDini終了

【手順3】iTunes を終了する前にアルバムのリリース年とジャンル情報をメモしておきます。これは「cdplayer.ini」経由では、仕様上この二つの情報をコピーすることができないためです。

iTunesプロパティ iTunesメモ

【手順4】Exact Audio Copy を起動し、「データベース(D) → CD情報取得(G) → CDPLAYER.INI(P)」し、警告に「はい(Y)」します。

EACデータベース EAC警告

【手順5】「リリース年」「ジャンル」「freedb」に【手順3】でメモしておいた内容を入力します。「freedb」は「ジャンル」に一致するものがなければ空欄か「Misc」でよいと思います。

EAC手動入力

以上で終了です。

アンインストール

レジストリは使用しませんが、「iTCDini.js」と同一フォルダに「cdplayer.ini」というローカルデータベースを生成します。
ですので「iTCDini.js」と「cdplayer.ini」の2ファイルを削除してください。
不要であればシステムフォルダ(多くの場合「C:\Wendows\」)の「cdplayer.ini」も削除してください。

制限事項

まず「CD EXTRA」や「ミックスモードCD」には対応できません(IDの取得方法がわからなかったため)。
また、このスクリプトは、まず自身の存在するフォルダにローカルデータベース「cdplayer.ini」を生成し、それをシステムフォルダ(多くの場合「C:\Wendows\」)の「cdplayer.ini」と併合しますので、スクリプトファイル本体が読み書き可能な場所に存在する必要があります。
このスクリプトは「WinXP sp3 + iTunes 9.0.1.8」の環境で作成し、運用しています。
一応「Win7 + iTunes 9.0.1.8」環境下でも一通りの動作確認は行いましたが、もしかしたら「WinXP sp3 + iTunes 9.0.1.8」以外ではうまく動かないことがあるかもしれません。

アートワークの取得

スクリプト先頭から数十行には、いくつかの設定項目が並んでおり、そのうちの「var CheckArtwork=false;」の部分を「var CheckArtwork=true;」に変更すると、CD 情報取得時にアートワークも取得し、スクリプトフォルダに「[アーティスト名](リリース年)アルバム名(ディスク番号-総曲数).jpg」として保存します。
ただし、アートワークのみ取得する方法はわからなかったため、実際に一番短い曲を取り込み、それに iTunes が付けたアートワークを別の場所に保存して、不要になった曲本体を削除する、という手順で行っていますので、少し時間がかかります。
また iTunes の「持っていないアルバムアートワークを自動的にダウンロードする」オプションをオンにしておく必要があります。
当然ですが iTunes がアートワークを取ってこれないものは取得できません。

Various Artists の扱い

複数のアーティストが参加しているアルバムの場合、Exact Audio Copy ではアーティスト名を「Various Artists」、各トラック情報を「アーティスト名 / 曲名」形式にすることで、曲ごとに別々のアーティストを設定できます。
このスクリプトは Exact Audio Copy で利用することを前提としておりますので、アルバムアーティストとトラックアーティストに一箇所でも相違があれば、上記の形式に変換して出力されます。
この動作は、スクリプトの「var IsExact Audio Copy_VariousArtists=true;」を「var IsExact Audio Copy_VariousArtists=false;」に書き換えることで変更できます。
変更した場合は、アルバムアーティストは Gracenote から取得したものをそのまま使用、トラック情報は通常は曲名のみで、アーティストに相違があるトラックのみ「曲名 / アーティスト名」形式になります。
ただし Gracenote から取得されたアルバムアーティストが元々「Various」や「Various Artists」の場合は強制的に「アーティスト名 / 曲名」形式になります。

【追記:2010/10/09】

タイトル等に Shift-JIS に存在しない文字が使われているとエラーが出る問題に対応する版を作りました。
iTCDiniU.txt ← を下記本文の「ブロックの解除」までを行った後、拡張子「.txt」を「.wsf」に変更し、ファイル名「iTCDiniU.wsf」としてお使いください(「ADODB.Stream」を使用した JS ファイルが、アンチウイルスソフトにウイルスと誤判定されてしまうことに対する対策です)。
「拡張子変更」という作業が初心者向けではないような気がしたため「iTCDini.js」も残してありますが、基本的には置き換えです(共存もできますが)。
ローカルのものも含めて「cdplayer.ini」はそのまま流用できます。
UNICODE 文字対策版ではありますが、UNICODE 文字が使えるようになるわけではありません(エラーが出なくなるだけです)。
「cdplayer.ini」自体は Shift-JIS で記録されますので Shift-JIS に存在しない文字は「?」になります(参考:「Exact Audio Copy における CDPlayer.ini」)。

iTunes 関連の自作スクリプト

関連記事

【同じタグを付けた記事の一覧】
自作ソフト ポータブル 音楽管理 ExactAudioCopy Gracenote iTCDini iTunes

スポンサーサイト

trackback


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

続・Gracenote CDDBをEACで利用する(iTunes使用)

昨日のエントリ Gracenote CDDBをEACで利用する(Player使用) で書いた方法ですが、その続きを。

コメントの投稿

非公開コメント

最新記事
最新コメント
Amazonおまかせリンク
カテゴリ
タグクラウド
Amazonお買い得ウィジェット
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
プロフィール

電脳太助

Author:電脳太助
Website:電脳スピーチ web

RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

サイト内検索
Ads by Google
FC2アクセスランキング
Ads by Google
FC2拍手ランキング
ユーザータグ

音楽管理(66)
ポータブル(57)
ソフト紹介(44)
プログラミング(42)
音声技術(41)
自作ソフト(35)
サイト運営(32)
FC2(31)
ブログ(30)
iTunes(27)
Windows(25)
LISMO(24)
音声合成(23)
音声認識(22)
x-アプリ(22)
電子ブック(22)
eラーニング(20)
バックアップ(19)
語学学習(19)
foobar2000(18)
ソースコード(18)
WindowsLiveWriter(15)
画像管理(15)
C++(14)
アフィリエイト(10)
DnspTools(10)
fi-6130(9)
FLAC(9)
JavaScript(9)
ウォークマン(9)
英語音読学習計画(8)
Gracenote(8)
Prolog(8)
ベクター(8)
雑記(8)
CodeBlocks(7)
SyntaxHighlighter(7)
TraConv(7)
spcbght(7)
wxWidgets(7)
VirtualBox(6)
W63CA(6)
DCP-J552N(6)
WinRT(6)
WindowsLiveMesh(6)
iGoinLM(6)
英語発音矯正実験(6)
ExactAudioCopy(6)
MP3Gain(6)
LAME(5)
音楽技術(5)
Mery(5)
楽器演奏(5)
GalateaTalk(4)
nLite(4)
WindowsLiveSkyDrive(4)
ホームページ(4)
GalateaProject(4)
MIDI(4)
LLVM(4)
PC-98(3)
カウンター(3)
AACGain(3)
iTCDini(3)
OverCutChecker(3)
拍手(3)
PK-513L(3)
UniversalExtractor(3)
アクセスランキング(3)
ImageCompositeEditor(2)
アクセス解析(2)
OCR(2)
qtaacenc(2)
資格試験(1)
AquesTalk(1)
AquesCmdDl(1)

FC2アクセスランキング
最新トラックバック
アクセスランキング
[ジャンルランキング]
コンピュータ
111位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
12位
アクセスランキングを見る>>
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。