Philipsヘッドフォンマラソン Vol. 1 SHE9700

Philipsのヘッドフォンをモニタレポートさせていただくことになった。5種類のモニタ製品が隔週毎に送られてきて、その仕様感等をレポートするという内容。いわゆるステレスマーケティングとかではないので、一応こうして事前にその旨を記載しておこうと思うし、レポートについては率直な意見を述べさせてもらう予定。

実のところ、僕の中ではフィリップスのブランドイメージは電気シェーバーだったのだが、ことヨーロッパではフィリップスのヘッドフォンはシェアNo.1を誇っているとのこと。そして今回のレポート商品のSHE9700も、amazonのベストセラーランキングでも常時No.1というのだから、これは僕の認識のほうが旧来然であったと認めざるを得ない。

さて、肝心の仕様感。僕が普段愛用しているのは、音質では比較的定評のあるハーマンインターナショナル(AKG)のK324Pというイヤフォンなのだが、ざっくりと言えば、それと聴き比べてもほとんど遜色ない。むしろコストパフォーマンスを考えれば、こっちのほうが断然上を行っている。どの音域も安定しているので、幅広いジャンルで使用できるのではないかと思う。エイジングが進めば、さらにいい音を出してくれるのかもしれない。

K324との比較で一番の違いは、SHE9700の密閉性の高さだろう。街中で装着していると外の雑音がかなり遮断される。例えばK324の場合はコンビニ等で買い物をするときも、ボリュームをOFFにすれば問題はないのだが、SHE9700の場合はボリュームをOFFにしても店員の声が少し聞き取りづらい。それくらいノイズを遮断してくれる。そうした理由で、自転車に乗りながらの使用は危険なのでお勧めできないw。

気になった点といえば、まぁこれは大抵のヘッドフォンについても言えると思うけれど、ある程度のボリュームを確保しないとダイナミックさに若干欠ける気がするくらい。あとは、右のケーブル(?)のほうが左よりも長いタイプ、つまり首の後ろに周して使用するタイプなのが、個人的な趣向で言えばちょい外れていたところ。

んでもって、現在フィリップスでは、購入した対象ヘッドフォンの音に御満足頂けなかった方に、全額返金するという、なんかどこかのハンバーガーみたいなwキャンペーンをやっているそうなので、ヘッドフォンの購入を考えている方は、トライしてみてはどうでしょうか?

[原音力体感キャンペーン]
http://www.philips.co.jp/about/campaign/PA_campaign091009.page

Cell Regzaという怪物

ぶらぶらとウィンドウショッピングをしていたら、今年5月に閉鎖した池袋三越店の跡地に人集りが。何かと思ったら、ヤマダ電機日本総本店なるものがオープンしていた。正確にはオープンは昨日で、そもそも三越の閉鎖決定時に、既にヤマダが跡地を賃借し、本店をオープンすることが決まっていたらしい。池袋というシマを奪い合う、ビックとの仁義亡き戦いが更に激化してきた様相。

それはさておき、1階の噂のCell Regzaが参考出品という形で展示しており、その映像の美しさに心奪われた。そのクオリティに比べると、周りにある現在リリースされているテレビのどれもが、霞んで見えてしまう。それぐらい圧倒的だった。

ヤマダとビックの熾烈な争いのように、東芝と言えば次世代ディスク抗争で、Blu-ray陣営に辛酸を舐めさせられたという記憶もまだ新しいところだが、今度はテレビというフィールドで、SonySharpに巻き返しを行うのか。少なくとも画質を観ただけでは、東芝Cell Regzaには戦慄さえ覚えさせられる鬼神のごとき戦闘力が窺えるのだが…。

湯川潮音かぁ

キラキラジブリ」というアルバムの中に、ナウシカレクイエム - 君を乗せてという曲があります。これは空気人形の音楽を手がけたWorld's End GirlFriendの手によるものなんだけれど、最近この曲でボーカルをやっている湯川潮音というアーティストが気になる。偶然だけれども、湯川潮音は「リンダリンダリンダ」でも役者として出演していて、この映画でドゥナと競演していてるんですねー。アルバム聴いてみようかな。

空気人形を見てきた

ペ・ドゥナ主演ということで以前から楽しみに待っていた、是枝裕和監督の「空気人形」がめでたく公開となったので観てきた。劇場はシネマとしまえん

感想は星3.5といったところ。ざっとblogなんかで他の方の評価をチェックしたところ、概ね高評価を与えている人が多いみたいだったけれど、僕的には期待の割にはちょっと残念な感じ。これは僕個人の勝手な邪推なんだけれど、監督がペ・ドゥナという類いまれな才能を持つ女優に入れ込み過ぎて、彼女の魅力を最大限引き出そうと頑張り過ぎてしまっているのが原因なのではないかと思う。

「ほら、彼女こんなに可愛いんですよ」ってな押し付けがましい声が、物語の至る所で聞こえてきて、そんなこと言われなくても彼女のキュートさは知っているし、監督の余計な配慮などなくても、ペ・ドゥナという女優は自分のらしさを十分にフィルムに焼き付けることができる人なのではないだろうか。

