前編後編に分けようかと思ったんですが「分けることもないか」ということで一つにまとめました(3/29編集済)
「iPod for コレクターズ」というムックを書いたのでiPod周辺のネタに関しては正直相当調べたり遊んだりし尽くした。けど、「マニアック過ぎ」とか「ニッチ過ぎ」といった理由で外したネタもあるのでサイトの方で公開しようと思う。
テーマは、ずばりCDの完全なる可逆取り込みと完全なるCDへの書き戻し。
・・・先に書いておきますが、大多数のユーザーはムックに書いた方法で十分だと思います。こちらの方法は、あくまで「自己満足」を求めるモノである、ということを踏まえた上でどうぞ。
「完全なる可逆取り込み」とは、「AppleLossLessで取り込みましょう」だけを指すのではない。なぜAppleLossLessで取り込んだ「だけ」では完全でないのか。「ギャップ情報が保持されないから」という話(と解決法)は「iPod for コレクターズ」でも書きましたし、それも理由の一つなんですが、もう一つ理由がある。・・・というところから話を始めますが、CDドライブは、必ず「ズレ」を持っています。この話はネットランナー2005年6月号で書いてるので以下省略説明。
CDには「トラック○はCDの頭から見て○○分○○秒○○」といった情報が記載されているんですが、問題は、この「CDの頭から」。ドライブの「ズレ」とは、「正しい頭から少しズレた場所を頭だと認識してしまう」というズレ。このズレ量はドライブ依存で常に一定ですが、要は、どんなツールを使っても、どんな設定を使っても、常に各トラックは少しずつ「ズレて」いるんです。
といった具合。
「ズレ」を正すためには、その機能を備えたリッピングソフトが必要で、有名なのはExactAudioCopy。「有名なのは」というか「他にない(はず)」。
以上、FAQ。
ということで作業を行います。
ExactAudiCopy(以下「EAC」)自体の解説は省略するのでMUSIC PCさんんとかを参考にしてください。
重要なのは「読み込みサンプルオフセット」。これが「そのドライブの(読み込み時の)ズレ量」であり、つまりEACの能力を決定する、非常に重要な設定です。数値はドライブによって異なるので
のどちらかで設定を行ってください。
EACを使ってWave+Cue形式でリッピングを行います。CDをドライブに挿入しEACで「IMG」をクリック。
EACは「ズレ」を考慮していますから、この段階で取り込まれたWave+Cueは「ズレ」のない、元CDの状態を完全に再現するデータファイルです。
DaemonToolsなどの仮想ドライブツールを使ってCueファイルをマウントします。
マウントすればiTunes上で(実ドライブに実CDを挿入した場合と同様)認識されるのでAppleLossLess形式で取り込み。
DaemonToolsの提供する仮想ドライブには「ズレ」がないので、取り込んだファイルは「ズレ」のない、元のCDの状態を完全に再現するファイルになります。
以上の作業によって、ドライブ固有のズレがない、完全に元のCDと同じ状態のAppleLossLessファイルがiTunesに取り込まれました。生成されたWave+Cueは不要なので(アンマウント後)削除しておきましょう。
下準備としてEACオプション「ファイル名」タブで「ファイル名の設定」を行います。ここでトラック名やアーティスト名、アルバム名といった情報が一切含まれないパターン(「%N」を推奨します)を設定しておく*1。
そして「アクション」「CUEシートの作成」「訂正したギャップを含めてトラック別WAVファイル用」をクリックしCUEシートを吐かせます。
このCueシートには、各トラックのギャップが正しく記述されています。

このファイルを、iTunesで取り込んだ音源ファイル(iTunesMusicフォルダ内のAppleLossLessファイル)と同じフォルダに保存します。
これで取り込み作業は全て終了。CDはもう不要です。
取り込んだファイルをCDに書き戻したい場合は、まずiTunesでエンコード設定を「Wave」にしてから右クリック「選択項目をWAVに変換」。
この結果AppleLossLessと同じフォルダにトラック別のWaveファイルが生成されます。
これらのファイル名をEACオプションと同じ形式(ここでは「%N」にしているので「01.wav」といった形式)に変更します。ファイル数が多い場合はFlexibleRenamerなどリネームツールを使うと良いでしょう。
この結果
が揃うので「正しい」書き戻しが可能になります。EACで「ツール」「CD-Rへの書き込み」を開き「ファイル」「CUEシートの読み込み」で先ほどのCUEを選択し「CD-R」「CD書き込み」。
ここで焼かれたCD-Rは
によって構成されており、元のCDと「完全に」同じです。
・・・最後にもう一度書いておきますが、これはあくまで自己満足のための作業方法です。正直、最初のFAQで「何だそりゃ」と思った方にはオススメしません(だから「iPod for コレクターズ」では外した、というか・・・)。

