radium.png
HOME | ARCHIVE | PRODUCTS | ABOUT | RSS

Synthesizer History

2005-10-01

シンセサイザーの起源についても調べてみると,色々と面白いことが分かってくる。今年8月に亡くなったロバート・モーグ博士は「シンセサイザーの父」として有名な人物だったけれど,氏はシンセサイザーの実用化と普及に大きな寄与のあった人物であって,シンセサイザーそのものを発明したわけではない。それじゃあ,シンセサイザーを「発明」したのは,一体誰なんだろう?

電気楽器の歴史については obsolete.com の "120 Years of Electronic Music" が参考になる。このページの解説によれば,電気楽器の歴史はヘルムホルツが共鳴現象の実験のために作成した機器にまで遡ることができるとされている。これがだいたい 1860 年付近の話だ。ただし,これはあくまでも科学実験用の機器なので,これを電気「楽器」と呼ぶには少し無理があるかもしれない。ちなみに,ヘルムホルツはバイオリンの弦の動きを詳しく分析したことでも知られている。

ヘルムホルツの後, 19 世紀後半から 20 世紀前半にかけて様々な電気楽器が開発されている。ただし,そのほとんどは発展することなくすぐに廃れてしまったようだ。現在もなお使われ続けている有名な電気楽器としては, 1917 年の「テルミン」 (Theremin) や, 1928 年の「オンド・マルトノ」 (Ondes-Martenot), 1935 年の「ハモンド・オルガン」 (Hammond Organ) などが存在する。ただし,これらの楽器は発音に物理的な機構を利用した「電気楽器」であって,発振から出力までを電子回路で完結させる「シンセサイザー」とは異なるものだ。

初期のアナログシンセサイザーの開発は,同時期に複数の研究者が平行して行っていたため,その最初の発明者を厳密に特定することは難しい。ただ, 1950 年代前半の RCA 社において Harry Olsen と Herbert Belar が開発した "Electronic Music Synthesizer" は,いくつかあるシンセサイザーの始祖の中でも最も近代的なものとして知られている。

RCA のシンセサイザーは,真空管発振器を利用した正真正銘の「シンセサイザー」だ。その巨大な図体は初期のコンピュータを連想させるものがある。制御に大量のリレーを利用していたようだから,きっと動作中はバチバチとリレーの切り替わる音がうるさかったに違いない。機能面では,エンベロープジェネレータやハイパス・ローパスフィルタ, LFO 変調などを搭載しており,その後の主流となる減算式アナログシンセサイザーの体裁をほぼ構築していることが分かる。

面白いのは,パンチカードによるシーケンス入力と,ラッカーレコードへの録音に対応していたという点だ。このシンセサイザーにはリアルタイムの操作子が付いておらず,演奏はすべてパンチカードを介した制御によって行われることになる。これは現在のシーケンサに相当するものと考えることができる。また,音の出力はスピーカーを介して行われるほか,ラッカーレコードへダイレクトに録音することもできるようになっている。この機構は多重録音にも対応しており,バウンシングを繰り返せば 216 トラックまでの多重録音を行うことができたとされている。つまり,原始的な MTR まで内蔵していたわけだ!

RCA シンセサイザーの音色は Reverse Time Page 内の解説ページで試聴することができる。初期のシンセサイザーというと実験音楽的なものを連想するのだけれど,この機器に関してはコンピュータによる自動作曲の研究が本来の目的であったということもあって,案外に無難な音を出していることが分かる。これはこれで質素で味のあるいい響きだ。


Texas sharpshooter fallacy

2005-10-02

