Ticket #23577

【不具合】oggの音とび

오픈 날짜: 2010-11-02 15:35 마지막 업데이트: 2013-02-18 19:42

Reporter:
소유자:
Type:
Status:
Closed
Component:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
1
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

チケット #23575に近い不具合と思われますが、

ogg音声を使用している時、たまに音飛びしてしまいます。

旧verの067bでは確認されてませんが、最新Verに近づくにあたりこのような症例が多発してしまいます。

Ticket History (3/18 Histories)

2010-11-02 15:35 Updated by: ickw_284
  • New Ticket "【不具合】oggの音とび" created
2010-11-02 18:28 Updated by: from
댓글 올리기

もう少し発生条件が絞り込めるようであれば、詳しく教えて下さい。

例えば「演奏中、小節線が判定バーに重なった瞬間に飛ぶ」ような条件である場合、それは仕様です。

別の面から原因を探す必要があります。

2010-11-02 21:01 Updated by: from
2010-11-02 21:51 Updated by: ickw_284
댓글 올리기

>演奏中、小節線が判定バーに重なった瞬間に飛ぶ

その点は仕様と思って諦めています。

AUTOで流してると、時たま(5~10回に1回)BGMがずれる不具合を確認しました。

1,2分のBGMデータで少しすると元に戻りますが、環境依存によって起こりえる可能性もあるので

自スペックを書いておきます(DirectSoundの部分のみ、最新版ではDeviceCheckが無いので067bから引用)↓

DirectSound DriverType: Native
DirectSound  8bit PrimaryBuffer: Supported
DirectSound 16bit PrimaryBuffer: Supported
DirectSound   1ch PrimaryBuffer: Supported
DirectSound   2ch PrimaryBuffer: Supported
DirectSound  8bit SecondaryBuffer: Supported
DirectSound 16bit SecondaryBuffer: Supported
DirectSound   1ch SecondaryBuffer: Supported
DirectSound   2ch SecondaryBuffer: Supported
DirectSound Hardware MixingBuffers: 32 available / 33 total
DirectSound SampleRate: 8000 to 192000 Hz, Continuous
DirectSound PlayCPUOverheadSwitchBuffers: 0

2010-11-02 22:08 Updated by: from
  • 소유자 Update from (None) to from
댓글 올리기

スペック的には問題ないですね。
見事なまでの SoundBlaster 準拠。

まだまだ切り分けのための細かい質問があるのですが、ここは実際に現物で再現性を確認するのが一番手っ取り早いと思います。

よろしければ、現象が発現するDTXデータ一式を zip 等で本チケットに添付いただけないでしょうか?
公開することに抵抗のあるデータであるなら、担当者(私)だけにメールで送って頂いても結構です。

2010-11-02 22:33 Updated by: ickw_284
댓글 올리기

>現象が発現するDTXデータ

ttp://www1.axfc.net/uploader/He/so/299902

必ずしも同一データで起こる訳ではありませんが、一応このデータで確認されました。

毎回起こらず別のデータで起こる場合、何か違う原因か考えられそうです。

2010-11-02 22:43 Updated by: from
댓글 올리기

あのー……

キーワード……

2010-11-02 22:49 Updated by: ickw_284
댓글 올리기

>キーワード

dtx086

すまぬ…

2010-11-03 10:49 Updated by: from
  • Resolution Update from None to Works For Me
댓글 올리기

確認用zip、取得しました。

