English
FAQプログラム全般
戻る進む
FAQ/プログラム全般

SOUND



CD-DAのSTEREO/MONOの設定は?

Q)
CDDA音のSTEREO/MONORAL切り替えの方法 当初BOOT-ROMのステレオ/モノラル設定を変更すればよいと思っていたの ですが、ソフトウェア作成ガイドラインによるとBOOT-ROMの設定は アプリケーションからの書き換えを禁止しているようで、どうやってよいのか 判りません。

一応サウンドドライバにステレオ/モノラルの切り替えがありますが、 PCM発声に対する設定のようで今回欲しい情報とは異なります。

A)
CDDAの音についてもサウンドドライバのステレオ/モノラルの切り替えビットで 可能です。

また、マルチプレーヤーの状態(ステレオ/モノラル)の取得方法は、 SMPC I/Fライブラリを使用します。


SND_InitをslInitSoundにしたら動かない。

Q)
SND_Initとしていた所を、slInitSoundにしたら音が出なくなってしまいました。
どちらの関数も、ドライバとマップデータの転送をしてサウンドのCPUを アクティブにしているだけではないのですか?

A)
違います。確かにどちらの関数もドライバの転送とマップの転送を行ない、 68000をアクティブにしているのですが、それぞれの関数の役割としては、 それ以外に、共有領域の初期化という作業を行なっています。

SND_Initでは、SND_*関数で使われる共有変数を、slInitSoundは、SGLのシステム 変数領域のうちサウンドが使う部分をそれぞれ初期化するため、そういった サウンドの関数を使う場合初期化されていないデータを見て操作して しまうので当然音は出ません。

この2つの関数郡は同時に使う事は出来ませんが、もしCinepakなどで、SND_* 関数を使うが、メインプログラムではslSnd*を使うといった場合、 slSnd*関数を使う前にslInitSoundを行なえば使うことが出来ます。
勿論その逆も同様の手順になります。


SBLでサウンドI/Fライブラリを使用せずに音量/Panを設定する方法は?

Q)
SBLでサウンドI/Fライブラリ(SND_SetCdDaLev / SND_SetCdDaPan)を使用せずに 音量/Panを設定する方法

A)
ライブラリレベルでの操作方法は他にはありません。
他の方法としてはサウンドドライバを介して行なう方法があります。
サウンドコントロールコマンドとしてCD-DA Level,CD-DA Panを操作できます。
これに関してはSATURN Sound Driver システムインターフェースマニュアルを ご覧ください。
なお、SND_SetCdDaLev / SND_SetCdDaPanも結局は同様な処理を行なっています。


シーケンスをPANしたいのに音が真中に出ている。

Q)
シーケンスにパンをかけようとしたが真ん中に聞こえる。Lに最大(1F)を設定して おり、コマンド履歴を調べても(0E,01,...)とちゃんとパンのコマンドは 送られている。

A)
まず、シーケンスにエフェクト(DSP)を使用していないかを調べてください。また、 左右に大きくパンをふり過ぎるとかえって真ん中に聞こえる現象も 起きますので、その場合は設定する数値を小さく調整してみてください。


PCMの再生ピッチってどうやって計算するのですか?

Q)
PCMの再生ピッチで指定する数値の計算方法が分かりません。

A)
再生ピッチの計算は次の通りです。
再生周波数がFnとすると、

 ( ( s^-OCT × 1024 × Fn ) / 44.1 - 1024 ) × OCT × 2048

となります。ただしOCTの値は、

 5.5125KHz 〜 11.025KHz  -3
11.025KHz  〜 22.05KHz   -2
22.05KHz   〜 44.1KHz    -1
44.1KHz    〜 88.2KHz     0
88.2KHz    〜             1

です。詳細については、PROGRAMMERS GUIDE VOL.1の サウンド組み込みマニュアル 6.4.5「44.1kHz以外の再生周波数への対応」 をご覧ください。


PCMストリーム再生する時データを68000側に持ってきたい。

Q)
「PCMストリーム再生」するデータはSH2のメインのメモリに全て置かなければ ならないのでしょうか?
68000に次に転送する前にデータをメインに引張っては 来れないのでしょうか?

A)
これは、ストリームライブラリの仕様ですので、68000側に直接ストリームデータ を持って来ることは出来ません。


PCMストリーム再生にエフェクトをかける方法

Q)
PCMのストリーム再生に内蔵DSPのエフェクトをかけたいのですが パラメータが 0 初期化固定になっていて変更できないようなのですが ライブラリの方では、エフェクトのセンドレベルを変えられるような サポートは無いでしょうか?

サウンドドライバの方では、エフェクトパラメータを、音量、定位、 エフェクトのセンドレベルが変えられるようですが、ライブラリの方では 「DSP使わない」とう註釈があり、0固定になっていました。

A)
サウンドドライバに直接コマンドを発行するしか方法はありません。


PCMストリーム再生時にスロットが固定になっている

Q)
発音数をチェックする為、スロットの状況を調べていてわかったのですが PCMストリームがスロット3番、4番を占有しているようです。
サウンドドライバー側はダイナミックボイスアロケーションの筈ですが このままですとBGMの一部の楽器等がスロット3番で鳴っている時に PCMを再生するとその音を消してしまう亊になります。
これを回避する方法はないでしょうか?

A)
PCMストリームを極力4番に持ってくれば、当然3番までに入って来た 曲は消えませんので、それで対応してください。


ダイレクトMIDIで音量が小さくなる

Q)
ダイレクトMIDIでSEを連続で鳴らしていると音量(Verocity)が 急に小さくなってしまう現象が起きている。ノートオフのコマンドは ちゃんと発行しているのですが他に原因はないでしょうか?

A)
ノートオフはちゃんと1対1で対応して、その都度コマンドを発行して いるでしょうか? またその時に指定するパラメータはノートオンのものと 同一でないと(Verocityの設定など)上記現象が起こるかもしれません。
それ以外では特に原因は考えられません。


ディレイバッファの浮動小数点の仕様について。

Q)
ディレイバッファ内のデータの1つのデータ(16bit)の 浮動小数点フォーマットを教えてください。
また

 LDI MEMSXX, MR[ Table + ADREG/NF ]

の様に ノンフローティング指定でデータをロードしたとき MEMSXX レジスタの 24bit の上16bitに入りますか? 下16bitに入りますか?

A)
浮動小数点フォーマットはヤマハ社との機密保持契約により教えることが できません。
レジスタの上16bitに入り、残りには0が入ります。


戻る進む
FAQプログラム全般
Copyright SEGA ENTERPRISES, LTD,. 1997