スポンサーサイト

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

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

iTunes のマイレート決定お助けスクリプト(レイティング版)

2013年03月22日(金)01時30分

各曲に「適切な評価値」を付けるということ

iTunes において、各曲に適切なマイレートを割り振るという作業は、「感情(好き・嫌い)」という曖昧なものを、「数値」によって明確化するということで、これは割に神経質なタイプである自分にとって、なかなかに困難な、あるいは面倒な問題です。
しかしながら、「曖昧」とはいえ、確かに自分の中で各曲間に相対的な「好き・嫌い」の序列はあり、これを数値化できれば便利であることには違いありません。
で、どうにかしてこの「各曲の相対的な序列」を、合理的かつ客観的に割り出す方法はないかと考え、とりあえず作って(試して)みたのが、今回の「iTunes のマイレート決定お助けスクリプト(レイティング版)」です。
少し前に書いた「iTunes のマイレートを調べる」は、これを作る過程で得た情報についてまとめたもので、今回はその続きということになります。

何をするのか

このスクリプトの原理は非常に単純で、具体的には以下のようなものです。

  1. 全曲からランダムに二曲を取り出し、「どちらが好きか」の選択待ちとなる(以下「対戦」と表記)。
  2. 「勝ち曲(選ばれた曲)」の評価値が +10 され、「負け曲」の評価値が –10 される。

これによって、多くの曲に勝てる「お気に入り曲」の評価値はどんどん上がっていき、逆に負ける曲は下がっていきます。
そして、勝ったり負けたりのどちらともいえない曲は、そこそこの評価値をさまようことになるでしょう。
つまり、この作業をいやというほど何度も積み重ねれば、いずれは各曲の評価値が適切な数値に収束していくであろう、というわけです。
なお「引き分け」の場合は、互いの評価値が歩み寄るような加算・減算が行われます。
具体的には、例えば評価値が 80 と 50 の曲に「引き分け」の判定を下した場合、80 が –10 され、50 が +10 されて、結果 70 と 60 になります。
もし、元の評価値が同じか ±10 の差しかない場合は、「引き分け」てもどちらの評価値も変化しません(例えば評価値 80 と 90 の曲が引き分けても 80 と 90 のままです)。

結果は今一つ

ただしこのスクリプトは、思いついたときには「なかなかにいいアイデア」だと考えていたのですが、実際に試してみたところ、どうにも難があると言わざるを得ない点がいくつかあり、結局今は使っていません。
しかしながら、せっかく作ったものですので、とりあえずは公開しておこうということで、まず前半でスクリプトの内容や使い方を説明し、そのあとに何が自分にとって問題であったのかを書いていくことにします。

スクリプトの準備

iRateHelperT.txt ← 矢印左側の文字の上で右クリックし、「対象をファイルに保存(A)…」してダウンロードします。

iRateHelperT対象をファイルに保存

ダウンロードした「iRateHelperT.txt」を右クリックし、「プロパティ」を見て、「ブロックの解除」ボタンがあれば押して「OK」します。

iRateHelperTブロックの解除

ダウンロードした「iRateHelperT.txt」の拡張子(末尾の3文字)を「txt」から「hta」に変更し「iRateHelperT.hta」とします。

iRateHelperT拡張子変更

iRateHelperT.hta を実行してください(iTunes も自動的に起動します)。

iRateHelperT

アンインストール

レジストリに何かを書き込んだり、システムフォルダに何かをコピーしたりということはしませんので、スクリプトファイルを削除するだけです。

初回起動時

まずはじめに、今まで一度もマイレートを使用したことがない場合、「評価値 0」になっていると思いますので、『選択プレイリストに含まれる全ての白星トラックを評価値 50 に変更』ボタンで、評価値を中央値に初期化してください(このスクリプトでは「価値0(星0か白星)の曲」「非チェックの曲」「ポッドキャスト」を標準では評価対象曲に含みません)。

使い方