で、早速動作確認をしてみたのですが、特に異常は見られませんでした。譜面以外には。(笑


こちらでの動作確認内容は以下の通りです。

  • Win7(x64)+DTXMania085(101102) で5回再生
    • 全画面-ウィンドウモードを切り替えてみる
    • VSyncWait の ON/OFF を切り替えてみる
  • WinXPsp3(x86)+DTXMania085(101102) で5回再生


おそらく環境依存(というよりその瞬間のWindowsの状況依存)の可能性が強いので、もう少し様子を見て、もう少し発現条件を収集して頂けないでしょうか?(常駐ソフトウェアを可能な限り終了してから実行してみるとか)


とりあえず、チケットはクローズせず、解決法を「動いてるけど?」に変えさせてもらいますね。

2010-11-03 23:27 Updated by: yyagi
댓글 올리기

残念ながら、こちらでもまだ再現できていません。件の曲データを使って以下を連続して実行して、再現できず。

  • ウインドウモード(VSyncWait=OFF)で20回再生
  • フルスクリーンモード(VSyncWait=OFF)で5回再生
  • フルスクリーンモード(VSyncWait=ON)で5回再生

環境は、DTXMania085(101102), Win7(x64), AthlonII x4 605e(2.3GHz), 4GB RAM, RADEON HD 4200相当内蔵グラフ, YAMAHA UW10(USBサウンド) です。

PC環境自体を合わせることは難しいと思いますが、せめて演奏設定は合わせたいので、Config.iniをここにファイル添付してもらえませんか?(DTXPath=のところだけは抜いてください。フォルダ構成モロバレなので。)

2010-11-18 21:41 Updated by: ickw_284
댓글 올리기

iniファイル追加しました~

個人的な憶測としてはAdjustWavesが絡んでると思います

2010-11-18 23:38 Updated by: yyagi
댓글 올리기

風邪悪化につき、今日はこれだけ。

いただいたConfig.iniで、件の曲を10回AUTO再生して、音飛び無しでした。

実は全AUTOにすると問題発生しなかったりするとかだったらキツいですw

2010-11-18 23:57 Updated by: ickw_284
댓글 올리기

AdjustWavesがONの時、ずれの補正を行う際に発生してるんじゃないかと予測するならば、

一旦OFFにして出ないかどうかやってみます、まあ音とびは無くなっても音ズレは出そうですが;

尚、どのように音飛びが発生するかは↓の3:32あたりを聴けばわかります。

http://www.stickam.jp/video/180503831

2011-05-22 13:22 Updated by: yyagi
댓글 올리기

音飛びの件、1回だけですが、ウチでもようやく再現できました。 (FROMさんの零のDTXをD3D9ExフルスクリーンVSyncWait=Onで再生時。AVIの表示widthは256に制限したもの。)

サウンドバッファの切り替えに失敗しているイメージです。

具体的には、通常バッファを2つ持っていて A→B→A→B→・・・と切り替えつつ再生を続けますが、この切り替えに失敗してA→B→B→A→B→・・・となるようなイメージでした。ただ、AdjustWave=ONだったのでその後小節線で無理矢理アジャストされましたが。

2012-05-05 12:49 Updated by: yyagi
  • Resolution Update from Works For Me to Remind
댓글 올리기

FROMさん

ウチでも、DSP1のスキンを使うと、タイトル→CONFIG画面でスキンBGMが100%音飛びするようです(汗;;;; (XP, PentiumM-2GHz(1core), 2GHz, 2GB RAM, 内蔵グラフ, 内蔵サウンド)

そこで念のため確認させていただきたいのですが、 ストリーム再生での波形補充(とでも表現すればいいですかね)を行う

Sound管理.t再生中の処理をする();
を、別スレッドから定期的に呼び出すのでなく、 メインスレッドのDraw()から呼び出しているのは、 #28021 の 4/7 の時のお話にあった「SoundDecoder.dllやACMがスレッドセーフでない」 から、ですよね?

試しに別スレッドから定期的に補充処理を呼ぶようにしたところ音飛びは無くなりました(動いちゃいました)が、DirectSoundのDevice的にNGですし、選曲画面でのスキンBGM+プレビューBGMなど、ストリーム再生が2本同時に走るとACMで破綻するでしょうから、このやり方は採用不可と理解してます。

2012-05-06 11:13 Updated by: from
댓글 올리기

そこで念のため確認させていただきたいのですが、ストリーム再生での波形補充(とでも表現すればいいですかね)を行う Sound管理.t再生中の処理をする(); を、別スレッドから定期的に呼び出すのでなく、メインスレッドのDraw()から呼び出しているのは、 #28021 の 4/7 の時のお話にあった「SoundDecoder.dllやACMがスレッドセーフでない」から、ですよね?


ええ、その通りです。

SoundDebocder.dll 自身はただのラッパーですから大丈夫ですが、その他のライブラリがダメっぽいです。

xadec.dll なんかもどう動くかよく分かってないです。

2013-02-18 19:42 Updated by: yyagi
  • Ticket Close date is changed to 2013-02-18 19:42
  • Status Update from Open to Closed
  • Resolution Update from Remind to Fixed
댓글 올리기

096で改善しました。

  • WASAPI/ASIOについては、DTXManiaのメインループと無関係に別スレッドで再生処理が流れるようになった ( DTXMania側の負荷に依らず再生処理が途切れないようになった)
  • DirectSoundについても、ストリーム再生の処理にSoundDecoder.dllを使わなくして改善した (同DLLをogg/mp3のデコードにのみ用いるようにした)

このチケットは一旦クローズします。もしまだ再現するようでしたら、再オープンをお願いします。

Attachment File List

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login