• ベストアンサー

PCから出力される音の分離について

日頃友人とスカイプで喋りながらwinampで音楽を聞いているのですが、他の音楽プレーヤーで音量を下げると相手の喋っている声も下がってしまうのですが、winampやWindows Media Playerは下がりません。サウンドデバイスが1つなのにも関わらず、どのような仕組みでWindowsの音量の制御と分離させているのでしょうか? 現状ではドライバを使って何かをしているっていうことまでは調べましたが、そこからはプログラムの問題かと思いまして、当方まったく触ったことがないため内部の処理を分かりやすく教えていただきたく思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

DirectSoundを使用しているかどうか、です。 簡単に言えば、DirectSoundはミキサーの役目をします。 複数の音源 ⇒ ミキサー ⇒ アンプ ⇒ スピーカー と言う接続を考えてみて下さい。 ミキサーの入力側のボリュームを変えると音源ごとにボリュームが変ります。しかし、ミキサーのマスターボリュームやアンプのボリュームを変えると、全部の音のボリュームが変ります。 DirectSoundは、本来、ゲーム用の拡張サウンドドライバで、1つのWAVE音源を使って、沢山の音声を同時に出す事が出来ます(DirectSoundは、複数の音声をソフトウェアで合成し、マルチメディアコントロールのWAVE出力に合成済み音声を送り出しています) 例えば、DirectSoundを使うとwavファイルの効果音を3つと、wavファイルのBGMと、wavファイルのセリフとを全部同時に鳴らす、とかが可能です。 で、DirectSoundを通す時は「この音はこのくらいのボリュームで、こっちの音はこのくらいのボリュームで」と、音声1つ1つ個別にボリューム調整出来ます。 winampやWindows Media Playerは、この「個別にボリューム調整」を使って「自分が出している音だけボリューム調整」と言う事をしています。 ところが、DirectSoundを通さず直接マルチメディアコントロールを使って音声を鳴らしていたり、DirectSoundの音量調整ではなくマルチメディアコントロールの音量調整でボリュームを変えるプレーヤーは、WAVE音源全部のボリュームを変えてしまいます。前述の例で言えば、直接アンプのボリュームを変えるようなものです。 なお、直接マルチメディアコントロールを使って音声を鳴らしているプレーヤーは、そのプレーヤーがWAVE音源を占有してしまう為、他のプレーヤーや音声チャットのWAVE音声が一切鳴らなくなります。これも前述の例で言えば、ミキサーを取り外し、音源1つを直接アンプに繋ぐようなもので、アンプを占有されてしまった他の音源は鳴らせなくなります。

mahunet
質問者

お礼

ありがとうございました!すごく分かりやすかったです。 ずっと疑問に思っていたのでスッキリしました。 少し趣旨と違ってしまうのですが、このDirectSoundを 応用したDirectSoundを使っていないソフト1つ1つの音を個別に設定できるようなソフトウェアはありますでしょうか? 自動で音量の調節を行ってくれるソフト(Fadercontroller等)は使ってみたのですが、『完全に分離して』というソフトがまだ見つけられません。

関連するQ&A