Sound Library - PCM Streamモジュールコントロール関数

sdPstmSetPitch

PCM Streamポートのピッチの設定

書式

SDE_ERR sdPstmSetPitch( handle, target_slot, pitch, fade_time )
SDPSTM handle
const Sint8 target_slot
const Sint16 pitch
const Sint32 fade_time

引数

handle   PCM Streamポートのハンドル
target_slot   スロット番号
pitch   目的の再生ピッチ
fade_time   目的の再生ピッチに達するまでの時間

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_HANDLE_NULL   ハンドルがNULL
SDE_ERR_PRM_OVER_RANGE   引数が正常な値の範囲外
SDE_ERR_HOST_CMD_BUF_NO_ENOUGH   ホストコマンドのバッファが不足

解説

指定したPCM Streamポートの再生ピッチを設定をします。

再生ピッチを指定する引数 pitchは、0100Hで半音上がり、-0100Hで半音下がります。 指定できる上限は、ADPCM 形式の場合サンプリング周波数88200Hz 弱相当までになります。 44100Hz で再生していた場合はpitch は0BFFH までです。 22100Hz の場合はその倍まで設定可能です。

Linear形式の場合はさらにもっと高いpitch を設定できます。 指定できる下限は無いに近いですが、23FFH を目安にしてください。 目的の再生ピッチに達するまで時間を指定する引数 fade_timeの単位はミリ秒で範囲は0000H(最速)〜7FFFH(最遅)です。

目的の再生ピッチに達するまでの時間中、VSync毎にsdSysServer()関数が実行されていなければなりません。


備考

この関数の実行の副作用として再生ピッチを上げると再生スピードが速くなり、再生ピッチを下げると再生スピードが遅くなります。

定期的なタイミングで行うアプリケーションで用意したサーバ関数などで、V同期で変化のない値を毎回設定し続けることは効率的なHost Command Bufferの利用方法でないばかりか、Sound Driverの負荷を増やす原因になります。 なるべく行わないでください。


sdPstmSetPitch
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000