English
FAQサウンド関連
戻る進む
FAQ/サウンド関連

サウンドドライバ



Ver2.10にしたらリリースが途切れる。

Q)
SoundDriver 2.04 では、問題の無かった データを SoundDriver 2.10 を 使用して演奏すると、音色のリリースが途切れてしまいます。

A)
サウンドドライバーの Ver2.04 と Ver2.10 では作成したデータの 互換性はありません。
Ver 2.04 のサウンド開発環境で作成したデータは Ver 2.04 のドライバーを使用して鳴らしてください。

ダイナミックフィルタが効かない。

Q)
Linker, eLinker でダイナミックフィルターの .EXB ファイルを作って サウンドシミュレーター(CartDev上)、及び P-Box 等の実機で鳴らそうと してもダイナミックフィルターが効いてくれません。
Linker 上から Process メニューの「Link」「Down Load」を行えばフィルタは効いてくれるのですが SndSim のサウンドシミュレーターで「Change Mixer」すると、また鳴って くれなくなってしまいます。
Linker, eLinker は何か特別な処理を行っている のでしょうか? もしくはサウンドメモリの BOOOH 〜 80000H の配置に Coef Table の関係で規定等があるのでしょうか。

A)
係数テーブルの転送サイズ = A00Hのところを実際にはA00H分送られて いないことによるサウンドドライバーのバグで Ver2.10 以降は修正されて います。
ソースコードを修正する場合は、TRGT.ASM の「D-Filter CPU 制御」 を修正してください。

シーケンスのフェード処理が上手くいかない

Q)
サウンドシーケンスをフェードアウトさせるまでは上手くいくのだが、 その後フェードインさせることができない。

A)
サウンドドライバのバージョンが2.04だと 「発音管理番号が0以外では、フェード処理が上手くいかないバグがある」 ので、これが原因だと思われます。
バグ修正版で個別に提供している2.08 というバージョンを使用してください。

BGMのボリュームが小さくなる

Q)
サウンドのボリュームで問題が発生しています。
BGMが鳴っているとき SEをコールすると、BGMの音量がしばらくの間小さくなってしまいます。
頻繁にSEを鳴らす場面でBGMが聞こえなくなってしまい困っています。
SGLを使用しています。
サウンドドライバは、95年10月27日18時 の25488バイトの物を使用しています。

A)
上記ドライバは Ver 2.00 と古く、このバージョンはいくつかの不具合を 抱えています。
これら不具合を解消した最新版の Ver 2.10 がニフティに アップロードされているのでこちらで試したみてください。
Ver 2.10 で 問題があるようなら個別対応で提供している Ver 2.08 を提供します。

シーケンスボリュームの設定がきかない。

Q)
シーケンスボリューム設定にて設定どおりの音量が出力されないことが たびたび発生します。
発音管理番号0番にてBGM演奏中にシーケンス ボリュームを変更し、フェードアウトをさせる。
この条件で、シーケンスボリュームを最大(127)にし、シーケンス スタートさせた場合シーケンスボリュームが再設定されず、ボリューム 設定した瞬間の音量で演奏してしまう。
フェードアウトしきっているときはまったく出力されず、フェード中に 変更をかけるとフェードアウト中の音量で止まってしまう。
サウンドドライバーへのコマンドオーバーも考えられたので、コマンド の発行頻度を抑える対策を取りましたが現象は変わりません。
実際には8個のバッファのワーク(0x25a00700-0x25a007ff)のコマンド が0になっている個数分発行しています。
サウンドドライバー側からの現在の音量がわかれば再設定させる対策が できるのですが、そのようなワークが見当たらないので完全な対策が とれません。
Ver 2.10では音のもたつきが激しいため、現在では使用を 見合わせておりますのでこの現象の確認はしていません。

A)
上記現象はVer 2.04のバグであることが判明しています。
仕様は Ver 2.04そのままでこのバグを修正したVer 2.08を個別で 提供しています。

発音管理番号0番をフェードさせると他の管理番号の音が次第に小さくなる。

Q)
SND_SetSeqVl() で fade rate を指定して発音管理番号0番に対して フェードアウトを行うと、その後の発音管理番号1-7番でのシーケンス 再生の音量が、その都度ボリューム指定をしているにも関わらず、次第に 小さくなってゆく。
もう一度発音管理番号0番で曲を演奏し直すと元に戻る ようだ。

