トップページ > 過去ログ > 記事閲覧
デバッグを走らせると異音
名前:kuz 日時: 2011/12/08 14:48

このたび新たなPCに乗り換えたのですが。 DXライブラリを使用したプログラムを走らせると突然「ガガガガガガガガガガガ」と異音がします。 多少調べてみたのですが、DXライブラリを使用しないプログラムでは何もならず、DXライブラリのDxLib_Init()を走らせた時点で異音がなり始めます。 原因はなんなのかさっぱりわかりません。 何かわかる人はいないでしょうか? 必要ないと思われるオーディオ周辺の環境 ASUS Xonar DG フロントパネルにAC'97接続でイヤホンをつけています。

Page: 1 | 2 |

Re: デバッグを走らせると異音 ( No.2 )
名前:kuz 日時:2011/12/10 17:19

イヤホンからです。 割と高い音がでます
Re: デバッグを走らせると異音 ( No.3 )
名前:kuz 日時:2011/12/10 17:58

ディスプレイのHDMI(音声あり)で音を出力した場合 その異音は一切なっていませんでした。 ですが、サウンドカードを通すとどうやらなっているようです。 イヤホンを変えてみても鳴ります。 参考・・・になるとは思われませんが、こんな感じです。 ttp://gyazo.com/2b8f6d5e76321a9b674228085f3320e3
Re: デバッグを走らせると異音 ( No.4 )
名前:管理人 日時:2011/12/11 18:37

アップしていただいたスクリーンショットは出力している音の情報でしょうか? DXライブラリでは標準では 44.1KHz で出力しているので、出力の周波数が 96KHz になっているのが原因かもしれません よろしければ実行した際に作成される Log.txt の中身を掲示板に貼り付けていただけないでしょうか?
Re: デバッグを走らせると異音 ( No.5 )
名前:kuz 日時:2011/12/12 15:06

0:システムの情報を出力します 3: DXライブラリ Ver3.06c 4: 論理プロセッサの数 : 8 4: OS Windows7 ( Build 7601 Service Pack 1 ) 105: CPU動作速度:大体3.60GHz 106: MMX命令を使用します 106: SSE命令が使用可能です 107: SSE2命令が使用可能です 107: CPUベンダ:GenuineIntel 109: CPU名: Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz 113:COMの初期化... 成功しました 133:メモリ総量:16359.11MB 空きメモリ領域:13826.91MB 134:タイマーの精度を検査します 134:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 134: パフォーマンスカウンターを使用します タイマー精度 : 3521.230000 KHz 135: ソフトの二重起動検査... 二重起動はされていませんでした 136:ウインドウクラスを登録します... 登録に成功しました 137:ウインドウモード起動用のウインドウを作成します 138:ウインドウの作成に成功しました 171:IMEを無効にしました 173:ウインドウスタイルをウインドウモード用に変更します... 完了 174:DirectInput関係初期化処理 174: DirectInput7 の取得中... 成功 191: 引き続き初期化処理... 初期化成功 193: ジョイパッドの初期化... 197: ジョイパッドの初期化は正常に終了しました 197: マウスデバイスの初期化... 初期化成功 198: キーボードデバイスの初期化... 初期化成功 199:DirectInput 関連の初期化は正常に終了しました 201:DirectSound の初期化を行います 202:DirectSound インターフェースの取得を行います.... 成功 443:引き続きインターフェースの初期化処理... 成功 445: DirectSound デバイスを列挙します 446: モジュール名: ドライバ記述:プライマリ サウンド ドライバー 447: モジュール名:{0.0.0.00000000}.{28e1ae7b-2acc-43f0-a16e-c0ce1dac0cb9} ドライバ記述:スピーカー (ASUS Xonar DG Audio Device) 447: モジュール名:{0.0.0.00000000}.{8dd3b7be-0883-42a8-b81b-97b8f609cd6a} ドライバ記述:S/PDIF Pass-through Device (ASUS Xonar DG Audio Device) 448: 最大サンプリングレート:192.00KHz 最小サンプリングレート:0.10KHz 449: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 449: 利用可能サンプリング精度 450: プライマリ 16bit = OK 8bit = OK 500: セカンダリ 16bit = OK 8bit = OK 501: 利用可能チャンネル 502: プライマリ MONO = OK STEREO = OK 502: セカンダリ MONO = OK STEREO = OK 503:DirectSound の初期化は正常に終了しました 507:DirectDraw オブジェクトの取得を行います.... 成功 512:引き続き初期化処理... 初期化に成功しました 744:フォントの初期化を行います 746:フォントの初期化は正常に終了しました 746:文字コードバッファの初期化を行います... 完了しました 2826:ウインドウを閉じようとしています 2830:ウインドウが破棄されようとしています 2831:ソフトを終了する準備が整いました 2859:フォントの初期化を行います 2860:フォントの初期化は正常に終了しました 2905:Direct3D9 DLL の解放 4 2906:DirectInput 関連の終了処理... 完了 2958:DirectSound の終了処理は正常に終了しました 2959: 2960:Alloc memory dump 2962: Total size:0(0.000kb) Alloc num:0 2963: こんな感じです
Re: デバッグを走らせると異音 ( No.6 )
名前:蟹てっく 日時:2011/12/12 16:24

