2011年11月17日木曜日

GETiTunSMPBencDelayPaddingの公開

巻き添え規制食らったので、善意のある人は代行でURL貼ってやってください。

 

【開発環境・動作環境(お察しください)】

 

13 :名無しさん@お腹いっぱい。 [↓] :2011/11/16(水) 06:30:58.12 ID:0fV/jNML0 (1/8) [PC]
iTunesでエンコしたMP3がギャップレス再生できるようになったけど
iTUNSMPBタグに書き込まれたディレイやパディング情報を
TiTleFormattingで取得する方法はある?
Lameタグの方のディレイやパディングは取得できるんだけどねぇ。

 

当方ギャップレス再生なんぞしないし、タグ関連は余りいじったことがないもので、このへんの知識は皆無といっていい。

 

23 :名無しさん@お腹いっぱい。 [↓] :2011/11/16(水) 12:22:05.52 ID:0fV/jNML0 (6/8) [PC]
>>20
単にMP3のメタ情報として
ディレイやパディングを表示させたいんで
mp3tagを経由するのがメンドイってことですw
foobarから直接読めると楽だなぁと。

デスクリプタ名を付けることで
複数のコメントタグを別々のものとして扱うことができる
iTunesはいくつかのメタ情報を
デスクリプタ付きのコメントタグで管理してる
「iTUNSMPB」もデスクリプタのひとつ。
mp3tagはデスクリプタ付きコメントタグを認識するけど
foobarのMassTaggerは非対応かな

デスクリプタの構造は
バイナリエディタで覗けばすぐわかると思うよ

 

そうなのか、では早速バイナリを覗いて見ることにしやう。

 

 

 

どうも、このへんが臭いな。

というところで解析機関Gに解析を依頼した。

 

iTunes v7.0.0.70のギャップレス処理
http://nyaochi.sakura.ne.jp/archives/2006/09/15/itunes-v70070%E3%81%AE%E3%82%AE%E3%83%A3%E3%83%83%E3%83%97%E3%83%AC%E3%82%B9%E5%87%A6%E7%90%86

 

組織の返答は早かった、そしてそれらが提供してくれた情報は我軍の作戦遂行にはもってこいのものであった。

>iTunSMPBの2番目と3番目の16進数が,エンコーダ・ディレイとパディングを表していると推測すると,443520 - 528 (0×210) - 1992 (0×7C8) = 441000 = 10[sec] なので,ばっちり計算が合います.

 

なんかようわからんが、とりあえず2番目がこいつの言うところのエンコーダ・ディレイ、3番目がパディングで

こいつを10進数変換してやればいいのね。

 

実装、そして例のごとくテストラン

 

 

ようわからんが、こんなもんでいいんだろうか?

 

28 :名無しさん@お腹いっぱい。 [↓] :2011/11/16(水) 19:31:26.94 ID:0fV/jNML0 (8/8) [PC]

ちなみにengはLanguageなので
デスクリプタ名は「iTunSMPB」になりますね。
あとText EncodingでUnicodeが指定されていると
データがUnicodeになったりと
汎用性を高めるには結構複雑だったりします。

 

むむ?またようわからんが、iTunSMPBから読み出せば良いのだな?Unicodeの件は勘弁して、また知識蓄えてからやり直す、後回しだ!

 

 

んで、こいつをFoobarが利用できるようにするにはいつものとおり、WSHのExecのStdinを使えば良い。

 

毎度おなじみStdin/out

WSH Panel Modとコンソールアプリケーションとの通信(その壱) - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-27.html

WSH Panel Modとコンソールアプリケーションとの通信(その弐) - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-28.html

WSH Panel ModからPythonを利用する - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-33.html

WSH Panel ModからPowershellを利用したい - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-34.html

 

このへんはくだらないGeek話でも記事という形で技術録つけていてよかったなあと思う。

まさに日記、まさに俺得な技術録だ。

あとは上の記事から使えそうなスクリプト引っ張り出してきて、適当に改変するだけ。

 

 

うん、多分コレで今のところは辞めておこう。Unicode系は俺の知識の範囲を超えてしまう。もっと勉強せねばな。

iTunSMPBがあるときは解析結果を返す、ないときには封鎖できません!とかふざけた言葉を返す神仕様。





0 件のコメント:

コメントを投稿