ところでこの映画は音楽がいい。エンドロールで知ったんだけれど、World's End Girlfriendというグループが手がけている。サントラも出ているので買ってみようかな。

3D回転

英語版購入後、まさかの日本語翻訳版が発売され嬉しいやら悲しいやらのMaking Things Moveですが、9割方読了しました。「もっと早くからこの本を読んでおくべきだった」と思うくらいの充実の内容です。書評は改めてエントリーしようと思いますが、とりあえず今日は本書で紹介されている3D回転のカスタマイズについてです。

15章で紹介されている、Y軸を中心にオブジェクトが回転し続けるサンプル(RotateY.as)を、任意の角度だけ回転して止まる様に改良しようと、出来の悪い頭を随分と悩ませてみました。その際、以前エントリーしたTweenerでprivateプロパティをイージング操作する方法が役に立ったので、情報共有をば。

[こんな感じでトゥイーンで回転]
http://www.studio-hedgehog.com/prototype/as3/3dRotation/

本書掲載のコードはご紹介できないので、以下主な改良点だけざっくりと書きます。この本を持っていない方は、なんのことやらさっぱり分からないと思います。ごめんなさい。

1. Ball3Dクラスに新たに、initX, initY, initZというインスタンスプロパティを用意。これらの値にはメインクラスのinit()実行時にxpos, ypos, zposの値を代入する。(サンプルに従い、ここではpublicメンバにしてあります)

public var initX:Number;
public var initY:Number;
public var initZ:Number;

2. メインクラスにy軸回転用のプロパティを用意。

private var _angleY:Number = 0;

3. Event.EnterFrameリスナーを登録する代わりに、Tweenerを使用します。

Tweener.addTween (this, {
  //y軸を中心に時計回りに360度回転
  angleY:Math.PI * -2, 
  time:3, 
  transition:"easeInOutBack"
});

4. getterとsetterを用意。

public function set angleY(angleY:Number):void {
  _angleY = angleY;
  for each (var ball:Ball3D in balls) {
    rotateY(ball, angleY);
    doPerspective(ball);
  }
  sortZ();
}

public function get angleY():Number {
  return _angleY;
}

4. メソッドrotateY()の3,4行目を以下のように変更

var x1:Number = ball.initX * cosY - ball.initZ * sinY;
var z1:Number = ball.initZ * cosY + ball.initX * sinY;


angleYをpublicにして、TweenerのonUpdateで回転させるメソッドを呼んでやるよりは、こちらの方がスマートだと思います。Tweener.addCaller()でも同様のことができるのかと思ったのですが、どうもこのメソッドはtimeとcountプロパティを併用して、「○秒で△回任意のメソッドを呼ぶ」ような時に使うメソッドっぽいですね。

new Event()をこうやって使うのはありかな?

マウスイベントに割当てたメソッドを、マウスイベント以外から参照したい場合がたまにあります。例えば以下のような状況で、myMethodをthisからマウスイベントを介さずに呼びたい場合、どうすればいいでしょうか?

var sprite:Sprite = new Sprite();
sprite.graphics.beginFill(0x333333);
sprite.graphics.drawRect(0, 0, 100, 20);
sprite.graphics.endFill();
addChild(sprite);

sprite.addEventListener(MouseEvent.CLICK, myMethod);

function myMethod(event:MouseEvent):void {
  trace(event.type);
}

addEventListener()で登録されたリスナーは、パラメータにイベントオブジェクトを受け取る必要があります。ですので、まずmyMethodがマウスイベント以外のタイプのイベントを受け取れるように、パラメータの型をMouseEventからEvent(またはnull*(アスタリスク))にします。

function myMethod(event:Event):void {
  trace(event.type);
}

そしてこのイベントを参照する際には、

myMethod(new Event("hoge"));
//output hoge

のように適当なイベントタイプ名で生成したEventオブジェクトをパラメータとして渡してやります。

んー、なんだかあまりスマートな方法ではない気もしますが、他にやり方が分からなかったのでまぁいいかなぁ。

【追記】
別の方法を思いつきました。

そうかdispatchEvent()も要らないのか

ベッドに入ったら、またひらめいたので、仕方なく再エントリー。もう寝たい。

単純にこれで良かった。dispatchEvent()とかイラネ。hogeとかバカみたい。でもMouseEventもnew()で生成できるの分からなかったから。

var sprite:Sprite = new Sprite();
sprite.graphics.beginFill(0x333333);
sprite.graphics.drawRect(0, 0, 100, 20);
sprite.graphics.endFill();
addChild(sprite);

sprite.addEventListener(MouseEvent.CLICK, myMethod);

myMethod(new MouseEvent(MouseEvent.CLICK));

function myMethod(event:MouseEvent):void {
  trace(event.type);
}

もう寝る。絶対寝る。起きたらブレードランナー観に行こう。ニート万歳。