スクリプトを起動し、評価対象としたい曲を集めたプレイリストを選択し、『対戦を開始する』ボタンを押します(プレイリスト「ミュージック」には全曲が含まれます)。

  1. 『先頭』『1/4』『中央』『3/4』『ランダム』ボタンで、それぞれの対戦曲を試聴します。
  2. 『Aを選択』『Bを選択』『引き分け』ボタンで決定し、次の対戦へ進みます。

上記を繰り返します。
結果は評価値としてリアルタイムで反映されていきますので、終了時に適用処理や保存作業を行う必要はありません。
対戦を終える場合は、たんにウインドウ右上の×印、『閉じる』ボタンでスクリプトを終了させてください。

【難点1】手間がかかりすぎる

以下に、結局使用を中止することにした理由を挙げていきます。
まず、これは思いついた時点でわかっていたことではありますが、結果を得るために膨大な手間を要する、ということがあります。
この方式では、全曲に一通り評価を付けるためには、最低でも総曲数の半分(一回の「対戦」で勝ち負け二曲に評価が付くため)の対戦回数が必要です。
つまり、例えば自分の iTunes には約 5,000 が登録されていますが、この場合ですと最低 2,500 対戦はしないと全曲を評価できません(ランダム選択ですので、実際には乱数の偏りのため、2,500 対戦程度では未評価の曲が相当数残ります)。
そして当然ながら、一曲当たり一回や二回評価した程度では大して役に立つ情報にはなりませんので、「使えるデータ」を得るためには、少なくとも 10 周や 20 周は回す必要があります。
少なめに見積もって 10 周しかしないとしても、合計 25,000 対戦が必要となり、これは一日 100 対戦を日課として 250 日、毎日 1,000 対戦をこなしても一か月近くかかることになります。
つまり、とても手間がかかるやり方ですので、結果を得るためには、先の見えない地味な作業を根気よく続ける必要があります。

【難点2】追加曲や好みの変化の反映が遅い

また、これは上記【難点1】とかぶるのですが、新規に追加した曲や、自分の中で評価が変わった曲が、適切な位置に収まるまでに時間がかかるのも難点の一つです。
例えば、新規追加曲を評価値 50 から始めたとすると、その曲が★5(評価値 100)になるまでには、計 5 回の対戦が必要です。
つまり 5 周はさせる必要があります(完全ランダムであるため 5 周で 5 回の対戦となるとは限りませんが)。
自分の場合、前述のとおりライブラリに約 5,000 曲ありますので、新規追加曲が本来のあるべき位置にたどり着くまでには、2,500 回 × 5 周 = 12,500 回もの対戦を要する、ということになるわけです。
つまり、頻繁に新曲を追加する場合には、あまり向いていない方法であるといえます。

【難点3】最終的には三分割になる

そして、これが使用をやめた最大の要因なのですが、やればやるほど、結果が「三分割」に近づいていくのです。
当初、5,000 曲は 10 分割され「評価値 100は 500 曲、評価値 90 も 500 曲、…」となっていくと思っていました。
が、実際には最高評価(評価値 100)と最低評価(評価値 10)が、500 曲を超えてどんどん増え続けていくのです。
で、あまりに増えていくため不安になり、いったいどこまで行くのか、0 から 4,999 までの仮想的な 5,000 トラックで、「番号が若い方が勝つ」というルールのランダム対戦を繰り返すシミュレート用スクリプトを作り、100,000 回ループさせてみました(100,000 回といっても内部で計算しているだけですのでほとんど一瞬で終わります)。

評価値 曲数
100点 1543曲
90点 459曲
80点 193曲
70点 140曲
60点 148曲
50点 124曲
40点 143曲
30点 211曲
20点 446曲
10点 1593曲

結果は上記のように、「約三分の一が最高評価と最低評価に集まり、その二点を頂点として、残りの三分の一が下向きの弧を描くように分布する」という状態になりました。
つまり、冒頭で述べたとおり、「全体が三分割される」わけで、しかし考えてみれば、「好き」「嫌い」「引き分け」の三種類で分別しているのですから、三等分に収束していくのは理屈に合っているような気もします。
とはいえ自分としては、「評価値 100」「★5」というならば、それには「一番好きな超お気に入り曲」が該当してほしいと思いますので、全体の三割強、三曲に一曲が「超お気に入り」という状態は、「ちょっと違う」と感じてしまいます。

