アプリ版:「スタンプのみでお礼する」機能のリリースについて

sony walkman NW-S766 を Macbook pro (macos10.6 , itunes10.5.3) と一緒に使っています。
このwalkman はD&Dによるファイル転送が可能なため、
シェルスクリプトを書いて音楽ファイルを同期するようにしています。
(GUIがあった方がかっこいいですが、cocoa application開発(??)はよくわからないので。)

音楽ファイル同期については、これで可能ですが、
iTunesで使っているプレイリストをwalkman用のプレイリストへ変換する方法については皆目分かりません。
WALKMAN/MUSIC/ 以下にフォルダを作り、疑似プレイリストとして音楽ファイル入れてやると言う方法がとても単純で分かりやすいですが、ファイルが重複するので他の方法がないものかと思っています。
iTunes のプレイリストではxmlファイルが使われているようですが(???)、
walkman の方でのプレイリストはどのようなファイル形式、書式を用いて、Walkman上のどのフォルダへいれれば良いのでしょうか?

また、macとwalkmanを一緒に使う際に便利なソフトがあれば教えてください。

A 回答 (1件)

Walkmanのプレイリストは機種によってフォーマットが異なるようです。


古い機種については解析して対応した人たちがいましたから、それをヒントに自力で解析するしかないと思います。
SonicTunes
http://sonictunes.web.fc2.com/

Songbird
http://getsongbird.com/

因みにあなたがおこなっている既存の方法でも、まだ改善の余地はあります。
MD5またはSHA1といった言葉は知っていますか。
通常「ハッシュ関数」と呼ぶ、何らかの電子データの中身を固定長の数字で表現する代物があります。
これを利用し、Walkmanにコピー済みの曲データ個々の「ハッシュ値」をリストとして出力し(*1)、iTunes管理のファイルも同様にハッシュ値リストを作って比較する事でコピー済み判定が確実におこなえます。

ハッシュ関数はファイル名ではなく中身を数値化するので、中身が同一であれば同じ数字になりますし、同じタイトル曲でも少しでもアレンジが異なるなら異なる数値が出力されます。

曲データそのものではなく、フォルダ下のファイルリストをひとつのハッシュ値として出力する事も出来ます。

手元にMac OS Xがないので確実な表現が出来ませんが、一般的にUnix系列のOSなら
find /targetFolder -name *.fileSuffix -print | xargs md5sum
といった形式で実行することで、特定のフォルダ以下の特定の拡張子を持つファイルについて、MD5によるハッシュ値リストを作成できます。

フォルダ下のファイルリストのハッシュ値であれば
pushd /targetFolder
ls -R | md5sum -
popd
でファイルリストのハッシュ値が得られます。

iTunesのプレイリストのXMLファイルからファイルのパスを取得する事で、プレイリストに沿った比較をおこなう事も可能です。

ハッシュ値をキーに一致するものがあるか比較する際には、sedやawk、perlといったコマンドを利用すると良いでしょう。

因みにハッシュ関数を利用する際にはMD5よりはSHA1、SHA1よりはSHA256のほうがハッシュ関数としてはお勧めです。
理由はハッシュ関数にはコリジョンという性質があって、異なる中身なのに同じ数字が吐き出されるケースが稀にあって、この順列でコリジョンがより起きにくくなっているからです。
    • good
    • 0
この回答へのお礼

教えてくださった同期方法を試してからと思いましたら、返信が大変遅れましてすみません。
ハッシュ関数というのは使った事が無かったのですが、非常に勉強になりましたし、いろいろ試してみて楽しかったです。
これで、より正確に同期が行えるというわけですね。
Walkman でのプレイリスト作成については自分の能力では難しく、
今のところ断念していますが、
時間があるときにもう少し挑戦してみようと思います。
どうもありがとうございました。

お礼日時:2012/03/19 14:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!