ASUS Xonar DG ノイズで検索をかけた所 ノイズで悩んでる人がそこそこいらっしゃるようで… 電源ユニットやケーブルからの電磁波を拾っていることでノイズが出たり、 他のオーディオドライバーが入ってるのが原因だったり、 PCのイヤホンジャックまで延長ケーブルで繋いでいた為に ノイズが入るようになった人など…。 解決策になるかわかりませんが 私は昔、AC'97が載ったマザーボードを使用してたのですが スピーカーから『ザー』といったノイズが頻繁に入ることがありました。 その時はフロントパネルではなくリアパネル側に イヤホンを接続することでノイズが大幅に減りましたので 接続方法などを変えてみると改善する場合があるかもしれません。 何をやってもノイズが改善されない場合、 サウンドカードのメーカーに相談するか USBオーディオインターフェースなどを使用する事も検討されてはいかがでしょうか。
Re: デバッグを走らせると異音 ( No.7 )
名前:kuz 日時:2011/12/15 01:50

なるほど・・・そうなのですか。 ちなみにバックパネルのほうに接続してもやってみましたが。やはりサウンドカードを通すとノイズが入るようでした。
Re: デバッグを走らせると異音 ( No.8 )
名前:管理人 日時:2011/12/18 17:13

ログを載せていただきありがとうございます 蟹てっくさんのご見解ではノイズが載りやすいデバイスとのことですが、 No.4 のもう一つのご質問である 「アップしていただいたスクリーンショットは出力している音の情報でしょうか?」 については如何でしょうか? アップしていただいたスクリーンショットに映っているメーターが ミニジャックから出力されたアナログ信号の波形でしたら蟹てっくさんの仰られている通り PCの中にある機器から発せられるノイズの影響ということになりますが、 アナログ信号に変換する前のデジタル信号の時点でノイズが載っているとすると他の機器の アナログノイズが影響することは考えにくいので・・・ ちなみにアナログ信号にPCから発せられるノイズが載るのは私も何度か経験したことがあります 主にノイズが載るのはマザーボードに組み込まれたサウンドデバイスから伸びるミニジャックに ヘッドホンやイヤホンを接続したときで、別売りのサウンドカードやUSB接続のオーディオインターフェースを 使った場合にはノイズが載ったことはありません アナログなノイズが影響した場合のお話になりますが、DXライブラリを使用したプログラムを 起動したときに異音が発せられるのは、DirectX を使用しないときには大して稼動していない GPU が、 DXライブラリが DirectX を使って描画処理を行うことで GPU の稼働率が上がり、GPU から発せられる ノイズが強くなるから、ではないかと思います、あくまでアナログノイズが影響して異音が発生 していた場合ですが・・・
Re: デバッグを走らせると異音 ( No.9 )
名前:kuz(解決) 日時:2011/12/19 21:34

