W.Deeの2005年3月の日記

kikyou.info»日記
最新月 : 2008年10月
2003年 [             3    4    5    6    7    8    9   10   11   12  ] 月
2004年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2005年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2006年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2007年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2008年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2009年 [   1    2    3    4    5    6    7    8    9   10   11       ] 月
前月の日記  次月の日記

2005年3月28日

日記毎日かいてないじゃん

_| ̄|○

毎日書ける人尊敬です。暇じゃないと書けないって。

RC4出します

2.24安定版系統のRCとしてRC4を出します。

2.24stableもうそろそろ、とは言ったのですが、それにしても2.24RC3からのバグfix等が溜まってきているので一度RC4を出しておいたほうがよいかと思われるからです。

2.24stableは4月上旬の公開を目指しています。

マウスカーソル直下のレイヤの状態変化チェック

マウスカーソル直下のレイヤの状態を1秒間隔でチェックすることにしました。いままで、レイヤが移動したり消えたりしてもツールチップヒントが消えなかったり、マウスカーソルの形状が変わらなかったりしたのですが、そういうことが無くなります。

1秒間隔、なのは、マウス直下のレイヤがどれか、の判断をイベント駆動的に検出できないため (Layer.onHitTest内のユーザの書いた関数内の状態の変化は検出できないため) と、実用上 1秒間隔でも問題ないだろうとの判断からです。そのため、この状況では、ツールチップヒントやマウスカーソルの形状が実際に変わるまでに最大1秒ほどのディレイがあります。

これはとりあえず trunk と stable に適用します。

サウンドバッファ長を変更

現状、WaveSoundBufferはLevel1バッファ(DirectSoundバッファそのもの)に1秒、Level2バッファ(メモリ上に確保)に4秒の、計5秒のバッファを持っています。これは、最大で約5秒間、データを先読みしていると言うことです。

L1とL2バッファに分かれているのは、高負荷時の安定性を高めるためです。L2バッファからL1バッファへの転送はかなり高い優先度のスレッドが行っていますが、L2バッファへの書き込み(デコード処理)は、IDLEぐらいの優先度のデコード用のスレッドが行い、デコード処理が他の処理をじゃましないようになっています。L2バッファの長さ分は、たとえ他の処理をしていてデコードが全く行われることが無くても再生を続けられるのですが、L2バッファが無くなってバッファアンダーランしそうになると、デコード用スレッドの優先度を上げてバッファアンダーランを防ぐようになっています。

L1バッファがL2バッファに比べて短いのは、ハードウェアバッファをあまり消費したくないからですが、しかし先日の変更で、デフォルトでソフトウェアバッファを使用するようになったので、この構成にはあまり意味が無くなったかも知れません。

で、話がそれましたが、L2バッファの長さを1秒に縮める事にしました。理由は、最近のCPUは速いのでそれほど長いバッファが必要ないのと、将来的に(未定ですが)デコード側でエフェクト処理を追加したりしたときの、エフェクトなどの変化が発音されるまでの時間を短くするためです。

とりあえず trunk にのみ適用してあります。stable には適用しません。

2005年3月24日

TJS2とIDispatch

TJS2はiTJSDispatch2という、COMのIDispatchに似たインタフェースを持っています。概念的にもIDispatchに似ていて、インタフェース自体は言語から独立しています。

TJS2は、iTJSDispatch2インタフェースを制御する能力(VM)と、iTJSDispatch2で制御可能なオブジェクトを作成する能力(コンパイラ)の両方を持っています。

TJS2内で生成した関数を自分で呼んだりは当然できますが、もちろんTJS2外にあるiTJSDispatch2インタフェースも制御できます。吉里吉里に実装されているクラス群などは、TJS2からみればTJS2外にありますが、これを操作できるのはそのためです。

逆に、TJS2外部のC++コードなどからTJS2の関数などを呼ぶことができるのも、TJS2がiTJSDispatch2インタフェースで制御可能なオブジェクトを作成し、C++からiTJSDispatch2インタフェースを制御できるからです。

プラグインなどでiTJSDispatch2インターフェースを制御できる別の言語を提供すれば、別の言語から吉里吉里の機能を利用したり、TJS2の関数を呼び出したりができるようになるはずです。

…で、TJS2からIDispatch/IDispatchExを実装したCOMオブジェクトを制御したり、またはその逆ができるようにしてみたいとは結構昔から思っています。IDispatch/IDispatchExを制御可能な言語などは結構多いので、これができれば他言語から吉里吉里を制御したりも容易にできるようになるかと思います。