【難点4】永遠に完成しない

それから最後の一つとして、「永遠に完成しない」という点が、ちょっと「気持ち悪い」ということがあります。
この「永遠に完成しない」というのは、「好みの変化を反映するため、ずっと評価を継続しなければいけない」という類のことではありません。
例えば、「全ての対戦に勝てる最も好きな曲」と「その曲以外に全勝できる二番目に好きな曲」があったとします。
いずれも、当然として最高評価(評価値 100)が付くべき曲です。
ここで仮に十万回の対戦をこなしたとして、その最後の一回が上記二曲の対戦だったとすると、もちろん前者の「最も好きな曲」が勝つことになります。
その結果、後者は「全曲中二番目に好きな曲」であるにもかかわらず、「評価値 90」になってしまう、という事態が発生するのです。
これは、「一位 vs 二位」の関係でのみ起こることではなく、ともかく最後の対戦が「上位曲同士」または「下位曲同士」であれば、そのどちらかは、正当な評価から一つずれた状態で留め置かれることになります。
もちろん理屈の上では、「引き分け」を巧みに使いこなすことによって回避は可能ですが、そういう微妙な判断が求められるのであれば、一曲ずつ手作業で付けるのと(精神的消耗度の点で)大差ないのではないかとも思えるのです。

使い道

とまあ、いろいろ問題点を並べ立てましたが、「そこそこ好きな曲」を抽出することはできますので、例えば何かの作業中に BGM としてシャッフル再生しておく、というような用途のリストとしては、なかなかに使えるものができます。
手間も、数千曲等となると厳しいと思いますが、数十曲~数百曲程度であればそれほどでもありません。
ということで、手持ち曲が数十曲~数百曲で、マイレートは特に使う当てがない、というようなことであれば、「暇つぶし」程度にやってみるのもいいのではないかと思います。

iTunesやx-アプリ関連の自作ツール一覧

iTunesでLAME」や「ウォークマン高画質化」等、iTunesx-アプリ向けの自作ソフトやスクリプトをまとめたページ、「iTunesやx-アプリ関連の自作ツール一覧」を作りました。

関連記事

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

スポンサーサイト

コメントの投稿

非公開コメント

最新記事
最新コメント
Amazonおまかせリンク
カテゴリ
タグクラウド
Amazonお買い得ウィジェット
カレンダー
03 | 2017/04 | 05
- - - - - - 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拍手ランキング
ユーザータグ

音楽管理(65)
ポータブル(57)
ソフト紹介(44)
プログラミング(42)
音声技術(41)
自作ソフト(34)
サイト運営(32)
FC2(31)
ブログ(30)
iTunes(26)
Windows(25)
LISMO(24)
音声合成(23)
音声認識(22)
x-アプリ(22)
電子ブック(22)
eラーニング(20)
バックアップ(19)
語学学習(19)
foobar2000(18)
ソースコード(17)
画像管理(15)
WindowsLiveWriter(15)
C++(14)
アフィリエイト(10)
DnspTools(10)
ウォークマン(9)
fi-6130(9)
FLAC(9)
Gracenote(8)
英語音読学習計画(8)
Prolog(8)
JavaScript(8)
ベクター(8)
雑記(8)
CodeBlocks(7)
SyntaxHighlighter(7)
TraConv(7)
wxWidgets(7)
spcbght(7)
DCP-J552N(6)
W63CA(6)
MP3Gain(6)
WinRT(6)
iGoinLM(6)
VirtualBox(6)
WindowsLiveMesh(6)
英語発音矯正実験(6)
ExactAudioCopy(6)
楽器演奏(5)
Mery(5)
LAME(5)
音楽技術(5)
GalateaProject(4)
LLVM(4)
nLite(4)
MIDI(4)
ホームページ(4)
WindowsLiveSkyDrive(4)
GalateaTalk(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アクセスランキング
最新トラックバック
アクセスランキング
[ジャンルランキング]
コンピュータ
112位
アクセスランキングを見る>>

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