上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) |

いまやDVDや3D系デームにおいて5.1ch/7.1chのサラウンドは当たり前というすごい時代になったけれど
スペースの都合や冗長感からしっかりとスピーカーを用意してる人はさすがに少ないんじゃないだろうか。
Windows10のCreatorsUpdateからステレオ環境でも疑似的にサラウンド再生を可能にするオプションが用意されて
いよいよ仮想サラウンドの敷居がさがってきた感じだね。
ただ、仮想サラウンドについてはいろいろとややこしい条件があったりで、あれこれ書いてみようと思う。

●ややこしいこと
仮想サラウンドソフトを紹介する前にそのクセや仕様に触れないといけない。
仮想サラウンドが機能するには再生ソフト側の仕様に依存し、大きく分けて以下の二種類ある。

・再生ソフト側が5.1ch/7.1chでデバイスを開く
 再生デバイスのスピーカー構成に依存せず、音声フォーマットに対応しているかどうかで決めるタイプ。
 Windows7以降、主流の方式になっていると感じる。
 再生デバイスがステレオ(2ch)であっても再生ソフト側が5.1chや7.1ch形式でオープンすることで
 APOが仮想化処理を行い仮想サラウンドになる。(APOは乱暴に言うとドライバにくっつく音声処理部のこと)
 逆を言えば再生ソフト側が5.1chや7.1chで開いてくれないと仮想サラウンドにはならない。
 ロジテックのUSBヘッドセット等、最近のUSBサウンドデバイスはだいたいこのタイプ。
 ソフトウェア処理なので実質的にハードを選ばない。

・再生ソフト側がデバイスのスピーカー構成に従う
 再生デバイスのスピーカー構成に依存して音声フォーマットを生成するタイプ。
 ソフト側で再生チャンネル数の設定がなかったり、XP~VistaあたりのDirectSound全盛期のタイトルは
 ほとんどコレだと思う。
 再生デバイスのスピーカー構成が5.1ch/7.1chにできないとこのタイプに対応できない。
 前項のような再生デバイスがステレオ(2ch)かつAPOで処理を行うタイプである場合、そもそも再生ソフトが
 ステレオ(2ch)の音源しか吐き出さないのでAPOによる仮想化処理が行われない。


と、このように仮想サラウンドはそれに対応しているデバイスよりも再生ソフト側の実装がとても重要になってくる。
そこを正しく把握していないとせっかくの仮想サラウンドも宝の持ち腐れになりかねない。
「これが仮想サラウンドかー」と聞いていたものが実は2ch→2chの味付けオンリーだったとか普通にあるあるだと思う。
更に仮想サラウンドと一口に言っても最終出力がステレオスピーカーとステレオヘッドホンでは大きく違う。
定位させる場所がちがうため処理も異なるからだ。スピーカーもヘッドホンも使うよという人はその出力設定が
できるものを選ばないといけない。

以前使っていたXonar DXでは、専用パネルからデバイスのチャンネル数と出力先が設定できたけど
デバイス側を7.1chに設定して出力先をヘッドホンにした場合、Dolby ProLogic IIが選択できなくなってしまう。
(Dolby ProLogic II は2ch音源を多chへとアップミックスするもの)
なのでデバイスが7.1chの状態で音楽(2ch)をかけると聞こえ方がとても微妙になる・・・
再生デバイスが7.1chであっても2ch音源のものを再生したときなどの処理が結構雑なものが多い。
(ゲインがちぐはぐだったり、音楽の定位が変なことになってたりする)
APO式は音声フォーマットで処理を分けているのでサラウンド下の音楽再生もミスマッチになりにくいと感じる。

●音の「高さ」という要素
仮想サラウンドはあくまでも7.1ch/5.1chの環境を仮想的に表現しているわけだけど、
そもそも7.1ch/5.1chとは前後左右に展開するスピーカー群。つまり横方向の広がりを豊かにしたものにすぎない。
なので仮想だろうとリアルだろうと基本的に高さを聞き分けるようにできていない。
FPSで航空機が頭上にいるように聞こえるのは録音された時点でそういう音に加工されているからだ。
先日のWindows10 CreatorsUpdateで導入された「立体音響」はまさにここに直結するもので、
これまでの仮想サラウンドとは違って音源の位置に高さの概念も含めることができるようになっている。
将来的にはゲーム系はこの機能を使うようになり、仮想サラウンドソフトも「立体音響」機能の一部として
登録して使えるようになっていくのかもしれない。それを思うととてもワクワクするよね。

●仮想サラウンドソフト
以下に自分が試してきた仮想サラウンドソフトについて触れていこうと思う。

①Sound Blaster X-Fi MB3
surround_sbx.png

インストールタイプ: 仮想デバイス(ch数は出力デバイスと同じになる)
処理タイプ: APO
イコライザ: 有
出力構成: スピーカー/ヘッドホン
遅延: 体感できず