…誰かやってみませんか(^^;

  • 2005-03-24 23:43 ごう : ・・・ちょっとよばれた気がした^^;; COM化はしなくても、IEコンポーネントから見える口つくるだけで制御パネル組むのに DHTML 使えて便利になりますよ~
  • 2005-03-25 18:40 W.Dee : TJS2にCOMインタフェースを持たせるつもりはまったくなくて、PHPやrubyがやってるように、iTJSDispatch2とIDispatchEx間の変換を行う仕組み(それとtTJSVariantとVARIANT間の変換も)があればいいかな、と思っています。そのレベルならば吉里吉里内に組み込まなくても、プラグインとして十分実現できますし。

2005年3月21日

2.24 stable もうそろそろ

もうそろそろ 2.24 を安定版として公開しようと思います。

現在公開中の 2.24 RC3 とほぼ同じ物となります。現在の RC3 で出ている問題があれば、ぜひ報告して頂けると幸いです。

よろしくお願い致します。

  • 2005-03-21 00:44 kot : コメントを追加してリロードした瞬間に「お、日記が追加されてる」と思ったら・・・orz すみません。下の書き込みはスルーしてやってください。
  • 2005-03-24 05:11 あき : 某MicroSoftがXP等の64bit版を正式に出すみたいですけど、対応するんですか?
  • 2005-03-24 08:43 W.Dee : Microsoftは既存のアプリケーションの互換性について何か言っていますか?こちらから「対応」というのは先の話になると思いますが、吉里吉里の一次ユーザの方が独自に動作検証をして、二次ユーザに「対応」と謳うのはまったく問題ありません。64bitそのものへの対応は、Windowsプラットフォームの吉里吉里に関してはあまりメリットがないので、相当先になるか「やらない」かもしれません。

2005年3月15日

吉里吉里のバグつぶし

【Game-Style】居酒屋対談 時間のムダ 第7回:『バグってどうよ?』より

「同人などで『吉里吉里(※注7)』などのフリーのエンジンを使ってらっしゃるところもあると思うんですけど、長く続けていく場合、それの持ってる問題と常につきあわなければいけなくなるじゃないですか」

※注7『吉里吉里』ノベルゲームなどのマルチメディアタイトルを作成するためのソフト。フリーウェアで商用利用も可能なため、いくつかのPCゲームでも採用されている。

バグの話ですか?バグはつぶす。それだけです。

  • 2005-03-15 17:34 more : この場合の問題とは、KAGの複雑さや拡張性の高さ、移植性など仕様レベルのモノだと思います。
  • 2005-03-15 18:43 W.Dee : 『バグってどうよ?』というタイトルの元に「堅牢なシステム」「その辺りのリスクを軽減」「製作、販売、サポート(のうちのサポート)」ときているわけですから単純なプログラムのバグ、あるいは環境依存の不具合の話かな、と私のように考える人も中にはいると思いますよ。一応「バグの話ですか?」とはしていますが、私が日記の本文中で断っておきたいのはそこの部分です。
  • 2005-03-16 12:01 nachi : こんにちは。私も対談を読ませていただきましたが、あの流れだと『吉里吉里みたいなフリーエンジンはバグを抱えているからウチで堅牢なエンジンを』のように受け止められますね(^^;) あのメンバーの中に実際に吉里吉里をお使いになっていらっしゃる方がいるのか疑問です。
  • 2005-03-16 12:03 nachi : 誤:お使いになっていらっしゃる 正:使ったことがあって内容をちゃんと把握している
  • 2005-03-21 00:37 kot : ぶっちゃけバグをつぶされていたとしてもRelease(非Beta)されなければ安心して使えない訳でして。特にムービー再生とか。スクリプトの組み方によって回避出来るモノならば力技でどうにかするんですけど・・
  • 2005-03-21 08:03 W.Dee : ええ、そのために「安定版」「開発版」の区別があります。
  • 2005-03-21 09:39 kot : ちょっと話がずれてしまっているのかもしれませんが、商品としてreleaseするものに対して開発版(β版)は使用できないですよね。最新のrelease版だって安心して利用できるか怪しいものです。W.Dee様だってユーザの立場で考えたら恐くないですか。フリーのエンジンで且つβを冠しているversion使うことなんて。そうするといつ来るとも分からないreleaseを待つか、そういった不安要素を持ったversionを使わねばならないと言うならそういった「リスク」を企業は負うことになりますよね。多分対談ではそこの部分を言及しているのだと思います。
  • 2005-03-21 09:45 kot : 確かにバグはつぶす、それだけのものだと私も思っていますけども。あの対談ではプログラムそのものを否定しているとも見えますけども。ただ実際プログラムを打った事のある人間が他人のプログラムに一方的にケチを付けるなんて事その辺の学生じゃあるまいし、やらないと思うんですよね。よほど自分のデザインに酔ってるナルシーな方でなければ。
  • 2005-03-21 22:02 W.Dee : バグを修正することは私たちの努力事項ですが、吉里吉里は商業サポートをしていないので、バグが修正される確約(サポートの確約)はありません。これは「頑張ってます」と主張するのを信じていただくしかありません。確かにそれはリスクですね。でもリスクを金銭に換算すると、おおざっぱに言ってサポート代金とそのリスクは等価です。サポートがない分金銭的負担もないということです。
  • 2005-03-21 22:04 W.Dee : そこで、サポートがないことによってバグがなかなか修正されず、まず迷惑を被るのはエンドユーザですが、現状の開発体制ならばエンドユーザの環境で共通して発生するような重大なバグは比較的早期に修正されるため、それはまず問題となりません。むしろこの体制が維持できないならば、吉里吉里の開発もあり得なくなるとおもいます。環境依存の不具合も、吉里吉里は少ない方です。
  • 2005-03-21 22:06 W.Dee : また、そのリスクとコストを天秤にかけて、それでも吉里吉里を使ってくださる方々が(商業・非商業あわせて)たくさんいらっしゃるのですが、その方々には、本当にありがとう御座います、と言わなければなりません。
  • 2005-03-22 02:35 kot : 恐らく企業の方はサポート代金を払ってでもバグをすぐに修正して、(開発版ではなく)安定板を供給出来るか出来ないかの唯一点において評価されていたということだと思います。企業判断としては正しいと思いますが、関わっている人間に対しては反発を呼ぶ発言以外の何物でもなかったですね。話おつきあいくださってありがとうございました。

2005年3月13日

IPv6 reachable

kikyou.info が IPv6 reachable (IPv6で接続可能/IPv6を利用可能) になりました。

各ページ(トップページを除く)の一番下のライン付近に [IPv6] と表示されていれば IPv6 で接続中です。ちなみに IPv6 で接続しないと得られないようなコンテンツを作るつもりはありません。

kikyou.infoはいわゆる「自宅サーバ」なのですが、ついでに IPv6 ルータとしても動作するようにしたので、自宅 LAN 内からも外部の IPv6 サイトなどに接続できるようになりました。いつも開発に使っているメインマシンは何も考えずに普通に IPv6 サイトに繋がるようになりました。

mathopd 分割ダウンロード禁止パッチ

2004年6月18日の日記で言っていたmathopd用の分割ダウンロード禁止パッチを公開します。

パッチのダウンロード前にkikyou.info について:免責を読んでおいてください。

mathopd用分割ダウンロード禁止パッチ

1.5p4 に対応しています。

このパッチを当てると、mathopdで公開する全てのファイルに対して分割ダウンロードができなくなります。ディレクトリごとや、ファイルごとの制限はできません。通常のWebページを分割ダウンロードする人はいないと思うので、通常のWebコンテンツには影響を与えないはずです。

このパッチを当てると、ログフォーマットの指定(LogFormat)で Range という指定が可能になります。これを指定すると、HTTP リクエストヘッダの Range がログに記録されるようになります。

  • 2005-03-13 22:13 PEP : おおっ。公開されているー!いまのところ不都合も無く,ありがたく使わせていただいております。

2005年3月10日

毎日日記を書くようになった

システムの改良のおかげですね。

なんか何でもいいから一日一個書かないといけないような気になってきます。

その代わり一日一日の内容は薄っぺらになってくような。

Trackback

トラックバックって有効なんでしょうかね。人に聞いてみる。

「トラックバックって使ってる?」

「メンドクサイから使ってない」

ああそうですか。

…サーバとしての機能は気が向いたら実装します。

  • 2005-03-15 23:49 楓じん : MTの場合、内容にリンクが含まれていたら自動的にトラックバック可能かどうか調べて、可能ならしてくる機能があるので、使っています。
  • 2005-03-16 18:27 W.Dee : なるほどー。私の場合は今までの日記の使い方だと、他の人の日記なりblogに対してコメントするとかをあまりやらないです。ついでに私の日記に対して反応してる人もほとんど見かけません(汗) しかし、このシステムの改良以降、日記を書く頻度が増えているので、この先そういう機会も増えるのかもしれませんね。そもそもあんまりこういうのをいじってる暇が無いので、様子を見てから考えようかと思います。

2005年3月9日

IPv6 on Linux

kikyou.info は Linux (Debian Woody) で動いています。

kikyou.info を IPv6 reachable にするためには Linux から IPv6 のゲートウェイにトンネルを掘らなければなりません。

Linux で IPv6 って話には聞いているけどどうやってつなぐんだ?という状態だったのでいろいろ調査しました。

USAGI Project - Linux IPv6 Development Project - は Linux での IPv6 と IPsec のスタックの開発を行っているプロジェクト。Linux に足りてない IPv6 の機能を提供しているそうな。カーネルにパッチを当てなければならないのでとりあえず様子見です。

カーネルに ipv6 のモジュールが読み込まれていなかったので

# insmod ipv6

で、とりあえず読み込みました。

とりあえず手っ取り早くつないでしまえ!とおもったので Linux 上で DTCP を使って IPv6 over IP トンネルを張る を参考にしてトンネルを張ってみました。この間取得した Feel6 のアカウントを使用です。

IPv6 対応のツールは The experimental IPv6 archive から。

確かにトンネルは張れたようだけど、IPv6 対応の wget で KAME Project を取得しようとしても you are using IPv4 と返されます。

みると

Connecting to www.kame.net[2001:200:0:8002:203:47ff:fea5:3085]:80... failed: No route to host.

と書いてあります。調べていくうちに、トンネルを張っただけではマシンに IPv6 のアドレスが割り振られていないということがわかりました。トンネリングのこっち側の仮想インタフェースである sit1 にアドレスを手動で割り振ります。

ifconfig sit1 inet6 add 2001:3e0:4fd:0:0:0:0:1

これで KAME から you are using IPv6, from 2001:3e0:4fd::1 という応答を得ることができました。

しかしこのままだと ip6tables も設定してないし bind も IPv6 インタフェースを認識してない、postfix は本当に使えるのか、とか、IPv6 ルータとしてちゃんと使えるのか、など いろいろ勉強しないとならないことがたくさんです。

とくに ip6tables でのファイアーウォールのルールは相当しっかり書かないとまずいんじゃないかと思います。なにせ LAN の内側のマシンまでグローバル IP アドレスをもてるんですから。IPv4 ではファイアーウォールが一応あるけど、IPv6 だとグローバル IP アドレスでインターネットに直結してる、みたいなことになりかねません。

IPv6 reachable への道は遠いです。

2005年3月8日

IPv6

Feel6でIPv6接続をしてみました。

とりあえず手元の Windows XP マシンから接続しようとしてみました。ルータのポート 41 を開ければよいみたいです (TCPかUDPか分からないので両方開けている)。

おおー、KAME Project のカメが踊ってる!

しかし、自作プログラムのテストとかを除いては、私の場合、実用的に IPv6 を何に使うんでしょうかね。実はあの踊ってるカメを見たかっただけかも知れないです。

チャットクライアントは ChatZilla が IPv6 に対応してました。

ちょっといろいろ調べないとならないけど、もしかしたら kikyou.info も IPv6 対応とか!でも、そもそも IPv4 で固定 IP アドレス持ってるのに IPv6 対応にする意味あるんですかね。

もうちょっと IPv6 自体を勉強しないとならなさそうです。

  • 2005-03-09 15:48 mmasuda : TCPでもUDPでもなくIP のプロトコルNo. 41 ですね。 /etc/protocols とか。
  • 2005-03-09 22:21 W.Dee : ああ、そうでしたか。 勘違いしてました。どうもありがとう御座います。

2005年3月7日

DirectSound ソフトウェアミキシング

2.25beta4からは、DirectSound のソフトウェアミキシングをデフォルトで有効にします (今まではハードウェア優先だった)。設定は「エンジン設定」で変えることが出来ます。

ここの設定を変えたら、サウンドの音飛びが治ったというご報告が多いためです。

ハードウェア上のサウンドバッファを使ってハードウェアにミキシングをやらせるほうがもちろん CPU 負荷は低いのですが、最近の高速な CPU ではソフトウェアでのミキシングもそれほどの負荷ではないはずです。

2005年3月6日

日記システム改良

この日記システムを改良しました。といっても、こちらの管理がしやすくなったというわけであって、日記を見る側での変更点はあまりありません。

いままでは日記を書くときは、いったんローカルのPCで編集してからローカルのPCでプレビューし、サーバにアップロードするという前時代的なシステムでした。

それを、サーバ上で日記を編集できるようにしました。

書式も、前まではちょっと複雑なことをやろうとすると(たとえ単純なハイパーリンクでも)HTMLで書かなければならなかったので、wiki風に簡単にいろいろ書けるようにしています。

これでちょっと億劫だったために月2回ほどだった日記更新が頻繁になるとよいのですが。

既存のソフト使えっていう話もありますが、勉強がてらにやってるものですので…。

2.24RC3 と 2.25beta2 用アップデートファイル公開

2.24RC3 と 2.25beta2 用のアップデートファイルを公開しました。krflash.dll と krmovie.dll を新しい物に差し替えるのを忘れていたためです _| ̄|○ 。

RC4 として出すか悩んだのですが、krkr.eXe も最新の物が入っています。@iscript 〜 @endscript 内でシナリオファイルの遷移を行ったときに EAccessViolation 例外が発生する不具合を治してあります。

2005年3月2日

DirectSound3Dで困る

吉里吉里で DirectSound3D を使えるように、とがんばってました。結論からいうと、とりあえず挫折。

DirectSound3DでBGMならしたい場合どうしたらよいか、をずっと調べていました。上記のように、BGMをならしてもフロントのスピーカからしか再生できないのではなんか変です。

MSDNをみると「DirectSound の 3D 能力を利用するアプリケーションでは、モノラル音源を提供しなければならない。DSBCAPS_CTRL3D フラグを指定してバッファを作成する場合、WAV フォーマットに複数のチャンネルが含まれていると、エラーになる。」「(DSBCAPS_CTRL3D フラグを指定する場合は)lpwfxFormat でステレオ フォーマットを指定されているバッファには設定できない。」とか書いてあって、じゃあステレオのBGMは鳴らないのか、とか思います。

しかし、実際は、複数のチャンネル、といってもステレオのサウンドはうちの環境では DSBCAPS_CTRL3D フラグをつけていても受け付けるようです(3チャンネル以上のデータとか、WAVEFORMATEXTENSIBLE でスピーカー位置が指定してあるデータは受け付けないようです)。

で、音像位置を (0, 0, 0) にすると、ちゃんとステレオで再生されます。しかも 5.1 スピーカーでは 5.1 に自動的にアップミックスされています。ちゃんとサブウーハーも鳴ってるし。でもこれをちょっとでも (0, 0, 0) からずらすと、たとえば (0.00001, 0, 0) とかにするといきなり音はモノラルになり、サブウーハーも鳴りません。

調べていくと、サブウーハーが鳴るのは (0, 0, 0) から聞こえる音のみで、これから少しでもずらすとサブウーハはいっさい鳴らないということがわかりました。(0, 0, 0) は頭の中の位置なので、たとえば爆発音だったら、頭が爆発でもしない限りサブウーハは鳴らなくて、たとえば1m先で爆発音を鳴らしてもサブウーハが鳴らないと言うことになります。

あれ、DOOM3 じゃ、遠くで聞こえる音に対してもサブウーハはがんがん鳴ってるよ、と思って調べていくと DOOM3 は DirectSound3D を使わずに自前でミキシングしている様子(確証はありません) orz

DOOM3がサウンドを再生するためにどういうライブラリを使ってるかとかは知らないのですが、DirectSound3D を使ってないってのはやっぱり DirectSound3D があまり使い物にならないからかなとか思いました。自前でミキサ書けっていわれりゃ書きますけど時間が惜しいです。ほかの選択肢としては EAX とかどうなんだろう。これも同じだろうなぁ。

とりあえず、DirectSound3D によるコントロールは、現状の吉里吉里での実装は後回しにさせていただきます。一応 WaveSoundBuffer.posX, posY, posZ とかのプロパティはつけておきます (これを使うためにはコマンドラインオプションで -wsuse3d を指定する必要があります) が、ドキュメントには記述しません。

どうしても使いたいーってひとは、是非私を説得して、テストに協力してください。お願いします。あと、どなたか詳しい方、教えてください m(_ _)m

それよりもWaveSoundBufferのセグメントループの機能を強化したいです。

  • 2005-03-02 19:19 とおか : はじめまして、とおかといいます。あの、DirectSound3Dを利用されているようですが、またクロスプラットフォーム対応が遠のくような気がします。べつにしろって言っているわけではなくて、W.Deeさんの率直なクロス対応への現在の心境など教えていただければうれしいのですが。不躾な質問ですいません。
  • 2005-03-02 21:00 W.Dee : はじめまして。DirectSound3Dっていっても、音を鳴らすだけですからあまり心配してません(OpenALとかの選択肢もあるわけですし)。他プラットフォームへの移植云々よりも、各ユーザ間の環境差異やWindowsのOSのバージョンの違いを吸収してると、最終的にはいつも移植性の高いコードにならざるを得ないので、その面でもあまり心配してません。
  • 2005-03-02 21:01 W.Dee : 他プラットフォームへの移植はしたいのですが、正直、私一人では手一杯です。でも最近は本体の開発に協力してくださる人が増え、大変ありがたいことです(興味のある方は #kirikiriirc までお越しください)。gcc-gtk というブランチがリポジトリに既にあるように、より移植性の高いコードへの移行はゆっくりと行われはじめている所です。
  • 2005-03-02 21:03 W.Dee : あと「また」っていうと何か他にありましたっけ(^^;
  • 2005-03-02 22:26 とおか : どうも、なるほど。すいませんリポジトリ見てませんでした。あまりチャット得意じゃないんですけど、できればいってみます。「また」っていうのはもともとVCL依存だった、、ってことです。どうも、お騒がせしました。
Matrix Mixer

Matrix Mixer という DirectShow フィルタがあります。これを使うと、少なくとも DirectShow 経由での再生では、アップミックスができるようです。各スピーカでの音量の調整が必要ですけど。

ついでに Matrix Mixier は Dolby Prologic のエンコードができるようです。試しにGD580のデコーダをつなぎ、右後ろだけで音が鳴ってるような 4ch のソースを再生させたら、ちゃんと右後ろのスピーカーから音が出てました。

サブウーハ

さて、うちのEnvy24HTSですが、ふつうのアプリの出力はフロントのスピーカからしか再生されません。Sensaura 3D というのを有効にするとすべてのスピーカが鳴るようですが、前に使っていた ReMix2000 というカードでもフロントのスピーカからしか再生されなかったし、標準的な動作のようです。

GD580 ですが、フロントのスピーカは低音は全然出ません。出るようなスピーカーがついていません。サブウーハがあるから、ほかのスピーカでは出なくてもよいという考え方なのですかね。

まあ、うちの環境では その Sensaura 3D という機能を On にすればいいようだし、最近のサウンドカードはほとんどこういったアップミックス(たとえば、モノラルやステレオのサウンドを 5.1ch などに拡張すること)の機能がついているので大丈夫らしいんですけど、すべての環境でそういう機能がついている、という仮定ができません。

5.1chスピーカーシステム

5.1chのスピーカーシステム買ってきました。CREATIVEのGD580です。5つのスピーカーと、1つのサブウーハ(アンプはここにある)、1つのデコーダ(Dolby Digital とかをデコードする箱)がセットになっています。買った後に気づいたんですが(いや、買う前に気づけって)、デコーダのアナログ入力はステレオ(右・左)しかありません。5.1ch入力できるのは光か同軸のデジタルのみらしいか Dolby なんたらでエンコードされたステレオ入力のみらしいです。がーん。

PS2とかXboxとかDVDプレーヤはDolby Digitalとかでサラウンドの出力ができるそうなのですが、うちにそんなもんありません。

手持ちのサウンドカード(Envy24HTS)やUA-5は光や同軸のデジタル出力ができますが、ステレオのみサポートのよう (Envy24の方はDVD再生ソフトによってはサラウンド出力できるのかな)。

どうにしろ、今の環境ではDirectSound3Dでのサラウンドサウンドはそのままでは利用できないようです。

しかたなく、GD580のアンプのアナログ入力を直接Envy24のアナログ出力に接続。Envy24の音量を最低付近に絞ってもかなり大きな音で鳴るので、音量調整がかなりつらいけど、まあ、鳴るには鳴りました。結局デコーダは用なし(とはいっても電源スイッチがデコーダ側にあるのでデコーダはつないでないとなりません)。

デコーダなしのモデルで、7千円安くて、7.1chが鳴るこれっていう選択肢があったのになぁ。せっかくEnvy24HTSって7.1ch出力できるのに。DOOM3をやってみる。おーー。低音が響くぜ。なんかサブウーハからハム音が聞こえるけど。