iPod touchにデフォルトで搭載されている「連絡先」とは、つまり携帯電話におけるアドレス帳と同等の機能。このアドレス帳は、Windows上にインストールされているOutlook(Outlook Expressではない)の「連絡先」と、iTunesを用いた同期を行うことが可能である。Outlookの「連絡先」は、各種携帯電話のアドレス帳と同期可能であるため、携帯電話 → Outlook → iPod touch、というデータ連係が可能になる。……と、これだけでは面白くない(touchに入れてどうする?)のだが、touchの「連絡先」には、iPhone標準アプリ「Maps」との連携機能が搭載されている。これが、ミソだ。上記の連携は、iPhone「Maps」との組み合わせによって、非常に強力な存在となる。
参考:
iPod touchをハッキングして独自アプリをインストールする方法 for windows (CROSSBREED クロスブリード!)
iPod touch tips AFTER jailbreaking「iPhoneアプリのGoogle MapsやMail.appをiPod touchにインストールする」
iPod touchをハッキングしてiPhone用アプリをインストールする方法 (CROSSBREED クロスブリード!)
Jailbreak → iPhone標準アプリインストール、を行ったtouchでは、touch内の「連絡先」で知人・店などの住所をタップすると、Mapsで当該住所の検索が行われ、つまりGoogleMap上での表示が行われるのだ。
携帯電話アドレス帳 → Outlook「連絡先」 → iPod touch「連絡先」 → iPod touch「Maps」(Googleマップ)
……しかし、この「連携」は基本的に日本人向けには設計されていない。故に、連携を行わせるためには「コツ」というか「バッドノウハウ」が必要になる。
この記事では、あくまで携帯電話・Outlookとの連携を取りながらtouch「Maps」を利用する事を目的とするため、データは可能な限り携帯電話やOutlookでの利用に支障がないよう設定する。また、「携帯電話やtouchで長ったらしい住所を登録する人間はいないだろう」という前提なので、住所設定は全てOutlook上で行うことを「理想」とする。
なお、「結論だけでいい」という人は下にスクロールさせて「□2」「□3」をどうぞ。
Outlook上で定義した「住所」のフィールドは、touch連絡先の「住所」フィールドに同期される。touch「連絡先」上で住所をタップした場合は、「住所」フィールドの情報を元にして作成された検索ワードが「Maps」に引き渡される。……という、この課程において問題が生じる。
この問題を明らかにして、どのように我々日本人はOutlook上で住所を設定し、touch「連絡先」を運用すべきかを示す。

おそらく、多くの日本人は、何も考えなければ右SSのようにOutlookの「連絡先」設定を行うはずだ。
ただし、この状態ではtouch「連絡先」→「Maps」の連携を利用することができない。

この状態でtouchへの(iTunesを使った)同期を行うと、touchでのタップ時には右のような検索ワードが「Maps」に引き渡される。問題点は三つ。
この問題を解決しなければ、Outlook → touch「連絡先」 → touch「Map」、の連携を利用することはできない。

まず、国名を設定する。「日本」。そして郵便番号は削除。

しかし、これではまだダメだ。touchへの同期を行うと右SS。一見正しく設定が行われているように見えるのだが……

この状態では、タップ時には右SSのような検索ワードが作成されてしまう。
検索ワード生成ルール
以降の住所 州/または群/市区町村 都道府県 日本
結局、アメリカ式の住所記述法(「番地 市町村 都道府県名……」という順序)になっているため正しく検索が行われない。
……ということで、Outlook → touchへの同期ルールと、ここまで書いてきた問題の解決策を示す。

まぁ、この方法が一番分かりやすいんだけど……。右SSのように全ての情報を「番地」に設定する。

これなら問題なくタップで住所は表示される。ただ、住所全てが「番地」に登録されたデータベースがOutlookや携帯電話で有用かと言われると結構疑問がある。気にしない人はこの方法で。
上記Outlook → touchへの同期ルールには記述不足がある。
Outlook上で「番地」は複数行入力が可能である。この2行目を利用する。

即ち、右SSのように住所を作成する。