A)
これは sddrv 2.01 の抱えるバグによるものなので 2.04 のバグ修正版の sddrv 2.08 を個別提供しています。
これで試してください。

Ver2.00->Ver2.10で発音しなくなる

Q)
サウンドドライバを Ver 2.00 から Ver 2.10 にバージョンアップした ところシーケンス再生で全く無音状態になってしまった。

A)
考えられる原因としては以下のとおりです。

1) プログラム側で考えられる原因 〜

  • "SND_Init()"や"slInitSound()"のサウンド初期化時に転送しているドライバのサイズ指定を変更していない。

2) データ作成側で考えられる原因 〜

  • Ver 2.10 では以前までのサウンドドライバで不完全であった PCMとFMの判別を、バンクチェンジ(コントロール32)のタイミングで ボイスデータの解析を行い、フラグとなるビットをPCMなら0、FMなら1に します。この処理は本来ならばデータ作成時にあらかじめ立てておくべき ものですが、現在のトーンエディタはこの処理を含んでいませんので、 次回のトーンエディタのバージョンアップまで待ってください。
    そこで、 注意事項としてデータ作成時に次の事項を厳守してください。

    1. レイヤがひとつもないボイスは絶対に作成してはなりません。
    2. 波形データを割り当てていないレイヤを作成してはなりません。
    3. FMをエディットするときは必ずバンクチェンジを送信してください。
    4. 同一レイヤ内にFMとPCMを混在させることはできません。

  • Ver 2.10 以前のサウンドドライバは、存在しないバンクを選択すると bank=0 に設定される仕様でしたが、ゲームに組み込んだときにトラブルが 頻発したため、本バージョンからこのようなケースに対してバンク番号を 設定しません(たとえば、バンク1の効果音を作成中、サウンドシミュレータ にバンク0を送信せずマップを組んだとします。
    このときプログラム的には エラーであることが分かっているのですが、bank=0としてしまうため、 一見して正しい発音ができてしまいます。
    このような方法によって 作成されたデータをゲームに組み込むと、思いもよらぬトラブルを 引き起こしてしまいます)。


サウンドドライバ改造

Q)
サウンドドライバのソースを改造して再アセンブルし、リンクしようとした ところ"dsp3d.asm"が見当たりません。
提供していただけないでしょうか?

A)
この YAMAHA 3DサウンドのソースコードおよびDSPにおけるプログラム 係数データ、ワークエリアの内容等はセガ社とヤマハ社との間に機密保持契約 が交わされており、残念ながら公開することができません。
また再アセンブル やリンクを行った場合、サポート対象外となります。
もし3Dサウンドを使用しない場合は以下の「YAMAHA3Dサウンド部分を削除 して再アセンブルを行う」作業をしてください。

手順1
サウンドドライバver2.10のソースコードで以下の部分を変更

"host.asm" line 930 extern xseq_YMH3Dw,dsp3d_init の1行を削除
"host.asm" line 935 bsr xseq_YMH3Dw の1行を削除
"host.asm" line 939 bsr dsp3d_init の1行を削除
"sdmain.asm" line 146 extern dsp3d_init,dsp3d_op から line 217 まで削除
"sddrv.asm" line 33 extern dsp3d_op の1行を削除
"sddrv.asm" line 51 bsr dsp3d_op の1行を削除
"midi.asm" line 1384 extern xseq_YMH3Dw の1行を削除
"midi.asm" line 1391 bsr xseq_YMH3Dw の1行を削除
"midi.asm" line 1399 bsr xseq_YMH3Dw の1行を削除
"midi.asm" line 1407 bsr xseq_YMH3Dw の1行を削除

手順2
"dsp3d.obj"をリンクから外して再びリンク作業を行います。

3Dサウンドを使用する場合は、メガドライブ時代に使用していた「2500AD」 という68000用アセンブラを手に入れる必要があります。これがないと (〜.obj )をリンクすることができないためです。入手方法は2500AD社 (URLhttp://www.2500ad.com/)に問い合わせてください。


戻る進む
FAQサウンド関連
Copyright SEGA ENTERPRISES, LTD,. 1997