スクリーンショットにでているメーターはたぶん出力波形ではないかと思われます。 あまり詳しくは知らないのでよくわからないのですが・・・。 ちなみにちょうど今確認したことなのですが。 サウンドカードについていたディスクからいれたソフト以外のもの・・・Windowsの標準の音量ミキサーですが ノイズがなっている際にそのミキサーのボリュームはひとつも音がなっていない状態でした。 PCからノイズが発せられることはしばしばあることなのですか・・・。 DirectXが今回のノイズの原因だとするのでしたら、自分は少し解せないです。 自分は3DのゲームなどもよくプレイするのでそれをやっているときのほうがGPUには負荷がかかっているのではないかと思います・・・。 ですがDXライブラリを組み込んだプログラムをコンパイルし実行した時以外ではノイズがでたことはありません。 なので別の機器からでる電磁波などが原因・・・なのかな・・・と思います・・・。 いっちさん、蟹てっくさん、管理人さん答えていただきありがとうございました。 この件に関してははっきりとはしていませんがNo8No6で答えていただいたように ハードウェアの構成上の問題だろうとのことなので。 プログラミングの際は音を別の機器から出力させることにします。
Re: デバッグを走らせると異音 ( No.10 )
名前:管理人 日時:2011/12/25 00:11

確実にノイズのせいかどうかを確認する方法がありました PCから発せられるアナログなノイズが原因の場合はPC上での音量設定に関係なくノイズが聞こえるはずなので、 音量設定を0にして、PCから発せられる音は一切鳴らないようにしてみてください それでもノイズが聞こえましたら、ノイズの原因は私や蟹てっくさんが推測した通り PCから発せられるアナログなノイズによるものとなります、その場合の対処は前述の通りです ただ、音量設定を0にするとノイズの音も聞こえなくなるとしますと それはアナログなノイズが原因ではなく、ソフトウエア的に何か問題がありアナログな音声信号に変換する前の デジタル信号の時点でノイズ音が載ってしまっていることになります アナログなノイズが原因でデジタル信号にノイズ音が載るということはありませんので、 この場合は私や蟹てっくさんの推測に反して原因がPCから発せられるアナログなノイズとは別のものとなります よろしければご確認頂けないでしょうか?
Re: デバッグを走らせると異音 ( No.11 )
名前:kuz 日時:2011/12/29 15:41

返答遅れてすいません、今確認しましたが 音量を0にした場合はノイズは聞こえなくなっています。
Re: デバッグを走らせると異音 ( No.12 )
名前:管理人 日時:2012/01/01 03:54

ご返答ありがとうございます 音量を0にしたらノイズも聞こえなくなりましたか・・・ 前回音量を0にしてもノイズは聞こえるはずと申し上げましたが、 ノイズも音量設定に応じて音の大きさが上下する可能性もあるかもしれません 曖昧な記憶でご返答してしまい申し訳ありません オーディオデバイスを変える以外の解決策があるかどうかはわかりませんが、 よろしければ以下のご質問にお答え頂けないでしょうか? 1.Google で 「PC イヤホン ノイズ」などで検索するとPCから発せられるノイズが原因で  困って居られる方が沢山見つかりますが、kuzさんの環境では上記検索で拝見できる症状とは違い  DXライブラリを使用したプログラムを実行したとき以外ではノイズは一切聞こえないのでしょうか? 2.DxLib_Init() を呼ぶ前の箇所に SetScreenMemToVramFlag( FALSE ) ; と SetNotSoundFlag( TRUE ) ;  という記述を増やすとDXライブラリは Direct3D と DirectSound を使わなくなります、この状態でも  ノイズは聞こえますでしょうか? 例: SetScreenMemToVramFlag( FALSE ) ; SetNotSoundFlag( TRUE ) ; if( DxLib_Init() < 0 ) return -1 ;  また、この処置でノイズが聞こえなくなった場合、SetScreenMemToVramFlag と SetNotSoundFlag のどちらか  片方にしてもノイズが聞こえなくなるかご確認いただけないでしょうか
Re: デバッグを走らせると異音 ( No.13 )
名前:kuz 日時:2012/01/02 18:36