マザーボードにバンドルされているソフト。
Realtekのサウンドデバイスでしか使用できないが、ライセンスがあればどのデバイスにも使用可能。
仮想デバイス側のAPOで処理し、出力先デバイスのAPOは通らない。
設定が細かく、どんなデバイスもほぼサウンドブラスター化する。
サウンドブラスターシリーズはAPO処理タイプが多いので、MB3のせいでハードの存在意義が危ういとさえ思う。
仮想サラウンドの定位や音楽と併用したときの聞こえ方が一番好き。

②Acoustic Engine Lite
surround_blasterx.png

インストールタイプ: 仮想デバイス(2ch)
処理タイプ: APO
イコライザ: 有(設定ファイルを手動編集)
出力構成: ヘッドホンのみ
遅延: 体感できず

BlasterX H5などのドライバソフトウェアとして公開されているもの。普通のステレオヘッドホンに使用可能。
ソフトの上からではプリセットの選択しかできないものの、インストール先のXMLファイルを編集することで
プリセットを自由にいじれるため、実質的にAcoustic Engine Proとほぼ同じ設定ができる。
仮想サラウンド処理はMB3と似てはいるけど細かく違う。世代的にはこちらが新しい。
設定を編集するのは多少苦労するかもしれないが、仮想サラウンドを体験してみたい人におすすめ。
(画像は都合で英語です。)

③Razer Surround
surround_razer.png

インストールタイプ: 仮想デバイス(7.1ch)
処理タイプ: ドライバ内
イコライザ: 有
出力構成: ヘッドホンのみ
遅延: 環境によってあり(※)
※BIOS/UEFI で HPET[High Precision Event Timer] を無効化すると劇的に遅延が解消される模様
※これほど明確な遅延の体感有無が使用者によって違っていたのは上記環境設定で納得がいく


知る人ぞ知るRaze Surround。音の方向キャリブレーションが可能という本格的な仕様。
Razer Synapse経由の使用でアカウントが必要。7.1chデバイスなので再生側ソフトウェアを選ばない手軽さがある。
個人的には仮想サラウンドに特化しすぎていて音楽再生などの2ch音源をミックスするような使い方で違和感を
感じるため使用を断念。
SBX系のような自由度がない分、扱いやすく簡潔で導入の敷居も低いのでFPSに特化するならこれ一本でいいと思う。
(画像は都合で英語です。)

④Voice Meeter Banana
surround_banana.png

インストールタイプ: 仮想デバイス(7.1ch)
処理タイプ: 不明
イコライザ: 有
出力構成: 不明(おそらくスピーカー)
遅延: あり

寄付ウェアの仮想ミキサー。機能制限はないので実質フリー。
出力をMixdown Aにすることで仮想サラウンドになる。
設定で遅延を減らせるものの映画やゲームではどうしてもズレを感じるので録音や放送向けかな。
各チャンネルのレベルを見ることができるので、正常に7.1ch再生されているかなどチェックしやすい。
ひょっとしたらASIOで遅延をなくせるかもしれない。

⑤Dolby Headphone
インストールタイプ: USBオーディオドライバ(2ch)
処理タイプ: APO
イコライザ: 無
出力構成: ヘッドホン
遅延: なし

TurtleBeach Z300用のドライバーを使う。
このドライバにはDolby HeadphoneのAPOがくっついていて、しかもドライバそのものはOS標準のものを
使っているので、USB接続のヘッドセットやサウンドデバイスであれば使用できてしまう。
infファイルの USB\VID_10F5&PID_2110&MI_00 を自分のデバイスIDに書き換えることでインストールが可能。
(起動オプションで"ドライバー署名の強制"を無効化して入れる)
デバイスのプロパティからDolby Headphoneの切り替えができる。
ほかの仮想サラウンドソフトのように環境がゴテゴテしない分いいかもしれない。
Windows10の立体音響オプションより明確にサラウンド感があるように思う。
ドルビーは一部で言われているようにリバーブ/エコー感が強いけど親しみやすいから好き。


●おわり
ざっとサウンドデバイスに依存しない仮想サラウンドソフトをあげてみました。
ほかにもSoundBlasterX 720°やMB5なども試したけれどRealtekオンリーなので割愛。
これから仮想サラウンドをかじってみようかなという人や、うまく動作させているか不安な人の参考になれば。
スポンサーサイト

2017.05.26 01:02 | プログラム | トラックバック(-) | コメント(-) |

9月の中旬からGoogle日本語入力の変換候補とサジェスト候補の一覧が表示されなくなって久しい。
やる気がある空いた時間を見つけることができなくてずっと放置していたけれど、解決のためにいじってみる。

Windows10のせいなのか、特殊な環境のせいなのか、といろいろ考えたけど・・・
そもそもインストールしてるものといえばVisualStudioくらいで他の常用アプリは環境移行や再構築が楽なように
インストーラとレジストリに依存しないタイプのものに限定して一つのフォルダに一元管理している。
ドライバーさえパッケージをばらして手動で入れるくらいで、どちらかといえばバニラ状態に近いという自信がある。