本当は何ら意味の無い情報の中から何らかのパターンを見出してしまう現象のことをクラスター錯覚 (clustering illusion) と呼ぶ [Wikipedia。クラスター錯覚は認知バイアスの一種であり,統計データから誤った解釈を導き出す原因となることがある。この現象については「懐疑論者の辞書」に挙げられているコイントスの例が分かりやすい [Skeptic's Dictionary] 。もし,コイントスで表が続けて4回出たら,多くの人は何らかの規則性をそこに感じ取るだろう。確率論的には大した意味が無いのにも係わらず……。

クラスター錯覚のような「まやかしの有意性」から理屈を組み立ててしまうことを「テキサスの射撃手の誤謬」 (Texas sharpshooter fallacy) と呼ぶ [Wikipedia] 。詭弁・誤謬の分類を行っているサイト "Fallacy Files" の解説では,次のような例が挙げられている [Fallacy Files] 。

ある病気「D」が都市「C」において偶然に期待されるよりも高い発生率にある。その都市「C」には工場が存在し,そこから化学物質「A」が環境に放出されている。ゆえに,物質「A」は病気「D」の原因である。

これが正論のように聞こえたら要注意だ。この理論展開では,物質「A」と病気「D」の関係が十分に説明されていない。そのふたつの要素が偶然に存在するだけなのかもしれないのに,ただパターンのようなものが見えるというだけで結論を導き出してしまっている。もし偶然でないとしても,その関係だけに着目して即座に結論を導き出すのは危険な考え方だ。このような統計データは仮説の組み立てには有効であるものの,それ自体が何かの因果関係を証明しうるものではない。

もっと面白い例としては Nicholas Taleb のたとえ話を挙げることができる [Philippa Huckle Group] 。

私はブッシュ大統領の命について完璧な統計的考察を完了した。この 55 年の間, 16,000 回近くの観察が行われたにも係わらず,氏は一度も死んでいない。故に,この高度な統計的有意性から,氏は不死であると断言する。

ところで,なぜ「テキサスの射撃手」なのだろう? これは,とあるテキサス人の逸話に基づいている。そのテキサス人の射撃手は,まず納屋の壁に向かって適当に銃を撃ち穴を開けてから,その穴の周囲に的を描いたという。この逸話から,偶然性に誤った解釈を与える際に「テキサスの射撃手」にご登場願っているというわけだ。


無題

2005-10-03

Mr.Fastfinger

051003.jpg

Mr.Fastfinger は緑の衣をまとったギター仙人だ。謎の南の島に住んでいて,みんなにヘビーロックギターの秘技を伝授している。ところがある日,島の中央にある山の中に邪悪なアコーディオン・デーモンが現れて,島に住むタッピング・ドワーフたちを間抜けなアコーディオンの音色で洗脳し始めてしまった! 島の危機を救うべく, Mr.Fastfinger はギターを手に取り,アコーディオン・デーモンとのジャム対決に挑むのだった……

"Mr.Fastfinger: Guitar Shred Show" は,フィンランド在住のフリーランス・デザイナー Mika Tyyskä 氏による Flash 作品だ。ラハティ・ポリテクニック (Lahti Polytechnic) デザイン学部での制作プロジェクトを規模縮小して完成させたのがこの作品であるということだ。この作品において Mika 氏は声以外のほとんどの部分を担当している。氏はデザイナーとして働くかたわらアマチュア・ミュージシャンとしても活動しており,この作品でも超絶的なギターテクニックを披露している。 Mr.Fastfinger が見せる細やかでリアルな動きも,氏のギタリストとしてのこだわりが反映されているところなのだろうと思う。

ともかく,適当にキーを押しているだけでも楽しい作品だ。きっとギタリストの人たちはこんな感じでソロプレイを楽しんでいるのだろうと空想させてくれる。また "Jam" の方で繰り広げられるショートストーリーも楽しげで良い。 Mr.Fastfinger の鮮やかな演奏に盛り上がるタッピング・ドワーフ達……。総合的な演出が非常にうまく,プレイヤーを「その気」にさせてくれる。音楽を演奏する側の「気持ち良さ」を体感することのできるひとときだ。

(via Matrixsynth)

Beatboxing

Kid Beyond はサンフランシスコで活動する beatboxing アーティストだ。 Beatboxing はヒップホップからの派生ジャンルのひとつで,人間の口を使ってヒップホップを表現するというものだ。 Kid Beyond は Ableton 社の DAW ソフト "Live" を使って楽曲の制作とライブ活動を行っており,その手法は Ableton 社のウェブ上で紹介されている (wmv) 。フットペダルにサンプルをアサインし,徐々にフレーズを重ねていくことによって曲を作り出していく様子は,見ていて非常に面白い。それ以前に Kid Beyond の beatboxing が素晴らしいというのもあるのだけれど……。

Ableton Live については,これまであまり調べたことが無かったのだけれど,これもなかなか面白そうなソフトだ。ライブパフォーマンスでの使用を考慮した設計になっているという点が興味深い。概要については Higher Frequency のチュートリアルビデオが参考になるかと思う。

(via Music thing)


Debug Logging

2005-10-05

Beep debugging

デバッガはプログラマの「七つ道具」のひとつだ。デバッグ作業にデバッガの存在は欠かせない。もしデバッガが使えなかったら? 難しい状況だけれど,それでもコンソール出力さえあれば,いわゆる「printf デバッグ」でなんとかなるだろう。では,もし printf によるコンソール出力さえも許されないような状況だったら,いったいどうすればいいんだろう?

ブログ "Bug Babble" の SteveJS 氏は,自律制御ロボットの開発を行っている最中に,そのような状況に陥った。ロボットを素早く動かすと,わけもなくハングアップしてしまう。数週間の調査の結果,高速移動中に赤外線センサーの前を物体が通過すると,そのような問題が発生することが判明した。しかしそれ以上の理由は分からない。このロボットが完成しなければ卒論を仕上げることができない。さて,どうしたものだろう?

そこで氏らがとった手段とは,ロボットに組み込みのスピーカーを使うというものだった。制御コードの合間にスピーカーから出る音の周波数を変更するコードを埋め込んでおく。すると,ロボットはまるで古いモデムの接続音ような「ピロピロ」という音を出しながら動き回るようになる。そして処理が停止すると,まるで心電図が水平になったときのような「プー」という音を出して止まることになる。このときの音の高さから処理の停止した位置を特定することができるというわけだ。

結局,氏らはこの手法を利用して,件のバグがハードウェアの設計ミスによるもの(センサーに接続する抵抗の誤選択)であることを導き出した。この逸話で面白いのは, printf が使えない状況であったにもかかわらず,最終的には printf デバッグのような手法で問題を解決したという結末だ。このように音を使う手法の他にも,例えばキーボードの CapsLock ランプを使う手法だとか,画面の背景色を使う手法だとか,様々な逸話を耳にすることがある。

Printf debugging

多くの場合「printf デバッグ」とは,本来デバッガを使うべき状況において,敢えて printf を使う行為のことを指すと思われる。すなわち,問題の発生した箇所の付近にひたすらコンソール出力を埋め込むことによって,処理の流れや値の変化を確認するというものだ。このような「即席の printf デバッグ」は,反復時の手間を考慮すると非効率的であり,極力デバッガを用いるようにすべきであると考えられる。

これとは別に,いわゆる「ログ情報」の出力先としてコンソール出力を用いる場合もある。普段から情報をコンソールに出力しておくことによって,いざというときの「手がかり」として役立てるというものだ。これは有効な手段であるものの,そのログ情報を如何に管理するかという点が往々にして問題になるのではないかと思う。情報の総量が多くなると個々の情報が読み取りづらくなってしまう。また,場合によっては出力にかかる負荷も無視できないものとなるはずだ。だからと言って逆に情報を少なくすると,今度は「いざというとき」に役立たない情報になってしまう。

テクニオン・イスラエル工科大学の Alex Gontmakher 氏および Evgeniy Gabrillovich 氏のノート "Integrated logging: printf debugging revisited" では,このようなログ情報を効率よく管理する方法について考察している。そのアイデアはさほど真新しいものでもなく,要するに出力情報の種類毎にロガーオブジェクトを使い分けられるようにしておくということと,プログラムのステートによって各ロガーの有効・無効を制御できるようにしておくというものだ。おおかたこのような仕組みが役立つと思われるものの,ステートの切り替え方法や設定ファイルの運用方式については色々と改良の余地があると思われる。

もうひとつ気にかかるのは,ロガーを自由に使い分けられるようにしておくと,出力情報の種類に応じたロガーではなく,「オレ専用ロガー」が横行する傾向にあるということだ。常に出力すべき情報ならば,それは他のメンバーにとっても有益な情報であって欲しい。それを情報の内容ではなく「人」という非常に大雑把な括りで分けてしまうのは勿体ないことだ。これについては運用面での管理が必要な点であると思われる。


Using Assert

2005-10-07

自分が assert を使うことを覚えたのは,たしか Steve Maguire の "Writing Solid Code" だったと思う。以来,自分はその教えを信じて assert を使い続けている。だから, Len Holgate 氏の "Assert is evil" を読んだときには酷く驚いた。そんなところを攻撃する人がいたとは!

Holgate 氏の主張は,要約するならば「異常の検出にはエラー返値や例外を用いるべきであり,安直な assert の適用は害悪に他ならない」というようなものになるかと思う。後の記事 "Is Raymond Chen's use of assert valid?" では,具体的な assert の使用例(引用元は Raymond Chen 氏のコード)を挙げ,その妥当性について論じている。

普段は闇雲に使われてしまいがちな assert に目を向け,その有効性を見直そうとした氏の視点はとてもユニークであり,それ自体非常に面白い試みではあると思う。しかし,氏の主張にはどこか極端なきらいがあり,全面的に肯定することは難しいというのが個人的な感想だ。「AはBである。ゆえにAは不要である」というような極端な展開には XP 論者に似た性向を感じる。

もちろん,これに対して assert を擁護する意見も存在する。特に Noel Llopis 氏の "Asserting Oneself" はゲームプログラマの視点から assert の必要性を主張したものであり,非常に参考になる。 Holgate 氏の指摘に対しても丁寧な反論を展開している。 Llopis 氏の視点は非常に現実的なものであり,この分野において assert が必要な「道具」であることを示すことに成功していると感じられる。


剃刀

2005-10-09

数年前,就職活動で数社を回っていたとき,とある会社の面接でプログラミングに関する質問を出されたことを今でも覚えている。それはこんな感じの内容だった ― 「もし,ある仕様を実装するのに,同じ程度の処理速度とコードサイズで実装が可能なふたつの手法が存在した場合,どのような基準で一方を選択したらよいだろうか?」。 当時,プログラマとしての経験も技量も不十分だった僕は,よく分からない曖昧な答えを返すことしかできなかった。

今,同じような質問を出されたならば,恐らく即答することができるだろうと思う ― 「よりシンプルな方を選びます」。オッカムの剃刀でも何でも取り出して,不要な複雑さを持つものはすべて削ぎ落としてしまおう。

オッカムの剃刀

「オッカムの剃刀」は,不要な仮説を極力排除するものの考え方を表したものだ [Wikipedia(ja), Wikipedia(en)] 。この概念は 13 世紀のイギリスの哲学者であり修道僧でもあったウィリアムに由来している。オッカムは彼の住んでいた土地の名前だ [Skeptic's Dictionary] 。

例えば,あるウェブサービスに欠陥が発見されたとする。その欠陥を悪用すると,サービスを利用している顧客の個人情報を第三者が取り出すことができてしまう。これは,実装を担当したプログラマの技量不足から生じた欠陥であると捉えるべきだろうか? あるいは,実はその担当プログラマが会社に対して何らかの恨みを持っており,会社にダメージを与えるべく,周囲にはバレないように気をつけながら,巧妙な欠陥を仕組んだと疑うべきだろうか?

もちろん,このように複雑な問題を単純な観点から判断することはできない。しかし,敢えてその裁定をオッカムの剃刀に任せるならば,これは単に担当プログラマの技量不足であると捉えるべきだ。その方が少ない前提で説明することができる。

オッカムの剃刀は特に科学の分野において引き合いに出されることが多い [Physics FAQ] 。元は不要な仮説を取り除くために用いられた概念であるものの,しばしば単純さを尊重するものの考え方として用いられることもある。「倹約家の原理」とも呼ばれるように,単純さを求める倹約家ないしはミニマリスト達にとっては,とても都合のよい概念だ。

ハンロンの剃刀

「オッカムの剃刀」の派生ないしはパロディーとして「ハンロンの剃刀」 (Hanlon's Razor) と呼ばれる概念がある [Wikipedia] 。

愚かさによって十分に説明が可能なものを悪意のせいにしてはならない

この警句の起源は明らかにされていない。ハンロンが誰なのかも分かっていない。一説によれば, Robert Heinlein の 1941 年の作品 "Logic of Empire" の中に似たような引用が記されており,その "Heinlein's Razor" が訛って "Hanlon's Razor" に変化したとも言われている。

この「ハンロンの剃刀」はハッカー文化において好んで用いられてきた [Jargon File] 。物事を冷笑的に捉えるその視点は,まさにハッカー向けと言えるかもしれない。しかし,物事を単純で分かりやすいものとして捉えるためには,この「ハンロンの剃刀」も「オッカムの剃刀」と同様に役に立つ概念であると考えることができる。

例えば,上で用いた「ウェブサービスの欠陥」の例は,このハンロンの剃刀でも同じように判断することが可能だ。欠陥を引き起こすのは愚かさであって悪意ではない。その愚かさを生み出してしまったものは何なのか,そして,その愚かさを無くすために必要とされるものは何なのか ― それを考えることが,建設的な議論というものになるのだろうと思う。


無題

2005-10-11

客観的に見ると,今はすごく楽な時期にあるはずなのだけれど,なぜか職場に長居することが多くて,結局,いつも時間が足りなくなってしまっている。週末は雨ばかり降るはで,散々な気分だ。

Synth1

国産 VSTi として有名な "Synth1" がいつの間にかバージョンアップしていた。2年余りの沈黙を破っての,久々のリリースとなる。現段階ではまだアルファ版であるものの,それでも十分に進化を感じさせる出来となっている

051011.jpg

今回のバージョンアップでは様々な機能追加が行われている。個人的に最も印象的だったのは,なんと言っても8重デチューンの追加だ。これで,いわゆる "super saw" 系の音を Synth1 で表現することができるようになる。しかも処理が軽い! これは大きなアドバンテージだ。

今まで僕は, super saw 系の音には "SUPERWAVE P8" と呼ばれる VSTi を使用していた。これはこれで品の良い音の出る非常に優秀な VA シンセなのだけれど, CPU 負荷が高いことが最大の欠点だった。調子に乗って音を重ねていくと,これ1台だけで 50% 近くもの CPU パワーを持っていかれてしまう。ここまで豪快に重いと,むしろ何でそんなに重いのか不思議に感じてしまうほどだ。

それに対して Synth1 は底なしに軽い。 20 台とか立ち上げても軽く動いてしまうほどだ(※)。 DAW 環境においては CPU 負荷の高いプラグインは必然的に出番が少なくなってしまう。逆に,負荷が小さいということが応用の幅を広げる要素として働く可能性がある。そのような観点から見ても, Synth1 は非常に高いポテンシャルを持つプラグインであると言うことができるのではないかと思う。

.. これは半分冗談で,実際に手元の環境で試してみたところ, 16 台ぐらいで CPU 負荷が 100% に達してしまった。ただし,実際の利用場面においては全ての Synth1 が常に発音しているとは限らないし,最新の PC ならばもう少し処理能力も高かろうということで, 20 台同時にセットアップしても十分に実用的な速度を保つことができるのではないかと思う。


Hack and port

2005-10-13

MANGA hack

香港のネットワーク機器メーカーである PePLink 社に勤める Jason Miu 氏は,ある日,自分の机の下に使い手の無い機器がたくさん放置されていることに気が付いた。この機器 ― "MANGA" は,もとはルーターなどに使われるネットワーク機器だが,単なる ARM9 ベースの Linux マシンとして他の用途に使うこともできる。ならば,これでなにか面白いことをやってのけられないものだろうか?

Miu 氏の探求の記録はブログ "Coding Ducks" において公開されている。氏の着眼点として面白いのは,外部出力の口金として USB を利用するという点だ。 MANGA にはコンソール用のシリアルポートと汎用の USB 2.0 ポートがそれぞれひとつだけ用意されている。これだけ見るとひどく地味な入出力構成だけれど,実は USB を使えばこれをいくらでも増強することが可能だ。 USB サウンドデバイスを使えば音声を扱うことができるし, USB ビデオデバイスを使えば映像を出力することさえできてしまう!

それらを利用して最終的に辿り着いたのが NES エミュレータだ。 USB デバイスを経由して映像と音声を再現している。現状では実用的な速度で動かすことができていないようなのだけれど,それでも,元は単なるルーターだったものをここまで弄くってしまっているのだから,大した離れ技ではないかと思う。個人的には, USB ビデオデバイスだけでもそれなりの映像を出力することができてしまうという点が興味深く感じられた。

Digita hack

Miu 氏のハックを見て思い出したのが "MAMED" だ。 これは,アーケードゲームエミュレータとして有名な "MAME" をデジタルカメラである Kodak Digita に移植してしまったものだ。デジカメの液晶画面でゲームをプレイする様には何とも言えぬ異様さがある。そもそも,デジカメにゲームを移植しようという思いつき自体が相当に異様なものであると思う。

It plays Doom

この手のハックで移植のネタとして使われやすいのが Doom だ。ウェブサイト "IT PLAYS DOOM" では,様々なプラットフォームに移植された Doom を紹介している。各種ゲーム機, PDA, 携帯電話などへの移植では飽き足らず,デジカメ, iPod, 電卓,ウェブTV端末などにまで手を染めてしまっている。なかには Doom 3 に Doom を移植したなんて言うややこしい事例も……

Doom は全ソースコードが公開されているうえに,体験版のデータがフリーで配布されていることから,今では実験のネタに使われることが多くなっている。もはやハッカー文化の共有資産と化している感さえある。今後も様々なプラットフォームに移植されては人々を驚かせることになるのだろう。 "IT PLAYS DOOM" のインデクスには ATM やレジ,オーブンや冷蔵庫の項目まで用意されている。これらの項目が埋められる日が楽しみだ。


Christian game industry (1)

2005-10-16

Asperges Me

Google Video は楽しい。色々とキーワードを入力してみては,その結果を覗いて楽しんでいる。現在は一般ユーザの登録が主体の内容となっているため,決して洗練された映像ばかりではないものの,たまに面白い映像に出くわすと少し得した気分になれる。

最近の発見は安西史孝氏の "Asperges Me" の PV を見つけたことだった。こんなところで氏の作品を見つけることになるとは……。件の曲を収録したアルバム "Kyrie: Canto Cybernetico" は海外の通販サイトでも高い評価を得ている。音楽性の高さについてはもちろんのこと,教会音楽という国際的に通じやすいテーマを扱ったことが,海外での評判を呼んでいるのだろうと思う。

Christian music industry

宗教的な話題に疎い自分にとっては意外なことだったのだけれど,アメリカには巨大なクリスチャン向け音楽産業が存在する。ゴスペルミュージックコンテンポラリー・クリスチャンミュージックのように,クリスチャンをターゲットとしたポピュラー音楽もジャンルとして成立している。

その産業規模は意外と侮り難い側面があり, CMTA (Christian Music Trade Association) と Nielsen 社の合同調査によれば, 2004 年のアメリカ音楽市場における全売り上げのうち,実に 6% がゴスペルミュージックによって占められていたとされている。これは,ラテンミュージック (5%) やジャズ (3%), クラシック (3%) などよりも高い割合だ。

― ちなみに,これはまったくの余談になるのだけれど,そう言えば西条秀樹が "YMCA" と歌っていたのはクリスチャンと何か関係があるんだっけ……と思い,少し調べてみたところ,原曲はてんで違う内容だったので腰を抜かしてしまった。これをあんな爽やか風にアレンジしていたのか……。

Christian game industry

クリスチャン向け音楽産業の成功は,その他のエンターテイメント産業で働くクリスチャン達にとっても励みとなるものに違いない。もちろん,ビデオゲーム業界の中にもそう考える人は少なからず存在するようだ。少し前の New York Times の記事 "PlayStations of the Cross" は,そのような考えを持つ人々が「クリスチャン向けビデオゲーム産業」の発展に向けて取り組む様子をレポートしている。

クリスチャン向けビデオゲーム産業」とは更に聞き慣れない言葉であるものの,これは既に存在する産業だ。 Christian Game Developers Foundation (CGDF) や International Christian Game Developers Association (ICGDA) のような組織が存在し, Christian Game Developers Conference (CGDC) のような会合も開かれている。今年の7月に開催された CGDC 2005 には,5大陸から約 100 人の参加者があった。 GDC のような大規模な会合と比較すれば非常に小規模ではあるものの,産業規模が広がりつつあることがうかがわれる。

この産業の中でも最も注目を集めているのは N'Lightning Software Development 社ではないかと思われる。宗教的なゲームというと,安穏として教育的な内容を想像してしまうのだけれど,同社は 3D 技術を活かした刺激的な内容のゲームを創出している。例えば 2000 年に発売された "Catechumen" (「洗礼志願者」の意)は,ローマ帝国に抑圧されカタコンブに閉じ込められたキリスト教徒達を救い出すことを目的とした FPS だ。

FPS とは言っても,巷に溢れる FPS とは少し性質が異なっている。 "Catechumen" の主人公は,銃火器を使って敵を殺戮するのではなく,剣や杖から放出される光によって悪魔を霧散させていく。体裁としては一般的な FPS のそれを保ちつつも,暴力的な表現は一切排除したうえで,宗教的な意味付けが行われている。あくまでもローマ人を倒すのではなく,彼らを操る悪魔を倒すことによって,彼らを闇から光へと転向させるというわけだ(公式の解説では Acts 26:18 を引用している)。

件の記事によれば Catechumen の売り上げ本数は約8万本とされている。これは決してヒット作とは呼び難い数字ではあるものの,相応の需要が存在することを裏付けるのに足りる数字であると感じられる。


Christian game industry (2)

2005-10-18

Alternative video game

結局のところ, "Catechumen" はクリスチャン向けのアレンジが施された FPS だ。たしかに直接的な暴力表現を排除することには成功している。しかし,「弾を撃って敵を倒す」という根幹的な部分での暴力性に注目すれば,他の FPS と大差が無い。果たしてクリスチャンが望んでいるものとは,本当にそのような内容のゲームなのだろうかという疑問が湧く。

件の記事において, N'Lightning 社の創立者である Ralph Bagley 氏は,「非暴力的なゲームを作るつもりは無い」と言い切る。「クールなゲーム」をプレイしたいと願っている少年達にとって「ヨセフおじさんの羊追いゲーム」は不相応だ。教義に沿うことを尊重するあまりに彼らが魅力を感じないものを作ってしまっては意味が無いというわけだ。

こうした姿勢は BBC NEWS の記事 "Christians purge video game demons" においてより明確に示されている。 Bagley 氏曰く,単にビデオゲームを子供達から取り上げることは解答にならない。必要とされているのは良質な代替物だ。彼らに十分な興奮を与えながらも,過剰に暴力的な表現や性的な表現に頼ることなく,道徳的・教義的に価値のあるゲームを作り出さなければならない。

そもそも N'Lightning 社の創立の経緯を見てみても,そのような姿勢をうかがうことができる。

同社の創立に先立って, Bagley 氏は Catechumen の原案を複数の投資家に持ちかけていた。しかし,その内の誰一人として賛同を得ることは叶わず,プロジェクトの実現も諦めざるを得ない状況に立たされていた。そのような状況がコロンバインの悲劇をきっかけとして急転する。出資を拒んだはずの2人の投資家が Bagley 氏に連絡してきた。その投資家達は,犯人の少年らが FPS のプレイに傾倒していたことを知ると,氏のプロジェクトを補助することに意義を見出したというわけだ。それから Bagley 氏は 100 万ドル近くの資金を得ることに成功し,プロジェクトを実現させるばかりでなく, N'Lightning 社の創立にまで漕ぎ着けることが可能となったということだ。

Christian ratings

このように,クリスチャン向けのゲームを産業として成立させようという動きが一部に存在するものの,現段階ではその規模はごく小さなものに限られている。そこで現状においては,通常のゲーム製品に関してクリスチャンが独自にレビューを行うことが意味を持つと考えられる。

クリスチャン向けの情報サイト ChristianAnswers.Net では, "Guide 2 Games" と呼ばれるページにおいてクリスチャン向けのゲームレビューを公開している。このページのレビューでは,一般的なゲームプレイの評価に加えて「クリスチャン評価」「暴力性」「成人向け」などの指標が設けられている。特に,クリスチャンとしての立場から評価を行っている記述に関しては,他のサイトでは見ることのできない内容であるため,資料として参考になる部分が非常に多いと感じられる。

このページのレビューに目を通していると,思いがけないところに評価を引き下げる理由が存在することに気付く。例えば "GTA3" のようなゲームに厳しい評価が与えられているのは容易に理解できるとして, "Diablo 2" のようなゲームにも非常に厳しい評価が与えられているのは意外に感じられた。どうやら,オカルト的な表現を含むゲームは議論を呼ぶ傾向にあるようだ。魔術 (witchcraft) や宗教的シンボルの使用に関しても,必ずしも拒絶されるわけではないものの,あまり良い評価は与えられない傾向にある。

また,一見してまったく無害に見える "The Sims 2" のようなタイトルでも,あまり高い評価は与えられていない。どうやら,シムが二股・浮気の願望を有していることなどが不快に感じられるようだ。その他には「死の直前に現れる幽霊」や「宇宙人の来訪」などが「不快に感じられるかもしれない表現」として挙げられている。しかし,幽霊に関してはなんとか理解できるとしても,宇宙人に関しては何が「不快」なのか理解しかねる部分がある。この辺りの事情に関しては,もう少し別の視点から調べてみる必要がありそうだ。


Polyphasic sleep

2005-10-23

僕が考える究極のライフハックは睡眠を制御することだ。人間は己が本来必要とするよりも多くの食物を欲してしまうことがあるように,睡眠もまた必要とするよりも多くの量を欲する傾向にあるように感じられる。そのような余計な睡眠欲求を抑制し,最低限の時間で最大の回復効果を得て,人よりも多くの時間を活動に割り当てることができたならば,どんなに素晴らしいことだろうか。

ルネサンス期の天才レオナルド・ダ・ヴィンチは,4時間毎に15分の軽い睡眠を摂ることによって,1日の睡眠量を90分で済ませていたという伝説がある。このように,単一の長時間睡眠を摂るのではなく,短時間の睡眠を一日に何度も摂るパターンのことをポリフェーズ睡眠 (polyphasic sleep) と呼ぶ。

Chronobiology Research Institute の Claudio Stampi 氏はポリフェーズ睡眠の研究者として知られる人物だ。氏の研究とポリフェーズ睡眠の関係については Outside Online の記事 "Miles to Go Before I Sleep" が参考になる。この記事によれば,氏は「睡眠コンサルタント」としてヨットセイラー達に睡眠方法の指導を行っている。単独大西洋横断や単独世界一周のような耐久レースにおいては,睡眠をいかに短く,かつ効率的に摂るかということが重要な要素となる。できるだけ短く切り詰めるに越したことは無いが,短くし過ぎて疲れが取れなくなってしまっては元も子もない。

「起きて注意を払っている時間が長ければ長いほど,船は速く進むんです。」 -- Mile Golding
「眠り過ぎれば勝つことはできない。しかし十分に寝なければ壊れてしまうだろう。」 -- Claudio Stampi

Stampi 氏は 1990 年にある実験を行った。1日あたり3時間の睡眠を数ヶ月間続けた場合に,人間の知的能力がどの程度低下するかという実験だ。この実験では,被験者は3つのグループに分けられた。1つ目のグループは3時間の睡眠を一度に摂り(モノフェーズ睡眠),2つ目のグループは90分の睡眠を1回と30分の睡眠を3回に分けて摂った(分割睡眠)。そして3つ目のグループは,4時間毎に30分の睡眠を摂るという,完全なポリフェーズ睡眠を実践した。

数ヵ月後の能力テストでは3グループ共に能力の低下が見られた。ただし,低下の量はグループによって多少の差がある。1つ目のモノフェーズ睡眠グループでは 30% の低下が見られ,2つ目の分割睡眠グループでは 25% の低下が見られた。そして3つ目のポリフェーズ睡眠グループでは,驚くべきことに 12% の低下しか見られなかったということだ。

ポリフェーズ睡眠はなぜ作用するのだろうか? 通常,人間の睡眠はレム睡眠のノンレム睡眠の2種類に分けられ,この中でもノンレム睡眠は更に4つの段階に分けられるとされている。 Stampi 氏は,これらの睡眠のうち第4段階のノンレム睡眠 ― 脳波の周波数が低下することから徐波睡眠 (slow-wave sleep; SWS) と呼ばれる ― が最も効果的な睡眠であると考えている。通常,徐波睡眠は睡眠の前半に偏っており,特に断眠状態 (sleep deprivation) が続くとその傾向が強まるとされている。したがって,断眠状態から短時間の睡眠を摂ると,回復効率の高い睡眠だけを選択して摂ることが可能となる。つまり,ポリフェーズ睡眠とは断眠状態を保ちつつ効率の高い睡眠だけを繰り返し摂る手法であるというわけだ。

ポリフェーズ睡眠は耐久レーサーや兵隊などのように極限状態を強いられる人々にとって効果的な睡眠方法だ。あるいは,できるだけ多くの時間を活動に充てたいと考えているライフハッカー達にとっても耳寄りな情報かもしれない。現に技術者コミュニティ Kuro5hin の記事 "Uberman's sleep schedule" においてこの手法が紹介されて以来,広く人々の注目を集めている。 Wikipedia の polyphasic sleep の項からは,実際にポリフェーズ睡眠を実践する人々のブログへのリンクを辿ることもできる。

このように画期的な手法のように見えるポリフェーズ睡眠にも弱点は存在する。まず最も大きな問題点は,医学的な検証があまり行われていないということだ。 Stampi 氏は上記のように様々な研究や理屈付けを行っているものの,そのメカニズムについて医学的な解明を行ったという情報は見受けられない。また,この手法を長期間続けた場合のリスクについても情報が存在しない。人間が本来持つ生体的な欲求を押さえ込むわけだから,何らかの身体的・精神的ダメージが存在するであろうことは想像に難くない。

そもそも,長期間の継続が可能であるかどうかという点についても疑いが持たれる。ヨットセイラー達もレースが終われば通常のパターンに戻るわけであるし,レオナルド・ダ・ヴィンチにしても,遺体の解剖などのように短時間での集中作業が必要とされる場合(遺体の解剖は腐敗が進行する前に完了させる必要があった)にのみポリフェーズ睡眠を利用していたのだろうと考えられている。また,前述のリンクから辿ることのできる実践者達のブログも,決まって継続の難しさを訴えており,その多くは数ヶ月も経たぬうちに実践を中断するか,あるいはブログの更新が無くなるかという結果に収まってしまっている。

もう一つの弱点は,知的労働における生産性への影響は量られていないということだ。ポリフェーズ睡眠はヨットセイラーや兵隊が必要とする体力と精神力を回復させてくれるかもしれない。しかし,例えばエンジニアなどのように高度な思考と集中力が必要とされる職種において十分な回復を得られる保証は無い。特にレム睡眠が削られることによる知的能力への影響は,容易には量りかねる部分がある。

結局のところ,ポリフェーズ睡眠とは極限状態における生存術の一種なのだろうと思う。ゆえに,そのような特性を理解した上で実践を試みるというのは面白いかもしれない。どうしても長時間の活動が必要とされる一定期間において,ある程度の能力低下の危険性があることを承知したうえで,敢えて挑戦してみるという姿勢だ。もし,修羅場の時期を1日3時間の睡眠で乗り切ることができたとしたら,それはとても素敵なことではないだろうか? そのような必要性を嘆く人もいるかもしれないが,終わりのある修羅場ならば限界に挑戦してみるのもまた面白い経験だ。上手くいけば,本当の超人 (uberman) になった瞬間を味わうことができるかもしれない。


Turntablism

2005-10-26

「ターンテーブル」と言えばアナログレコード(バイナルレコード)プレイヤーのことだ。一般的な音楽鑑賞の用途にはほとんど使われなくなってしまったものの,クラブミュージックの分野ではいまだにアナログレコードの需要が根強く残っており,現在でも様々な種類のターンテーブルが販売されている

ターンテーブルを扱う人々の中でも,ターンテーブルを楽器の一種として操る人々のことをターンテーブリストと呼ぶ。ターンテーブリスト達は様々なテクニックを駆使してターンテーブルを操る。「レコードを再生する」という本来の装置の意図を遥かに越えた次元から繰り出されるテクニックの数々は,見た目にも非常に面白く,パフォーマンスの一種として楽しむこともできる。

例えば DJ Q-Bert のライブパフォーマンスなどは,最高に極まったターンテーブリズムの一例だ。プラッター(盤面)とフェーダーを素早く緻密な動きで操作し,元のレコードからは想像もつかないような音を自在に繰り出していく。特に,ブレイクビーツのフレーズを分解し再構築する操作などは,もはや人間業とは思えないレベルにまで達している。狙った単音を正確に頭出しするだけでも相当に難しいだろうに,戻す操作による遅延までを考慮して自在にフレーズを作り出すのは,非常に高度な熟練を要する操作であるはずだ。

Technics SL-1200

スクラッチを始めとするテクニックの数々は,ダイレクトドライブ方式のターンテーブルが登場したことによって実現が可能となった。ダイレクトドライブ方式が登場する以前のベルトドライブ方式やリムドライブ方式においては,プラッターを人の手で強制的に回転させることは装置の損傷を意味した。ダイレクトドライブ方式ではプラッターの軸そのものがモーターの一部となっているため,人の手で強制的に回転させても装置が傷つくことは無い。また,手を離せば瞬時に正確な回転数を復活させることができる。これは,曲の頭だしを頻繁に要求される DJ にとって非常に重要な機能だ。

民生機において初めてダイレクトドライブ方式を採用した製品は, 1970 年に発売された松下 Technics の SP-10 であると言われている。その後, 1972 年に発売された SL-1200 は, DJ プレイの標準機種としてクラブ・ディスコシーンを牽引していくことになる。ベストセラーとなった SL-1200 シリーズは現在に至るまで改良と生産が続けられており, 2004 年には累計 300 万台を記念して金メッキ限定モデルなども販売された。

SL-1200 シリーズの設計思想については,松下 "isM" サイト内のページ「伝説のターンテーブル,その心・技・体」に詳しい。シンプルかつ高品質な製品が如何にして市場を席巻したのか,その背景を知ることができる。 1980 年に登場した SL-1200MK2 以来,基本的なインタフェースはほとんど変更されていないというのも興味深い事実だ。その時点で DJ 装置としてのターンテーブルはひとつの完成形を迎えていたということなのだろうと思う。

Mechanism, Interface

ターンテーブリズムを見ていると,メカニズムとインタフェースの関係について感じさせられるものがある。ターンテーブルのような比較的単純かつ抽象的なメカニズムは,それだけでインタフェースとなる可能性を秘めている。その現象を決定的なものとしたのがダイレクトドライブ方式の登場だった。ダイレクトドライブ方式の採用によって,人の手がメカニズムに直接介入する余地を生み出すことができるようになった。あとは使い手側が熟練さえすれば,ターンテーブルを人の手の延長線上にあるものとして扱うことが可能になる。

同じようなことは,例えばエレキギターなどを見ていても感じる。メカニズムとして見たエレキギターは,弦の振動によって電磁誘導を発生させる装置でしかない。その抽象性の高さゆえに,人の手がメカニズムに対して介入する余地は非常に広く,そこから様々な技法や表現方法が編み出されてきた。

ターンテーブルを模した CD プレイヤー(いわゆる "CDJ" プレイヤー)などは,時代の趨勢に即した製品ではあるものの,その設計思想に顕れているのはターンテーブルというインタフェースへの執着であり,全体として見れば劣化した模倣であるという点に矛盾と悲しさを感じる。 CDJ プレイヤーから生み出される音は,デジタル技術によってあらかじめ仕組まれたものでしかない。ターンテーブルというメカニズムが内包していた無限の多様性は,そこには部分的にしか存在し得ない。アナログのデジタルの間に存在する決定的な違いとは,音質や云々よりも以前に,そのような所ににあると感じる。


Bit counting

2005-10-30

「16ビット整数値に含まれるビット1の数を高速に求める方法を挙げよ」 ― この問題は, Larry Osterman 氏によれば,過去のマイクロソフトの採用面接においてよく用いられていた質問のひとつだ(現在は使われていない)。

この問題に対する Osterman 氏の解法はちょっと面白い。氏の解法は,次の式を基本としている。

x = x & (x - 1)

この式は,変数 x に含まれるビット1の数をひとつだけ減らす。原理は簡単だ。 x の最下位ビットが1であれば,それを削った値との論理積となり,結果としてビット1の数がひとつだけ減らされる。 x の最下位ビットが0であれば,1を引いたことによる繰り下げによって,最も下位にあるビット1と,それよりも下位にあるビットがすべて反転されることになる。その値と元の値の論理積をとると,結果としてビット1の数がひとつだけ減らされることになる。

あとは,変数 x の値が0になるまでこの式を繰り返せば,その繰り返し回数がビット1の数となる。実用性はともかくとして,シンプルでトリッキーな面白い解法だ。

実用性を問う場合には, Osterman 氏がもうひとつの解法として挙げているものが参考になる。ビット同士の加算を並列的に行うことにより,全ビットの総和をビット数の log 回の加算で済ますというものだ(実際には加算の間に論理積とビットシフトが入る)。条件分岐が排除されている点が有利に働くほか,場合によってはループ展開によって更なる並列化を得ることができるかもしれない。

ワンダと巨像

休日を使って「ワンダと巨像」をプレイしていた。総プレイ時間は約11時間。やはり最後の巨像がいちばん難しくて,この戦いだけに1時間近く費やしてしまった。

プレイヤーの動きの細やかさに脱帽。これだけ自由に変形するコリジョンに対して,どのようなプログラムを用意すれば破綻無く対応することができるのか,想像もつかない。

細かな所ではブラーの使い方がとても良かった。結局のところ,時分割方式の真面目なモーションブラーは処理量の面で問題があり,今後も限定的な応用に留まるものと思われる。そこで,この手のトリックは今後も重宝することだろうと思う。


PowerPC Architecture

2005-10-31

先日,サンノゼで開催された Fall Processor Forum 2005 において, Xbox 360 に搭載される PowerPC コアの詳細が発表された [MYCOM PC WEB, Impress PC Watch] 。この内容は, IBM 技術者によるゲーム関連ブログ "GameTomorrow" の方にも載せられている [GameTomorrow 10/27, 10/25] 。ハードウェア技術者としては,ゲーム用途に特化された高性能のチップを短期間で設計し生産にまで漕ぎ着けたことが,誇るべき点として挙げられるようだ。

気付けばいつの間にか,いわゆる「次世代ゲーム機」が PowerPC アーキテクチャによって一色に染められてしまった。一昔前にはあまり想像できなかった事態ではないかと思う。現状を見るに,コア部分の仕様は似通ったものにまとまりつつあるように感じられる。2命令同時発行の in-order 実行でパイプラインは 23 ステージ。単一のコア内に2つのステートを持ちマルチスレッドをサポートする。命令・データ共に 32KB の1次キャッシュと, 4KB の条件分岐テーブルを搭載する。

結局のところ,ゲーム機には out-of-order 実行の機構は適さないというのが結論であるように見える。 PC のような下位互換性重視の傾向が無い以上,単にメモリ遅延を隠蔽する目的で out-of-order 実行をサポートするというのは割に合わないということなのだろうと思う。その代わりに,2つまでのマルチスレッドをサポートすることによってメモリ遅延の隠蔽を狙う。ただし,果たしてこれがどの程度の効果を発揮するのかはよく分からない。興味の湧くところではあると思う。

Endianess

Intel や MIPS のアーキテクチャに慣れ親しんだ人達が PowerPC に触れるとき,エンディアンの扱いは必ず問題に挙がるのではないかと思う。ビックエンディアンって何? なんでバイトの並びが逆に?

先日, Channel 9 で公開された Bungie 社の Mat Noguchi 氏のインタビューでも,エンディアン問題は「これまでとの大きな違い」として真っ先に挙げられている [Channel 9] 。外部に公開できる情報の中でも特に分かりやすいものを選ぶとなると,まずエンディアン問題が持ち上がるのだろうと思う。それにしても,やはり皆困っているのだと思うと励まされるものがある。ツール類を動かすバックエンド環境とターゲットマシンとでエンディアンが異なるというのは,酷く面倒な状況であるに違いない。

昨今のアーキテクチャはエンディアンを選ばない「バイエンディアン」を謳っているものが多いものの,よほど限定された用途で無い限り,結局は「標準的なエンディアン設定」に縛られることになる。両者は互いに相容れることのできない思想の違いだ。ガリバー旅行記に登場するリリパット (Lillipat = Little-endians) とブレフスキュ (Blefuscu = Big-endians) の争いをバイトオーダー問題に当てはめようとしたのが誰なのかは知らないけども,言い得て妙の感がある。

ジョナサン・スイフトが小人国の話を書いたとき,その背景にはヨーロッパを巡る宗教戦争が存在したとされている [DAV's Endian FAQ] 。リリパットはイングランドのプロテスタント,ブレフスキュはフランスのカソリック,「卵の割り方」は両派における秘蹟 (sacrament) の解釈の違いのアナロジーだ。結局のところ,エンディアンを巡る宗教戦争も今後当分の間続くのだろうと思う。