SetNotSoundFlag(TRUE); をいれるとノイズが消えました。 ノイズが聞こえる環境というのが、イヤホン、スピーカー問わずフロントパネル、バックパネルとわずサウンドカードを通すとDXライブラリを使用したプログラムの実行時のみ(自分の作ったプログラムととあるフリーゲームをやったとき確認) 「ガガガガガガ」いったノイズが聞こえてきます。 いろいろオンラインゲームやフリーゲームもやったりしますが、DXライブラリを使用したゲームやプログラムでしかノイズは確認されません。
Re: デバッグを走らせると異音 ( No.14 )
名前:ぽん 日時:2012/01/03 15:25

ASUSサウンドカードのようなので 過去の ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1771 これが参考になりませんか? DS3D GXをOFFにすると直るようです。
Re: デバッグを走らせると異音 ( No.15 )
名前:kuz 日時:2012/01/04 17:20

なんと・・・盲点でした。 GX機能OFFにしたらノイズ消えました!
Re: デバッグを走らせると異音 ( No.16 )
名前:管理人 日時:2012/01/08 21:33

> kuzさん 解決してよかったです ところで過去スレッドでの最後に DxLib_Init の前に SetUseSoftwareMixingSoundFlag( TRUE ) ; を配置したら DS3D GX を OFF にしなくてもノイズが鳴らなくなるかもしれない、とあるのですが、 kuzさんの環境で DS3D GX を ON にした状態で DxLib_Init の前に SetUseSoftwareMixingSoundFlag を使う SetUseSoftwareMixingSoundFlag( TRUE ) ; if( DxLib_Init() < 0 ) return -1 ; ↑のようにして起動した場合、ノイズは鳴らなくなりますでしょうか? > ぽんさん ありがとうございます 以前も同様の件があったことに気付きませんでした
Re: デバッグを走らせると異音 ( No.17 )
名前:ぽん 日時:2012/01/12 21:44

サンプルプログラムがあればうちで検証するんですけどねー 開発環境が無いので、、、
Re: デバッグを走らせると異音 ( No.18 )
名前:管理人 日時:2012/01/14 06:31

> ぽんさん テストプログラムを作ってみましたので、よろしければお試しになってみていただけないでしょうか? m(_ _;m https://dxlib.xsrv.jp/file/SetFontSizeTest.zip 中には SetUseSoftwareMixingSoundFlag_FALSE.exe SetUseSoftwareMixingSoundFlag_TRUE.exe の二つのファイルが入っています プログラム自体は単純なもので #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウインドウモードで起動 ChangeWindowMode( TRUE ); // DXライブラリの初期化 SetUseSoftwareMixingSoundFlag( TRUE ) ; if( DxLib_Init() < 0 ) return -1; // キー入力待ち WaitKey(); // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; } このような感じです 起動しただけでノイズが発生するとのことでしたので、音の再生はしていません SetUseSoftwareMixingSoundFlag_FALSE.exe は上記プログラムの SetUseSoftwareMixingSoundFlag( TRUE ) ; をコメントアウトしたものです ( つまりノイズが必ず鳴る筈です )
Re: デバッグを走らせると異音 ( No.19 )
名前:kuz(解決) 日時:2012/01/14 11:48

SetUseSoftwareMixingSoundFlag( TRUE ) ; これいれたらGXモードONでもノイズなりませんでした! ↑の関数をいれたら音を何も気にしなくてもデバッグできます ありがとうございました><
Re: デバッグを走らせると異音 ( No.20 )
名前:kuz 日時:2012/01/14 12:18

と思ったら、実行してみるとき間違えてGXモードきってましたorz SetUseSoftわれMixingSoundFlag(TRUE); にしてもノイズなりますorz
Re: デバッグを走らせると異音 ( No.21 )
名前:管理人 日時:2012/01/15 02:59

お試し頂きありがとうございます ソフトウエアモードでも駄目でしたか・・・ ご協力ありがとうございました 折を見て XAudio2 等の新しいサウンドAPIに移行して根本的な解決を図りたいと思います m(_ _)m

Page: 1 | 2 |