結果、touch同期時にtouch「連絡先」の各フィールドには
が登録されている。

ただし、これでは、まだタップ時に住所が表示されない。右SSのような状態になる。何が起こっているかというと……

「新宿」と「1-26-2」の間に妙なスペースがあることに注目。

Outlook → touchの同期時に、「以降の住所1」の後に半角スペースが付加されている。これがジャマなので、上記のようにOutlookで住所を設定し、touchに同期を行った後、touch上で削除する。

これで、touch「連絡先」での住所タップ時に「Maps」で表示が行われるようになる。まとめると
この作業を行うことにより、Outlook上での住所データベースをtouchに持ち込み、タップでMapsと連携……という流れが可能になる。
これで謎が解けてきた。上記で最初は検索ワードが「〜日本」だったにも関わらず、一度編集(半角スペースを消すだけでも)を行うと、検索ワードは「〜Japan」となっており、また、検索ワードの生成ルールにも変化が見られる。これを使えば、イケる。

Outlook上で、右SSのように情報を設定する。
……なお、三行目以降はtouch同期時に「以降の住所2」に入ってしまうので使えない。使うのは、あくまで二行目までだ。

同期後、上記と同様に「以降の住所1」のケツに謎の半角スペースがあるので削除。

これで、全てのフィールドを正しく活用した状態でOutlook → touchへの転送を行い、タップでMapsと連携させることが可能になる。……結局、「ケツの半角スペースを消す」だけとはいえtouch上での作業が必要になるので「完璧」とは言えないのだが、□3の方法なら、キレイなデータベースをtouchまで同期させてMapsと連携させることが可能になる。
とりあえず、「何がどうなるとどうなる」というポイントを省略せずに書いた(その方が誰かに「ベターな方法」を思いついてもらいやすいかなぁと……)ので、長くなって申し訳ない。正直、まだよく解明できていないポイントがいくつかあるので、内容の誤りやベターな方法にお気付きの方はコメントやらトラックバックやらでご指摘いただけると幸いです。郵便番号フィールドを消さざるを得ない、という問題(あと「touch上で微妙に操作が必要」という問題)が解決できていない。
iPod touchには、YouTube動画の専用プレイヤーが搭載されている。お気に入り動画を登録する「ブックマーク」機能も用意されているのだが、正直言って、この機能は使い勝手が宜しくない。せっかくtouch内蔵の検索機能などを使ってお気に入りYouTube動画を発見しても、それをPC側に持ち込む手段がないからだ。つまり、
と、いう流れを作ることができないからだ。
上記の流れは、Jailbreak→iPhone用アプリインストール、を行った後であれば一応可能になる。まだ「完璧」とはいえない(何らかの補助ツールが必要になる気がする)のだが紹介しておこう。
まずは、Jailbreak→iPhone用アプリインストール、を行う。
参考:
iPod touchをハッキングして独自アプリをインストールする方法 for windows (CROSSBREED クロスブリード!)
iPod touch tips AFTER jailbreaking「iPhoneアプリのGoogle MapsやMail.appをiPod touchにインストールする」
iPod touchをハッキングしてiPhone用アプリをインストールする方法 (CROSSBREED クロスブリード!)
この上でYouTube動画の再生を行うと、タップ時に表示されるコントローラの右端に、見慣れないアイコンが追加されている。このアイコンが、上記の流れを行うための糸口だ。
下のデジカメ写真は、その、YouTube動画はオーバーレイで表示されているらしくスクリーンショットで上手く撮影できないからなんですが、見て欲しいのはコントローラ部の五つあるボタンの右端。


これは、iPhone標準アプリ「Mail」を使う、「YouTube動画を友達にメールで紹介する」的な機能だ。この機能を使って自分宛にメールを送信する。どうせYouTube動画プレイヤー自体がWi-Fi環境下でなければ使えないので、「メールで送信する」というために生じる制限は無い。
このメール内に記述されているYouTube動画ページアドレスを元に、いわゆるYouTube動画ダウンローダーでダウンロードを行い、形式変換を行って〜という流れを用いれば良い。
GMailの場合、フィルタでどうにか「この手のYouTube動画紹介メール」を抽出したい訳だが、おそらく一番使えるのはtouch内蔵メーラーが付加する「署名」だ。これを使ってラベルを付加するのが良いだろう。

あたりを条件にしてラベルを付加すれば良い、と思う。

