index

2006年 12月
          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 31
2007年 1月
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 31        
2007年 2月
      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        

アレ

耳かき   ▽20070130a #日記

なぜか IRC で耳かきの話になったので,買ってきてみた.

常日頃から耳かきというものに大いに不満を持っているあたしは,今まで色々な種類の耳かきを買って使ってきているぞ.普通の竹のやつとか,先がバネみたくなってるやつも使ったし,なんか表現しづらいがこう円盤を串で刺したみたいなコレのタイプも.あと随分と昔には,耳に紙を刺して火をつけるとゆーおっかねータイプのにも手を出したことが.でもアレは危険だし耳垢がよく取れるわけでもないのでヤメた方がよろしい.

で,今日はこの先が3連ワイヤのやつを買ってきてみた.普通の竹匙と違って弾力があるので痛くねーですよ,とな.でもワイヤなんで思い切り隙間があるんですが.三連だからってうまく取れるものなのか?


……うまく取れませんw

いや,やっぱ見た目通りだろこれwwていうかこの 3連ワイヤで引っかかって取れる耳垢ってどんな XL サイズよ?固着してるのを剥がすパワーはないし,粉末状のものは掻き出せないしで,まぁ耳垢のタイプにもよるんだろうけどあたしには合わないようだ.

理想の耳かきを求めて,男たちの旅はまだ終わらない……(BGM:中島みゆき「ヘッドライト・テールライト」

キャンサ グランドマスター カートグラファー   ▽20070128a #ゲーム #GuildWars

先月に引き続き,今度は Campaign 2 のキャンサ大陸を踏破ですよー!

小さくて見えない.はいそうですね.

今回も各地の記念写真.

シンジェ島:

カイネン:

ラクソン:

カーツ:

シンジェ島の訓練校右下にある「シンジェ丘陵」がガッツリと未踏地帯になっていて,ここは C2 で作ったキャラでないと入れないエリア(去年秋のゲームイベントで一時的に入れたらしい)なので,ここをカウントされてたら 100% には到達できないところだった.

で,ほとんど完全に回っただろうと思ったところで 99.7% だったんで,やっぱ次のイベントで入れるようになるのを待つしかないのか! とけっこう諦めて Campaign 3 を進めていたのだけど.

C2 イベントでレアアイテムが出やすくなるってのがあって,ふとそれやってたら 99.8% に上がってたので,これはもしかしてすごーく見落としやすい踏破漏れがあるのか?……と目を皿のよーにしてマップを確認.地味なくせにとんでもない苦労の結果,見事 100.0% を達成できました.

わーいわーいヽ( ´∀`)ノ

Xbox360 の「アイドルマスター」とゆーゲームが   ▽20070126a #コンピュータ

まぁ全然やったことない上にゲーム内容の説明を見てもどうもピンと来ないわけだが,要はパラメタ上げの育成ゲームってこったな.

公式サイトによると育てたアイドル(候補)が歌って踊るんで,その歌&踊りの映像が YouTube とかにいっぱいアップロードされてて,そんでこれが日本専売であることを激しく嘆く海外の人々もいる,と.「*sigh* sometimes I wish I was japanese...」ですって.いやそんなすごくいい国じゃないですよ?w


で,育成ゲームで育てたキャラクタが歌って踊るということはだ,例えば「歌唱力」のパラメタが低いと音痴になったり,そもそも運動神経が悪いとダンスが下手だったりするのか?……とか思ったんだけど,どうもそういうことではないらしい.

歌とかは普通に誰か人間が歌ったのを録音して記録しているから,そういう操作はしにくいというか出来ないのだろうと推測するが……踊りの方はどうなんだろ.単にモーションキャプチャとかでプリレンダリングのムービーを作って再生してるだけならダメだし,リアルタイムでポリゴンを動かしてるならそういう操作も可能だと思うが.


で,歌の方だが,例えばこれが初めからコンピュータによる合成音声で歌ってたなら,ちょっと音程間違えるとかテンポ間違えるなんてのも簡単だろう.

コンピュータに自由に喋らせるってのは大昔から研究されてて,たぶん一般向けのものだと日本じゃ PC6001mkII とかが既に音声合成の機能を持ってた.1983年とかそんなん.そんで 1984年の PC6601SR だと歌う機能まで付いてた気がする.音声も「あーいーうーえーおー」みたいな平板なもので,それがなんか音程っぽいのに乗って発声されるだけみたいな.

で,これが現代になってどれくらい進化したかってーと……まぁ 3年前のレベルで「くまうた」くらい?……いや 3年前っていうけどこれ PS2 なわけだから実質的には 7年前のハードウェア.1984年との距離でいうと 1/3 くらい前のことだ.

ってーことはだ,現在最新であるところの PS3 とかなら,けっこうアイドル歌とか合成だけでいけんじゃねーの? とか妄想しちゃうわけだ.


ハードウェアのスペック値の進化が新しいゲーム性や表現を引き起こす好例ってやつだな.へっぽこハードウェアじゃ出来なかったことが新しい高性能なハードウェアで可能になり,それによりまた新しいスタイルのゲームが生まれてくる.ハードとソフトの共進化.理想的な話じゃないか.

PCG,スプライト,ラスタスクロール,回転拡大縮小,ポリゴン 3D……と,表現力はどんどん増してきた.アーケードゲームでは視聴覚以外のフィードバック手段って面で UI にやや行き詰まり感があるが,インタラクティブ性に関しては Wii みたく別方向での進歩もあるし,まだ,もっと,もっと進化できると思うのよ.がんばれコンピュータ.人間とか滅ぼしていいからw

冷蔵庫から異音が   ▽20070124a #日記

冷蔵装置の稼動開始時と停止時に,何か重くて硬いものがぶつかるような大きな音がする.寝ようとしてる時とかに音が鳴ると,けっこうな音量なので大変にウザい.

1ドアの小型冷蔵庫なのだけど,何だかんだでもう10年近く使ってる気がするので,修理するよりはそろそろ買替えですかのー?

でも基本的に変化を嫌う人なので,新しい機種も今使ってるのと同じようなのがいいなぁ……今のやつは「Sanyo SR-5G」と書いてあるんで,ひとまず Sanyo のサイトでも見てみるか.

Sanyo SR-51G

ちょww10年とかのスパンで外見全く変更なしwwwすげえなぁ.生きた化石家電か.未だに手動霜取りってどうなの.これ初代を設計したひとの息子とかが現行を設計したりしてんじゃないかなぁ(※そこまで古くはありません

しかし今と変わらないものが欲しいといいつつもここまで何も変わらないと逆に物欲が満たされないというか(どっちやね


冷蔵庫の下に紙とか挟んで角度とかちょっと変えたら音が減った気がするんで,少しの間は騙し騙し現役いってみようかなっと……

電車乗った   ▽20070123a #日記

すっげ久しぶりな気がしなくもなく.

大手町で打合せするのにクルマはねーだろー,とかいって電車で行ったんだけど,大手町のうちでもかなり東京駅から遠い側の大手町で,東京駅から歩いたらえれー時間かかったし疲れた.はふー.でも昼間だったから満員電車に乗らずに済んだのは幸いといえる.


で,駅までの往復は市営バスに乗ったんだけど,路線の廃止や統合,それに民営バスへの移管などのお知らせが貼ってあって,こういうところで不景気っつか経済社会的活力の減衰ってかそういうのを体感.どん底だったところからちょびちょび上がってきてるのをつかまえて「戦後最長の好景気」とか抜かす阿呆アナリストはたまには市営バスにでも乗ってみろっての.

で,家のいちばん近所を走る市営バス31系統は「全廃もしくは部分廃止」にリストアップされてました.つかその2種類は分けてリストしなきゃダメだろ.まぁ31系統は単方向の循環線であるのと 1時間に 2~3本しか来ないのとで普段全く使用してないから痛痒なし.寂しくはあるが.

久しぶりに仕事が活性化方向で   ▽20070122a #日記

Ys II は昨日がんがってクリアしました!(←仕事の話じゃないのか

いやー,最後にクレリアシールド貰い忘れてダームの階段登っちゃってしかも上書きセーブしちゃったんで,ひどい目に遭った.いや自業自得ですが.実際クレリアシールドがあったらどれくらいダメ軽減できてたのかわからんが……

で,頑張りすぎて,今日起きたらすっごく両手の親指の付け根が痛かったので,久しぶりに湿布とか貼ってみたり.頑張り杉.ヴァーカヴァーカ.


さて今日は仕事の依頼をしつつそれを口実にマジスパに行こうってことで,以前にいた社で一緒に仕事をしてたMさんとともにマジスパへ.その頃のメンツの現状などを聞いたりとか色々と.うむ,みんながんがれ.ゲームしすぎて湿布とかって事の無い様.

久しぶりに   ▽20070120a #日記

まる一日,がっつり仕事しますた.

やっぱ頭使うとお腹すくもんだねぇ.ここんとこ毎日,一日一食とかで生活してたんだけど,今日は何だか昼に食べたのにお腹すいて夕食もしっかり食べてしまったわ.

さてさて.また仕事しすぎて体調崩したり腱鞘炎になったりしてもつまんねーので,明日から再びマターリと仕事するとしますかいのう.


あー……イースII は今ちょうどノルティアの氷壁からバーンドブレスの溶岩に入ったところ.II は通しで 2回やった気がするけど,細かいところを忘れてるなぁ.

Ys   ▽20070118a #ゲーム

友人に「イース・オリジン」を激しく勧められたので,ちょっとやってみようかなーと思い立ったものの,これってイースシリーズの何作目なのよ? と.

むかーーーーーし PC8801 で初代イースをやった記憶が(あまりないが)ある.その後に X68000 の(顔がリアルで音楽がアレンジな)やつをやったような気がする.あと後に入手した PC9801 でもやり直したような?

その後……えーっと Ys III までは記憶があるが.Wonderes from Ys.しかしこれの印象は薄くて,The Scheme のキャラが Ys III みたいに動く「Wonderes from Super Scheme」という同人ソフトの方が憶えてるってのはどうなの.きっと音楽が古代祐三じゃなくなったら興味がなくなったのであろう.

で,まぁせっかくだからってことで,「イース・オリジン」を始める前に「イース I&II 完全版」を始めてみましたよ.はいそこで「そこからかよっっ」というツッコミをお願いします.

……で,なんというか,記憶がないどころか「金の台座」の位置とかしっかり覚えてるもんだなぁ.ていうかしっかり同じ場所にある再現っぷりがすごいというべきか.

まぁ音楽は MIDI でアレンジされているものの,そもそもの作曲が古代祐三なので無問題でございます.平原の音楽いいなぁ.塔の音楽さいこー.あー,初代 Ys では「未使用曲」になってたやつが,塔の上の方で使われている.ここまでやるなら最後のダルク=ファクトの音楽は FM77AV 版だけにあったという「完全版」にすればよかったのに.

というわけで 1日でクリアしちめーました.まぁ元々から難易度が売りのゲームではないけど,記憶だけでここまでさくさく進むとは.

この後は「Ys II 完全版」「フェルガナの誓い」の順にやろうと思っている.III は手に入らないし,「フェルガナの誓い」は発売日は新しいけど III のリメイクってことだそうなので.

ただ,シリーズ的にその後になる Ys IV と Ys V は,PS2 でのリメイク版を探してみることになるが,作ったのファルコムですらないし評価も低いし……まぁ手を付けたからにはきっとやり通しますが.

そんでその後に「ナピシュテムの匣」やって,その後にやっとこさ「イース・オリジン」だな.ふぅ.先が長いぜ.ていうか PS2 版イースとか手に入るんだろうか……?

4レジスタ アーキテクチャ   ▽20070117a #日記

あたしの脳内の数値演算に使えるレジスタがどうやら 4つくらいしかない,ってお話.

むかーしむかし.まだ電車に乗るのに紙の切符が使われていた頃(今でもあるの?). 切符には発券番号が 4桁の数字で記録されているのが普通で, この番号って 9999 の次に達したらどうなるんだろうと思ったら 0000 にループらしい. それって同じ番号を別の人が同一日に取得する可能性があるわけで, 意味なくね? とか子供心に思ったわけだが, よく考えると券売機で切符を買うのにまず 10秒以上は余裕でかかるわけで, 近所の駅では 4台の券売機があったから番号ループにかかる時間はおよそ 7時間. まぁ普通にやってれば重なることはないなと安心したのだけど, もっとデカい駅なら 2~3時間で重複出ちゃうだろってことに思い至らなかったのは子供ですから.ええ.

で,この番号の数字 4桁を四則演算で結びつけて 10 にする,という遊びがあるっしょ. 「1 2 3 4」なら「1 + 2 + 3 + 4」,「2 5 8 0」なら「2 * 5 + 8 * 0」みたいな. こないだ渋滞でハマってた時に,ふと周囲のクルマのナンバプレートを見ていてそれを思い出し, ナンバ 4桁でその遊びをしていたのだけど, もうひとつの遊び方を思いついてやってみたのが, 「2桁ずつを暗算で掛け算する」という単なる暗算能力の修行.

というのもだ,まぁ大抵の日本人は同じだと思うんだけど, 1桁同士の掛け算ってのは演算結果テーブルを暗記していて,すぐに出来るのね. いわゆる「九九」ってやつだな. テーブルルックアップ方式は問答無用の 1ステップで答えが出るからとにかく演算が速い. プログラム高速化の常套手段だ. だけど 2桁の掛け算ってのは日本の学校では暗記するようには教わらないので, これをうまいこと計算しないといけない.

大抵の人は 10進数で計算するので,「* 10」の演算は例外的に速くできる. これは演算というよりビットシフトに近い.shift() と表記することにする.

あと足し算は 2桁同士でも AB + CD → ( B + D ) + shift( A + C + carry ) って書くと意味わかんねーが 要は筆算のように下の位を足して繰り上がりつつ上の位を足してって手順だな. これは整理すると,オペランド AB と AC を記憶しておく以外に, 演算中の値を確保しておくレジスタが 2つ必要になる. 1桁ずつの演算結果( B + D とか)用にひとつと,そこまでの演算途中の結果用にひとつ. carry 用のバッファが必要なタイプの人はそこにもレジスタビットが必要だな.

で,それ以外を全て地道に計算するとなると, AB * CD は以下のようになる.

 r1 ← A * C;
 r2 ← A * D;
 r3 ← B * C;
 r4 ← B * D;
 r5 ← shift( r1 ) + r2
 r6 ← shift( 10 * r3 ) + r4
 ans ← add( r5 + r6 )

かなり手数が多くて大変だ. shift() はともかく add() には上記の通りレジスタが 2つ余分に必要で, この方式の場合は合計で 8つのレジスタが必要ってことになる. 実際には r5 に代入した時点で r1 と r2 は破棄,r6 も同様, で同時に動くのは最後の add() の時点で r5 / r6 / rAdd1 / rAdd2 の 4つだけど, ここまできれいにレジスタリネーミングするのはそれはそれで大変.

なので,数値ごとに細かい最適化や演算省略を探すことになるわけだ. 例えば,片方の一の位が 0 だった場合.AB * C0 みたいな.

 r1 ← shift( A * C );
 r2 ← B * C;
 ans ← shift( r1 + r2 );

レジスタはこれだけで済むのだ.r1 + r2 は片方が shift() されているので, 実際に演算する有効桁数は 2桁同士ではなく 1桁の計算とほぼ変わらない.

では片方の一の位が 9 だった場合.AB * C9 みたいな.

 r1 ← shift( A * ( C + 1 ) );
 r2 ← B * ( C + 1 );
 r3 ← shift( r1 + r2 );
 ans ← sub( r3 - AB );

1~4桁の引き算が出てくるが,まっとうに演算するより遥かに手数が少なくて済む.

……と,まぁこんな風に,2桁同士の掛け算を暗算でやるための最適化パターンを探す, という遊びだったわけだが. 湾岸線がちょー混みだったので随分と長いことこれをやってて気づいたことが, 冒頭のレジスタ数制限ってわけだ.

正確には 4つしかないというより「4つ以上をアクティブに動作させるには負荷(集中力ともいう)がかかる」と. あと,あたしの脳は,レジスタリネーミングにはほぼレジスタひとつ分くらいのリソースが必要っぽい. つまり先に述べた「2桁の掛け算・まっとうに全部演算」は, あたしの脳ではかなり集中しないとできないってわけだ.

うーん,暗算とか得意な方ではないと思っていたが(だからこんな修行遊びを思いついたわけだし), ここまでとは…… やはりここはテーブルルックアップ方式を導入せねばならんかのう. 特に苦手な 6 と 7 が絡むあたりを.

……と思ってちょっと前に「二桁のかけ算 一九一九」を買ったんだけど, まだ読んでねーです.はい.なるべく早く読みます.はい.

ウィンカレバー Assy を交換,他.   ▽20070115a #鯖汁

なんか店から全然連絡ないから忘れられてるかと思ったら,パーツは届いてたけど連絡を忘れてたようだ(やっぱダメじゃんw

というわけでウィンカレバー Assy を交換.あといいかげんに汚れが付きまくってた LLC タンクも交換.

ブースト計は,あの後にボンネットを開けて見てみたら見事にチューブが抜けていたわけだが,抜けたチューブの先端が見つからなかったので放置してた.

どうもゴムチューブがだいぶ劣化してカチカチ硬化しちゃってるんで,新品のチューブを取り寄せ? かと思ったら,なぜかちょうどぴったり同じチューブが在庫あり.径がちょっと特殊らしいんだけど,なんでそんなチューブ在庫してるんだw

というわけでー.一通りの不具合をだいたい解消したんで,ただいまクルマは大変にご機嫌さんです.

ちょっと遠乗りでも出かけたいのう.また仙台に「萩の月」でも買いに行ってみるかなー.仙台あたりなら雪も積もってないだろうしー.ウフフフー

エアロバイクの心拍計   ▽20070113a #日記

なんだか正常に動いてない気がしたエアロバイクの心拍計.メーカから交換品が届いたので付け直してみた.

……普通に正常っぽい数値を表示してくれてます.わーい.ていうかアレ初期不良か……相変わらず神がかった初期不良引き率ですことあたし.

とりあえずこれなら「ターゲット心拍数モード」で使えるかな.明日はそのモードでやってみよっと.

Campaign 2 クリアしました   ▽20070112a #ゲーム #GuildWars

さて,先日 Campaign 1 で「ティリア グランドマスター カートグラファー」の称号をゲットした Guild Wars ですが.その後 Campaign 2 を進めておりました.しっかし C2 は C1 とは比べ物にならない難易度.C1 でいうと全体の 3/4 くらいまで進行したくらいの敵の強さが,既に 1/4 くらいでもう.(でもプレイヤキャラの強さの上限が決まってるので,その後ずっとそのくらいの難易度で進行)

で,ちょうど C2 をクリアしていなかった友人とともに細々と進行していたわけだが,今日は夜 20:00 くらいにボイスチャット入れつつ「眠れる湖」のミッションを開始.一発で Master Level でクリアできた(一定レベル,大抵は早さ,でクリアすると Master Level となる).

次のミッションは「ライスウ宮殿」.機嫌をよくしてミッションに挑戦したら,これがまたけっこうな難易度で,4回目のトライで何とかクリア.20分以内だと Master Level なのだけど 22:00 くらいだったので,敢えて再挑戦して 21:00,さらにスキル構成を煮詰めて 19:00 弱で Master Level をゲット.

で,クリアしたら……あれ? 次のミッションクリアしたら C2 クリアでない? と,ちょっとやってみようか……と始めてしまったら,最終ミッション「皇帝の御座所」がまたとんでもない難易度.

ミッション自体は単に「ラスボスを倒せ.以上」みたいなんだけど,とにかく単発火力がないと難しいので,アタック力にイマイチ欠けるあたしのキャラではどうも頼りにならず,NPC の PT メンバとかまで厳選しつつ……何度やり直したかな.軽く 10回くらいはやった気がする.ひたすらスキル構成などを組み換えつつトライして,よーーーーやくクリア.

やったー C2 クリアだー! おめでとう! そしてありがとう!


というわけで,しばらくは C2 の残りのマップ拡張をやって暮らそうと思います(ぉ

「キャンサ グランドマスター カートグラファー」を目指せ.ちなみにクリア時点でのマップ拡張率は 85% くらい.一緒にやって特に拡張してなかった友人は 40% 代だったそうで.

がんばろー.

瞳孔開くクスリ   ▽20070111a #日記

なんかすごいタイトルだが別段たいした話ではない.

LASIK 手術からおよそ 2年半,ここんとこ夜間に運転とかしてると看板がやや見づらかったり,ちょっと乱視が進行してるんじゃないかな? と思うことがあって,再手術が可能なのでそこでまた視力を戻せるんじゃないかなってことで,とりあえず検診を受けてみましょう.ってところまでが前回のあらすじ.

で今日,さっそく検診してきました.検診結果はおおよそ以下の通り.

まじっすか(´・ω・`)

というわけで,疲れ目などに気を使いつつ,ひとまず現行の視力で行くことになりました.うーん,昼間は確かに全く問題なくよく見えるんだよなー.謎だ.左目が乾燥気味という話も受けたので,保湿などにも気を配ることとしよう.


で,診断の際に「瞳孔を制御する筋肉を麻痺させる目薬」を使うんだけど,これが数時間有効で瞳孔が開きっぱなしになるんで,外とか出るとそれはもう眩しくて大変なことに.痛いくらい.しぱしぱ.

今日は細かく色々とクエを消化   ▽20070110a #日記

リアルの話をクエとかいうな.


えーっと,0:20 くらいに家を出て,仕事で終電を逃した友人&社の人を家まで運んでついでにジョナ屋で食事して帰ってきたら 6:00 過ぎてた.わお.寝て起きてもう午後っていう.でも何か午前中に起きて amazon 配達を受け取ったような気がするが,気のせいな気もするけど,そこに amazon の箱があるからたぶん現実だったのだろう.

家でうだうだしてたら夕方になりそうだったので外出.


南青山アイクリニックで検査の予約を取ってきた.2年半ほど前にここで LASIK 手術を受けたわけだが,ちょっと乱視が進行気味&飛蚊症っぽい何かが進行中なので.ここの LASIK 手術はちと代金がお高いのだけど,手術後 3年間は再手術無料という特典があったりする.とはいえ毎回数年で再手術するわけにもいかない(LASIK 手術は角膜を削るんで何度もできない)わけで,目を大切にしましょうねー.


横浜クイーンズタワーにちょうど郵便局があったので,窓口で郵便を出してこれた.


みなとみらいから横浜西口に移動して,横浜ヨドバシで W-ZERO3[es] 用の保護フィルムシートと充電ドックを購入.充電ドック¥1980 に対してフィルムシート¥980 ってのはなんだか商品の見た目のバランス的にビミョーな気がするけど.

es といえば,右側にある「縦横切替ボタン」がちょうど持つと押しちゃう位置にあって,いちいちもっさりと画面切替が発生して大変ウザかったのだが,この機能をオフにする設定画面を教わって(またもやしゃあるさんありがとうー),そしたら単に機能をオフにするだけではなく,このボタンがアイドル解除のための「wake up ボタン」として使えるようになった.だいぶ便利になってきたぞ.よしよし.


こないだ買ったエアロバイク,毎日漕いでるんだけど,なんか心拍数測定機能がおかしい(数値が全然上がらない)のでヨドバシに言って手配してもらったら,開発元のサポートのおっちゃんが直接電話かけてきてくれて,ハンドルとディスプレイを送るから交換してみてくれとのこと.なぜか東京支店でなく関西から直接かかってきた.なんでだろう.


「新・刑事コロンボ」録画できた第39話.うわーピーター=フォークもだいぶ白髪さんだなぁ.番組のサイトにある通り,初代シリーズは 1968年~1978年.新シリーズは 1989年~ とあるが,最新作はなんと 2003年だ.初代の最初から数えて35年!いやそれよりピーター=フォークって 1927年生まれなので,2003年の時点でなんと 76歳! SUGEEEEEE!


W-ZERO3[es] 買ってきた   ▽20070109a #日記

京ぽんの電池があっという間に切れる.これがメモリー効果ってやつなのか.

ただでさえ 1日もたなかった電池が,なんか Web 見たりしてると 2時間も使えなくなってきて,外でちょっと手がヒマな時に Web 見たりするのに不都合になってきた.

W-ZERO3 は前々から欲しくはあったんだけど,なんつーかデカすぎて.ちょっとポケットに入れといて軽く使うってサイズじゃないじゃない?

京ぽんの代わりにはならないかなぁと思ってはいたのだが,せっかくなので買ってみた.しばらく使ってサイズとか色々とダメそうなら,また京ぽんに戻して電池パックでも買うとしようかのう……


というわけで,そういう縮退にならないように,色々と快適ツールなど導入してみる.しゃあるさんW-ZERO3向けプログラム なんてのを教わったので,ひとまず [es]Silencer 入れて盗撮準備おk!

あとはしばらく使ってみて,サイズに慣れるかどうかだな.ポケットにこれ入れたら他に何も入らんとか,あの小物置き場が冗談抜きに皆無な S15 のどこにこれを置こうかとか……

「新・刑事コロンボ」がががが   ▽20070108a #日記

現在進行形で放映中だったなんて……ッ!

初期シリーズは DVD 全22枚すべてコンプリートしてるんだけど,この「新・刑事コロンボ」シリーズはまだ DVD 化されてねーのですよ.

困りますよもうこういうのは先に言ってくれないと!w……全22話だから明日の放映から録画して残り 5話か……(´・ω・`) 年単位で待てば再放映しそうだけど,22話の後にリピート放映しないかなぁ……

スクリーンショットを撮ってさくっと人に見せたい   ▽20070107b #コンピュータ

普通の手順は,まず Alt + PrintScreen キーでクリップボードに画像を取得し,ペイントブラシなり何なりを起動してから画像を貼り付けて,ファイル形式(SS 用なら PNG 形式が好み)を選択して,外部から見れる場所(ディレクトリ)を選択してファイル保存.

手間がめんどい.もっと楽にやる方法はないのか.

よくあるスクリーンキャプチャ系ソフトはどうかと思ったが,実際に使うシチュエーションを考えてみると,「撮ろうと思う → キャプチャソフト起動 → 撮ろうと思ったソフトで撮影 → キャプチャソフトで保存」と,対象があっちこっちを往復するので,気分的にかなりウザい.面倒.

理想のパターンとしては,「まず撮る → 目的ディレクトリを選択 → クリップボード画像をファイル保存」というのが思考の流れに沿っていて無駄がない.さらに,「目的ディレクトリを選択」というのが,よくある「ファイルを保存ダイアログ」だと面倒くさいってのが,ファイラを使い慣れちゃってる弊害というか.

というわけで,そういうソフトを探してみる.理想は,シェル拡張みたいにコンテキストメニューで「ここにクリップボードの画像をファイル化」みたいにできたらいいね.


……と思ってかなーーーーり探したんだけど.なんでそういうソフトないんだ? 誰も欲しがらないものですかねー?


仕方ないから自分で作る? シェル拡張のコードとか書いたことないけど……とか思ってたら,シェル拡張コンポーネントをマネージコードで作るな!? という耳寄りなガッカリ情報をゲットしましたよ.うぇー……今さら C++ とかで書きたくないよう.C# がいいのー.しーしゃーぷー.


次の策.「クリップボードから画像をファイル化して,引数で指定された場所に保存するソフト」を自分で作って,なんかのソフト使ってコンテキストメニューからそれを呼び出すってのはどうでしょうかね?おおう,これはイケそうな気がしますよ!?

……と思ってかなーーーり探したんだけど(またか),あのね,フォルダのコンテキストメニューに機能を割り振れるのはいっぱいあるんだけどね,なんとゆーか,エクスプローラでいうとツリーじゃなくて右側の方,ディレクトリの中身の方ね,ここの余白で右クリックしてメニュー出す時のアレ,あそこにコマンドを追加できるものが何一つないわけですよ.

なんでかなー.TortoiseSVN とかだとそこにもメニュー出るから,そこに出すことが原理的に不可能ってわけじゃないと思うんだけど……もっと内部に突っ込んで勉強しないと原因は判りそうにないな……


そんなわけで,理想のプログラムはひとまず断念して,GetWinShot とか利用することにしますた.ランチャに仕込んでおいて,ファイラでファイル保存場所に一発で飛べるようにしておけば,こういう使い方ってことでこれは便利.作者さまありがとう.

サブマシンの CPU FAN も変更してみた   ▽20070107a #PC

なんか最近,サブマシンで H264 エンコしてると,ファンの回転数ががっつり上がって通常 3300rpm くらいだったのが 4600rpm になって,とんでもねー騒音というか不快なノイズを発するわけですよ.

メインマシンのクーラを交換したらよく冷えるし音も静かだしでにこにこなので,ここはひとつサブマシンのクーラも変更しようと思い立ったわけで.

でね,サブマシンは A8S-X なのだが,メインマシンに付けてるのと同じクーラ ANDY SAMURAI MASTER だと,デカすぎてレイアウト的に周囲のパーツに厳しいかなと.

というわけでちょっと小さいサイズのを探しに秋葉に行ってきた.横浜で探しもしたんだけど,どうも LGA775 用ばかりというか,品揃え自体がイマイチで……というのは言い訳で単に秋葉に行きたかったんですハイ.

で秋葉で SLC-747 とゆーのを買ってきた.サイズはあまり大きくないし,ヒートシンクの部分は斜めにカットされてるから,A8S-X のノースのヒートシンク(青笊)とも干渉しないだろう.おkおk.


……と思って付けてみたら,取付け金具がデカすぎてヒートシンクと干渉しまくりイエーイ ってどういうことよ!あと干渉してなくてもさー,取り付けの説明書にある「ここ押してフック」っていう押す場所が,もろにヒートシンクに隠されてて普通に押せなくなるのってどうよ!

結局,近所の PC-DEPOT で 峰COOLER 買ってきて付けた.泣きたい.SLC-747 余ったんで誰か欲しい人にやる.ちくしょうちくしょう.


まぁそんなわけで,実は 峰COOLER の取付け金具も,サイズ自体は小さいんだけど固定時にフックピンを回そうとすると青笊と干渉したわけだが,これは青笊の方のピンを少し曲げて対処可能だった.

結果,CPU 温度はアイドリング時で 2度ほどダウン,回転数は FAN 径デカいので 3300rpm → 1100rpm くらいになった.まだ高負荷状態は確認してないが.

まぁめでたしめでたしってことで……

お車のメンテナンス   ▽20070106a #鯖汁

なんだかんだで正月ずっと動画いじりやってて家から出なかったので(箱根駅伝の影響で道路事情が悪いから出たくないという理由もあったのだが),今日は久しぶりに家から出てみる.

本来の計画では,銀行にちょっと寄ってからマジスパで食事して,その後に NEXT でオイル交換でもしようか……ってところだったのだけど,すごい混雑で銀行に時間を取られすぎて中休みの時間帯になってしまった.ので,先に NEXT に行ってからマジスパに行くことに.

というわけで NEXT でエンジンオイル交換をしようと思ったら,なんかそろそろ色々な液体系が交換時期だよねーってことで,いつの間にかミッションオイルとデフオイルとブレーキフルードとクラッチフルードとLLCを交換しておりましたw

まぁ年に 1回くらいはこういう大掃除を……ってもう 1年たってるのか.去年はほんと後半あたり仕事仕事でぜんぜん車に乗れてなかったからなぁ.今年はもっと走行会だの練習会だのに行きたいなーと思いつつ.

あぁそうそう,なんか右ウィンカを出した瞬間にヘッドライトが瞬くという謎現象が発生していたのだけど,これはレバー Assy の交換だろうってことで,実害は少ないけど不快なので交換することに.

あと帰り道で,またもやブースト計が止まってたのを確認.ホントこのブースト計はトラブル多いなぁ……

MP4Box,FreeBSD と Windows で挙動が異なる件   ▽20070104a #コンピュータ #動画圧縮

さてさて昨日は「ファイルを正常に抽出できないのは AVI ファイルが悪いのでは」 ってことでエンコ仕込んで寝たわけだが, 起きてみてパラメタ変更した AVI を食わせてもやっぱしダメだった. 昔作った DivX の AVI を食わせてもやっぱし正常に動かない, けどこれは本当に AVI がダメなのかもしれなくてあまり参考にならない.

それにしてもコケてるサイズが「だいたい 2GB くらい」なのが気になる. AVI1.0 は 2GB ファイル制限とかあるけど, 2GB 以上でも正常に抽出できる AVI もあるし, だいたい抽出後のファイルが 2GB ってことは AVI 的には 2GB を超えてるはずだから, MP4Box が AVI2.0 っつか OpenDML に対応してないってこたーあるまい.

で,試しに Windows の MP4Box でやってみたら……おいおい正常に抽出できるじゃんよー. Windows で動いて FreeBSD で動かない? なんでやー. とりあえず AVI 自体は問題ない,と思われる.

となると MP4Box が FreeBSD で 2GB まわりでバグってる? ということで検索してたら, なんかすげー似た症状を訴えてるひとを発見. AVI ファイルから H264 を抽出しようとしたら, 3.2GB あるはずなのに 2024MB しか出てきませんよーって,おおう全く同じ症状だ.

別のエンコーダだとどうよ? とか,そもそも AVI 使わなければいんじゃね? とか, 周囲の雑音に紛れて MP4Box 作者が登場. 結局「バグレポート登録してくんね?」「わーったよ作っとくよ」ってことになったようだ.

さて MP4Box というか GPAC のバグトラック. って,さっきの R!tman 氏のバグがまだ生きてる件w 登録されたの 3月とかだよ!?w で,そこには何やらヒントというか回答めいたものが.


 Can you try if it help if you 
 use "./configure --extra-cflags=-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
 -D_LARGEFILE_SOURCE=1" 
 should only be needed if you use a 32bit installation.

ファイルまわりの 64bit 対応をさせるコードなんですかね. さらに検索して調べると,Solaris とかある種のシステムの 32bit 版で, fseek()ftell() を 64bit 対応(というか 32bit 非依存化)させるのに使う定数らしい. そんでよくよく調べると,FreeBSD では fopen() とかは素で 64bit 対応なんだけど, fseek()ftell() だけは 64bit 版が別の関数( fseeko()ftello() )があるみたいだ. へぇー……生の C なんて 16bit の頃からこっち使ってなかったから全然知らなかったぜいw

となると,昨日ソースコードをごりごり解析していて見つけた中に怪しい箇所がある.


 src/util/os_divers.c
u64 gf_f64_tell(FILE *fp)
{
#if defined(_WIN32_WCE)
    return (u64) ftell(fp);
#elif defined(WIN32)
    fpos_t pos;
    if (fgetpos(fp, &pos))
        return (u64) -1;
    else
        return ((u64) pos);
#elif defined(CONFIG_LINUX)
    return (u64) ftello64(fp);
#elif defined(CONFIG_FREEBSD)
    return (u64) ftell(fp);
#else
    return (u64) ftell(fp);
#endif
}

ちょ…… CONFIG_FREEBSD とか名指ししといて ftello() 使ってないじゃん!ww さらにコードを grep してみると, せっかく gf_f64_tell() とか定義してるのに ftell() を直接使ってる箇所が山ほどあったりして, なんだかなぁもう……

そんなわけで,ftello() とか fseeko() を使うように os_divers.c を書換え. さらに MP4Box のコードで ftell() を直接使ってる箇所があったんでそこは gf_f64_tell() に書換え. さらにさらに,なぜか CONFIG_FREEBSD が認識されてなくて最後の else に来てるみたいなんで, ports の Makefile の CONFIGURE_ARGS--extra-cflags="-DCONFIG_FREEBSD=yes" を追加. そしたら改めて ports でコンパイルっと.

と! いうわけで! やっと期待通りに動いたー!!!!ヽ( ´∀`)ノ

さて次の問題は,HD 画質を H.264 でエンコードすると, 1280x720 サイズでもカクカクで再生できない件ですが. こればっかりはどうしようもないから CPU と GPU の進化を待とう……w

H.264 の avi を mp4 に(on FreeBSD server   ▽20070103b #コンピュータ #動画圧縮

さて avi の問題点も把握したところで, やっと mkvtoolnix に 「allow_avc_in_vfw_mode」なんてモードがある理由も把握できたような気がする昨今. 「1フレームに 2個押し込めつつヌルのフレームを挿入」とか 「必ず 1フレームずつずれる」とか, ちょっと齧っただけでもとてつもなく美しくない策を弄するしかないあたり, きっと avi フォーマットってのは世界の各地でこよなく憎まれていることであろう.

ただ上記の mkvtoolnix の出力によると, 「VFW モードの AVC を Matroska コンテナに押し込めるのは未定義. いったん MP4Box で洗ってから native モードで入れなおしな」と出るので, まぁこちらとしては初めから mp4 にしようとしてるわけだが, するってーと MP4Box ってのは「きれいな」H.264 ファイルにして格納してくれるのかしらね?

早速 MP4Box を使ってみるわけだが, まぁ Windows 上だと GUI とかもちろん存在するわけで, YAMB という MP4Box のフロントエンドがしっかりあるわけですな.

ちなみに以下のような手順になる.

  1. PV3 で録画.→ .dv (EARTH DV 形式)
  2. TMPGEnc4XP で CM カット& x264 出力 → .avi (H.264/VFW + MP3)
  3. MP4Box で raw video と raw audio を extract → .h264 + .mp3
  4. MP3 を AAC に変換 → .aac
  5. MP4Box で .h264 + .aac を .mp4 にエンコード → .mp4

うわぁ面倒くさいw

こういう面倒なのはバッチファイルにしてコマンドラインでやってしまうに限るわけだが, うちの環境の場合これらを行なう場所がネットワークドライブ上なので, 数 GB のファイルをいちいちネットワーク横断させないといけなくて, 大変に遅くなってしまう. そこで,どうせならこれらの作業すべてファイルサーバ上でやってしまおう,と.

用意するものは以下の通り.

  • MP4Box ( ports: multimedia/gpac-libgpac )
  • FAAC ( ports: audio/faac )
  • mpg123 ( ports: audio/mpg123 )

作業はこんな手順で.


 MP4Box -aviraw audio infile.avi
 MP4Box -aviraw video infile.avi
 mpg123 -w infile_audio.wav infile_audio.mp3
 faac -q 100 -b 160 -c 48000 --mpeg-vers 4 --obj-type Main infile_audio.wav
 MP4Box -fps 29.97 -add infile_video.h264 -add infile_audio.aac infile.mp4

うーん……TMPGEnc4XP の avi 出力の時点で AAC にエンコードできれば手順がひとつなくせるのだけどなぁ. あと MP4Box の入力ファイル名に日本語(UTF8)が使えないぞ.どーなってんだ.

とまぁ,ここまでやって, なんか途中の MP4Box -aviraw video で抽出する H.264 データのファイルサイズがおかしいことに気づいた. 元の AVI ファイルを作る際のパラメタが悪くて変なデータになって途中で切れているのでは, とか予想して,パラメタ変更してエンコ仕込んで寝よう.

動画ファイルいじってたらまる 1日潰してしまったが, いろいろと知識が増えたからまぁよしとしよう……

H.264 動画 を AVI コンテナに入れた際の問題点とか   ▽20070103a #コンピュータ #動画圧縮

詳しくはココ

……後でぜったい内容忘れるから書いてあることをメモっておこう.


そもそもの問題点

VFW インタフェースと AVI コンテナは基本的に「Bフレーム」を扱えない. 古臭いテクノロジなので「Bフレーム」みたいな最新テクノロジには対応できないのだ.

「Bフレーム」を使いたかったら,できることといったらふたつくらい.

  1. んな古いテクノロジはさっさと捨てて,.MP4 を DirectShow 経由で使うとかする.
  2. 何とかして対応できるためにハックと開発をする.

ふたつのハックの方法

ハックとしては 2種類ありうる.

  1. エンコーダがうまいこと処理する(XviD で packed bitstream を使った場合,あと DivX5 も)
  2. デコーダで頑張る(packed bitstream を使ってない時の XviD)

基本的なトコ

まず,vfw/avi で Bフレームがどういう風に扱われてるのか理解しとこう.

通常,コンテナには「I P B B」の順でフレームが格納され,表示の際には「I B B P」の順で出力される.

vfw/avi は「1フレーム読んで 1フレーム出す(1 in, 1 out)」という仕組みになっていて, 1フレーム読み込んだら必ず 1フレーム出力しなきゃならない (エンコードもデコードも両方そう). Bフレームというのは前後ふたつのフレームの情報から間のひとつのフレームを作り出す技術なので, 「2 in, 1 out」という風に動けない vfw/avi ではうまくいかない.

今時の普通のデコーダの挙動を示す.

  1. まず Iフレームを普通に読んで出力する.
  2. 次に Bフレームを出力したいところだが,それには I/P のフレームが必要だ. I は既にデコード済みなので P までのフレームを読んできて Bフレームをデコードし出力. つまり「3 in, 1 out」となる.
  3. 同じように次の Bフレームを出力.
  4. 最後に Pフレームを出力する.

デコード時のハック

まず,やりかたその1.

avi/vfw の「1 in, 1 out」の法則があるので,まずはエンコーダ側で対応しとかなきゃならない. packed bitstream とか呼ばれる手法がこれだ. すなわち,最初の Bフレームが Pフレームと同じ 1フレームに入って, 「I P B B」が「I P+B B N」になるのだ. N というのはフレーム番号だけ持ってる空フレームだ.

その上で,デコーダの挙動はこうなる.

  1. まず Iフレームをデコード
  2. 次に Bフレームをデコード.これは I と P を必要とするが, P は B と一緒に入ってくるのでデコードできる. AVI的には両方で 1フレーム扱いとなっている.
  3. I と P は既に読み込んでるので 2番目の B もデコードできる
  4. 最後に P を出力.

このハックは,1 フレームに 2フレーム分の情報を送ることで, avi/vfw の「1 in, 1 out」の法則をうまく回避できる. が,普通の MPEG4 標準に従って書かれたデコーダは, この packed bitsream を扱うことができない.

やりかたその2.

コンテナには正しく「I P B B」の順にフレームが格納され,デコーダ側でこれを何とかする.

  1. デコーダはまず Iフレームを読み込むが,ここでは空フレームだけを出力する.
  2. 次に Pフレームが入力されるが,ここで最初の Iフレームを出力する. 「1 in, 1 out」の法則は,初回の空フレームも込みで維持されている.
  3. 次に Bフレームが入力されると,ここで I + B + P が揃うので,Bフレームをデコードできる.
  4. 2番目の Bフレームも同様にデコードできる.
  5. 最後に Pフレームを出力.

このハックだと,空フレームを作ることで「1 in, 1 out」のルールに対応できるが, デコーダは入力されたフレームと違うフレームを出力していることになる. が,packed bitsream と違って,MPEG4 標準ではこれを使用するよう定義している.

エンコード時のハック

というわけで,avi/vfw で Bフレームを扱うためのデコード時のハックは 2通りある. さらにエンコード時にもハックがある.

Bフレームをエンコードするには普通は以下の手順が必要となる.

  1. 最初のフレームを Iフレームにエンコードする.
  2. 2番目の,Bフレームとなるべきフレームが入力されるが, Pフレームが来るまでは Bフレームをエンコードすることができない.
  3. 3番目のフレームも同じようにエンコードできない.
  4. 4番目のフレームを Pフレームとしてエンコードする.
  5. I と P が揃ったので,Bフレームをエンコードできる.
  6. 同じように 2番目の Bフレームをエンコードできる.

もちろん,avi/vfw の「1 in, 1 out」の法則により, ステップ 2 と 3 の「何も出力しない」は不可能だ. そこで,エンコーダは「ディレイフレーム(delay frame)」と呼ばれる空フレーム(1バイトの 0x7F のみから成る)を出力する. このディレイフレームは,単に「1 in, 1 out」に従うためだけに出力されるもので, これが MPEG4 標準への準拠を不可能にする.

そこでどんな手段があるだろうか. Virtualdub(mod) は,エンコード中に得たディレイフレームをすべて捨てるという対処をしている. これにより,出力された AVI ファイルにはディレイフレームがなくなる. が,VFW が必ずしもこういうディレイフレームを捨てるフロントエンドで使われるとは限らない.

……AVI とか VFW,これマジどうよw


……けっきょく全部翻訳してしまったw

x264vfw の H264+MP3 を MPEG4/AVC で AAC な mp4 に   ▽20070102a #コンピュータ #動画圧縮

略して「のをでなに」(黙れ

というわけで何の話かというと,保存用の動画エンコードのことで.

今までは MTV2000 で MPEG2 形式で録画し,これを TMPGEnc4XP の内蔵 DivX で AVI ファイルにして保存していたわけだが.DivX 形式は家電化のための標準化だか何か知らないがやたらと制限を増やそうとしていて,TMPGEnc4XP がそれに追従しちゃうもんだから,最近のバージョンではとうとう 2GB 以上のファイルを作れないという役にたたんものになってしまった.

でもって解像度.今までは 720 * 480 で録画したものを左右削って 704 * 480 にし,これを 640 * 480 にサイズ変換して DivX にしてたのだけど,HDD もでかくなってきたことだし,せっかくだから 704 * 480 の解像度を維持したい.が,AVI ファイルはピクセルの縦横比が 1:1 固定なので,704 * 480 の 10:11 ピクセルを使えない.

となると方法は 2通りあって,(1) AVI 以外のコンテナを使う,(2) AVI でもデータが縦横比を保持してくれるコーデックを使う.後者は XviD 辺りが相当するんだけど,昔ちょっと試したら,ある程度の画質を維持しようとすると異様にエンコ遅かったんでこれはパス.

んじゃ AVI 以外のコンテナはというと,mkv とか ogg とか mp4 とかあるわけだが,TMPGEnc4XP の超便利な CM カット UI を捨てたくないので,TMPGEnc4XP がネイティヴで出力できるやつで.となると mp4 か,これなら H264 エンコーダも内蔵されてるし.

ということでここんとこしばらく H264 で mp4 エンコードしてたわけだが,内蔵エンコーダの欠点は 720 * 480 までしか対応していないこと.MTV2000 で使ってればこれは問題にならなかったのだけど,10月末に PV3 を入手してハイビジョン番組も録画するようになったら,これは大問題になってきた.

仕方ないから,いったん AVI 用の VFW コーデックで出力して,後から mp4 だの mkv だのに変換するってのはどうかなーと.色々と試すとやはり H264 がビットレートあたりの画質が良い感じなので,フリーで VFW として使える x264 とか使ってみる.そんで出力の AVI を MP4Box で mp4 に変換とかどうよ.TMPGEnc4XP は AVI 出力時に音声を AAC 出力できないので,FAAC で MP3 を AAC に変換したりとかしてさ.

……というわけで,色々やり中.x264 の B フレームが AVI でアレコレとか,面倒だからファイルサーバ側で変換できないかとか……

ゲームコンソールの未来を憂う(何   ▽20070101a #日記

さて大晦日は例年通りみっち邸でぐだぐだと.すき焼きとか食べながらビデオ見たり酒飲んだりっと.

いつもはゲームとかしてたんだけど,今年は Wii のゲームが大して面白そうなのなかったので,ビデオを……と思ったらなんか仮面ライダーとかみたいのだったのでビミョーに退屈ですた(´・ω・`)

つか Wii.結局なんだか一度も起動すらしなかった気がするんだけど,ライトゲーマ層どころか非ゲーマ層を取り込むって目標で作られたアレは,やっぱしちょっと既存ゲーマ層には訴求力低いんじゃないですかね.

コントローラの特殊性自体はゲームコンソールの売りにはならないのだが,とにかくもあの任天堂の方針,ゲームハードウェアの進化はストップしてソフトウェアで客層の拡大を図るってやつ.アレがいつまで続くものかって点がとても気になる.

ゲームコンソールというものはほぼ確実に「ひとり勝ち + その他」になっちゃうわけで,Wii がそのひとり勝ちになっちゃうと,今後数年間はこういう「非ゲーマ層向けゲーム」ばっか出て,既存ゲーマ層向けゲームは質的な向上が出来ないのではなかろーか.

しかも,非ゲーマ層を拡大といっても,世界の全員がゲームをやるようになるわけじゃない.新しいネタはそこまで頻繁には出ないから,受けたゲームの続編ばかりになってくるだろう.DS が脳トレ天国になっちゃってるみたいに.

とりあえずアレだ,Wii で「HD画質の超キレイでリアルなゲーム」は作れないけど,PS3 や Xbox360 で「アイデア重視のライトゲーム」は作れるわけだから,まずは「PS3 リモコン」や「Xbox360 リモコン」を出せば OK だ.ゲーム開発費の方はミドルをもっと充実させないと大変だろうけどなー.

index