AppData下の3種dbファイルの削除や常駐プロセスの影響とか検証してみたけれどまったく関係がなかった。
変換候補の枠さえ表示されなくなるのがGoogle日本語入力2.19.2600.0からで、次の2.19.2680.0もダメ、
開発版の2.19.2690.100もまったくダメで2.17.2400.0に戻すと正常に表示される。
変換候補が表示されなくなった時期はちょうど2.19.2600.0が来たあたりなので環境的な問題よりは
Google日本語入力そのものの問題のほうが大きいと勝手に断定し、仕方ないので旧2.17.2400.0を常用中。

[解決法・・・というかダウングレード]
自分がとった方法なので責任は持ちませんが。
① Google日本語入力のアンインストール
② 再起動
③ 管理者権限でコマンドプロンプトを開く
④ sc delete gupdate と sc delete gupdatem を実行する(Googleの更新サービス削除)
⑤ 念のため %USERPROFILE%\LocalLow\Google\Google Japanese Input 内の boundary.db, cform.db, segment.db を削除
⑥ 下記より自分の環境に合う旧版をダウンロード&インストール
  http://dl.google.com/japanese-ime/2.17.2400.0/googlejapaneseinput32.msi
  http://dl.google.com/japanese-ime/2.17.2400.0/googlejapaneseinput64.msi
⑦ 再起動
⑧ Windowsの設定→時刻と言語→地域と言語→日本語[オプション]でGoogle日本語入力を選ぶ

これで旧版から自動更新されることなくGoogle日本語入力を使用可能。
GoogleIMEJaRenderer.exeだけ2.17.2400.0に維持しておけば最新版でも変換候補は表示されそうな気もするけど
検証と管理が面倒そうなのでパス。
新バージョンが出て全面的に解決されるまでの解決法として同じ症状に悩む方々に捧げよう。

2016.10.26 13:38 | プログラム | トラックバック(-) | コメント(-) |

Windows10対応のSound Blaster X-Fi MB3 1.00.06(以下SBXFIMB3)がでてからしばらくになるけれど、
使う人によってはひどいと言える不具合があるため適当にバイナリをいじって常用している。

1.00.06ではOS起動時に自動で立ち上がるときの起動オプション "/r" がつくとWindows10のFastBootを意識してのことか
とても素早くSBXFIMB3が起動する。これは前バージョンの1.00.04とは比較にならない起動速度なのだけど、
そのせいかホットキーを検出するサービスが実行されないらしく、PCを起動したあとトレイから一回引き出してあげないことには
プロファイルの切り替えをキー操作でできないという大問題が発生した。

問題といえばもう一つ、Windows10のTH2からアニバーサリーアップデートを行ったときになぜかSBXFIMB3が
1.00.04に勝手にダウングレードされていたこと。Windows10に対応してないバージョンを強制的にいれてくるとか正気なのかな…
ちなみにWindows10上での1.00.04は対応するサウンドデバイスが検出できない深刻なバグが発生する。

というわけでパッチを更新して公開したので奇特な方は是非。
なお、同梱のDLLも不具合があったため新しい物に変更済み。
[1.00.04]/[1.00.06]
・短い音の末尾が途切れる問題の修正
・起動時のスプラッシュロゴを削除
・プロファイルの切り替え通知
[1.00.06]
・自動起動時にホットキーでプロファイルが切り替わらない問題の修正

ダウンロード

2016.08.18 17:59 | プログラム | トラックバック(-) | コメント(-) |

正月早々にInputWireをこっそり更新。
マクロの処理や他ライブラリのテストベッドとしていろいろいじったので設定も互換なし。
マクロにループ機能を持たせたんだけど今日いまさらながらにコレが寝マクロ可能なことに気づいてしまった・・・
といっても寝マクロするようなタイトルを遊んでるわけでもないけど。
使い手しだいとはいえ、マクロの扱いというのは一般の方からしたらどういう位置づけなんだろうなぁ・・・

img150108_00.png
マウスの相対座標移動やループを実装した図

そもそもマザーボードメーカーであるASUSの最新ROGシリーズにはKeyBotなる専用チップを乗せていて
繋ぐキーボードに依存せずマクロ機能を与えてたり、先日さわったSonicStudioのSonicRader(これもASUS)も同様に
Direct3D(あるいはオーバーレイ?)へ音が発生した方向を表示したりと徐々に行き過ぎ感が。

img150108_01.jpg
KeyBotチップ。マクロ機能を実現する専用チップをマザーボードが搭載するという時代・・・

汎用的に使えることを目的としたInputWireもそこまでとは言わないものの余り機能を付け足してはいけないのかも。
これに指定座標カラーピックと条件分岐でもつけようものなら完全にBOT運用じゃないか。
ソフトウェアのモラルというのは作り手にあるべきなんだろうか?使い手にあるべきなんだろうか?

2015.01.08 20:25 | プログラム | トラックバック(-) | コメント(-) |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。