touchから送信するメールに付けられる署名は、touchの「設定」「メール」「Signature」で設定を行う。
と、いう作業を定期的に行えば良いのではないだろうか(この場合「未読メール」は即ち「まだ落としてない動画」になるので分かりやすい気がする、ラベル一覧に表示されてる「touchのyoutube (2)」とかが「まだ落としてない動画の数」な訳だし)。
……もしくは、
と、いう流れを自動化するツール、を、作られて公開されて、ついでにこの記事にトラックバックを打たれてみたりしてはいかがでしょうか(それpla)。
もしくは、SCP経由で繋いでブックマークリスト(て何処にあるんだろ)を取得して〜という方法論かなぁ……。
iPod touchのトップ画面(とでもいうのか)は、JailBreakを行った後にカスタマイズすることが可能だ。
| before | after |
![]() | ![]() |
後述するが、Installerの「System」「SummerBoard」を導入し、Installerからテーマを落として設定する。と、いう流れになる。各テーマの概観に関しては「Summerboard Theme Screenshots(海外ブログだが要は各テーマのサムネイル集なので英語嫌いな人も問題ないはず)」で網羅されているのだが、公開されたばかりの新テーマ「PlainJainDim」が面白い。「自分のお気に入り壁紙をじっくり見れる」ということに特化されたテーマなのだ。このテーマを利用し、iPod touchトップメニューを上記のように(壁紙は自分で作れます)カスタマイズする流れを紹介する。
と、いうことで作業の流れ。
既に他サイトで完全にまとまっているので
参考:iPod touchをハッキングして独自アプリをインストールする方法 for windows (CROSSBREED クロスブリード!)
でお願いします。
Installerから普通に導入すればOK。この流れは
でお願いします。
Installerから普通に導入すればOK。「Theme」内の「PlainJainDim」を導入する。
WinSCPを使って「/private/var/root/Library/SummerBoard/Themes/PlainJainDim/Icons/ 」フォルダをPC内に転送する。この方法は、ここまでを実践していれば身についているはずなので省略。
「PlainJainDim」のver.1.2からデフォルトで「Contacts.png」が用意されるようになったので、□4〜5の行程は不要になりました。
詳細未究明なんだけど、「PlainJainDim」には「連絡先」のアイコンが用意されていない(iPhoneだと名称が違う?)。このため、「連絡先」に関しては自分でアイコンを用意する必要がある。「pngの透過率」とか意味不明だ、という人は、□4で転送したフォルダ内の別の適当なpngを「Contacts.png」にすれば良い。

エクスプローラ縮小表示では中身が(ほぼ)見えないので、IrfanViewあたりを使うと分かりやすいかもしれない。
「Contacts.png」を作成したら、WinSCPなどを用いて「/private/var/root/Library/SummerBoard/Themes/PlainJainDim/Icons/」に転送する。
touchの仕様上、日本語環境で海外製テーマを使うには、スクリプトを使ってtouch内のアイコンファイル名を書き換える必要がある。この流れは
の通り。追記しておくとアップロード先は「/var/root」。
PC側からPuTTYで接続して「sh icon.sh」を実行するか、touch上で「Term-vt100」を使って作業しても良い。よく分からない場合は後者の方が簡単かも。「Term-vt100」をInstallerの「System」から導入して起動し、「# 」の後に「sh icon.sh」と打ち込んでreturnで処理が行われる。「Term-vt100」は日本語キーボードで利用すると落ちるので英語キーボードで作業を行うこと。
壁紙は、320x480pxの「Wallpaper.png」として保存する。この「Wallpaper.png」を、WinSCPなどを用いて「/private/var/root/Library/SummerBoard/Themes/PlainJainDim/」に上書き転送する。
メインメニューの「SMBPrefs」で「Theme」から「PlainJainDim」を選択すればよい

「PlainJainDim」でアイコンが用意されていないアプリケーションに関しては、□5と同じ方法論で自分で作成して転送すれば良い。画面例では、Stumblerのアイコンがなかったので他のアプリから勝手に持ってきている。……と、まぁ、これで作業が終了する訳だ。(画面例はテンションで選んだ壁紙なので必ずしも僕の嗜好とは関係ないことをお断りしておきます。)
iPod touchの新ファームウェアが週末(噂)に登場し、この段階でJailbreakは不可能になる見通しです。まぁ、つまりバージョンアップしなければ良いんですが、問題は、復元処理。iTunesによるiPodの復元は
という動作になっています。勝手に最新バージョンがダウンロードされてしまう、と。それこそLANケーブルを引っこ抜くなどしてもムダで、Appleサーバーへの接続が不可能だった場合には復元処理自体が行われない。「旧バージョンのファームウェアを使った復元」は基本的に不可能な訳です。
で、先に書いておくと、この方法で多分大丈夫なはず。
参考:もしかしたらiPod touchもダウングレードできるかもしれない : Gizmodo Japan(ギズモード・ジャパン)
※追記:この方法を使う予定の人も、必要なファイルを今のうちに落としておかないといけない可能性があるので、全文表示の「※追記」まで目を通しておいて頂けると。
ただ、もう一つ方向性(というか上記記事の機能を知らずに以下をふと調べて、途中で上記記事を見つけた)があるので、上記記事が無理だった場合には下の方向性で攻めるのが正解かな、と。
ということで「もう一つの方向性」の作業の流れ。
つまり、新バージョンが出た後でも、iTunesが「最新版は……今俺が持ってるヤツか、んじゃダウンロードしなくて良いやね」と判断してくれれば良い。そのように判断してくれれば、現在使っている(=旧バージョンの)ファームウェアを使った復元を行わせることが可能になる(はずだ)。
そして、「復元」という処理を解析していないので断言はできませんが、おそらくこれは「バージョンダウン可能」の意味にもなる。つまり、一度新iTunes+新ファームウェアをインストールしてしまったとしても、PCから一度iTunes関連ファイルを全て消し、新たに旧バージョンiTunes(+旧ファームウェア)をインストールしてから「(PC内にある)旧ファームウェアを使う復元」を行えば、iPod touch内のファームウェアは「旧ファームウェア」になる(かも)。
通信傍受結果ですが、とりあえず上記の最新版確認作業はHTTP。そして現在は
と、いう流れです。新バージョンリリース前である現在の生のXMLがこちら。
※追記
で、このXMLの中には、ファームウェアファイルのダウンロードURLも記載されています。
<key>
FirmwareURL
</key>
<string>
</string>
がtouchの現バージョンのファームウェアなので、HDD内にファームウェアが保存されていない人はダウンロードしておくと良いかもしれない。
上で紹介したGizmodoさんの記事では「ファームウェアファイルがHDD内に必ずある」という感じになってますが、これ、iTunesでファームウェアをバージョンアップしたことが無い人はHDD内にファームウェアファイル(という形で一ファイルになっているファイル)が存在しない気がする(少なくとも僕のマシン内には多分ない)。だもんで、Gizmodoさんの方法が使える&を使うにしても、今のうちにファームウェアを落としておかないと「助けてくださいファームウェアZIPで下さい」という状態になる可能性があります。
それと、リダイレクト先からのレスポンスヘッダが微妙に気になる。
HTTP/1.1 200 OK\r\n
Content-Length: 2701
Content-Type: text/xml\r\n
Last-Modified: Thu, 08 Nov 2007 01:20:53 GMT\r\n
Content-Encoding: gzip\r\n
x-set-apple-store-front: 143441-1\r\n
x-apple-asset-version: 36860\r\n
x-apple-max-age: 3600\r\n
x-apple-request-store-front:
x-apple-date-generated: Thu, 08 Nov 2007 01:20:53 GMT\r\n
x-apple-application-instance: 5111\r\n
x-webobjects-loadaverage: 0\r\n
Vary: Accept-Encoding\r\n
Expires: Thu, 08 Nov 2007 01:34:13 GMT\r\n
Cache-Control: max-age=0, no-cache\r\n
Pragma: no-cache\r\n
Date: Thu, 08 Nov 2007 01:34:13 GMT\r\n
Connection: keep-alive\r\n
X-Apple-Partner: origin.0\r\n
\r\n
拡張ヘッダ(X-何とか)……これらは最初の「http://itunes.com/version」からのレスポンスには含まれていなかった……を正しく再現しないと、iTunesが「これは違う」と判断する可能性アリ。ここまでを正しく再現するサーバーをたて、hostsファイルを弄って自分のマシンをAppleサーバーだと思いこませれば、おそらく旧ファームウェアを使った復元は可能でしょう(未検証)。
そして、iPhoneが一度ハック不能になった時にこの手の話は一度話題になっているはずなんですが、当時僕は全く情報を追っていなかったので、非常に「古い(海外ユーザーとかに十分検証され尽くされている)」ことを書いている可能性が結構あります。