English
SGL User's ManualSOUND TUTORIAL
戻る進む
SOUND TUTORIAL/2. 曲を作る

2-4.DSPプログラムの作成

 サターンでは内蔵音源で鳴らす曲に加えて、SE及びCDからのサウンドにも内蔵DSPを使用したエフェクトをかけることが可能です。ここではそのためのDSPプログラムの作成方法を説明します。
ただしこのDSPプログラムがなくても音は出ますので、ノンエフェクトで音を出す場合には、この項目をとばしていただいても結構です。

 1)DSP Linkerの起動
 まずDSP Linkerをダブルクリックして起動します。新たにファイルを作成する場合は、Fileメニューから“New”を選び、名前を付けます。するとアルゴリズムエディットウインドウが開き、自動的にファイル名に“.YLI”の拡張子が付けられます。

 2)DSP入出力モジュールの配置
 Windowメニューから“I/O Modules”を選択すると、「I/O Module」ウインドウが開きます。

図2-20 I/O Module ウィンドウ

 「I/O Module」ウインドウ内の“Input”(DSPへの入力)モジュールと“Output”(DSPからの出力)モジュールをダブルクリックするか、またはクリックで選んで“Select”ボタンで選択することにより、アルゴリズムエディットウインドウ内にそれぞれのモジュールを取り込みます。ここでは例としてリバーブを組むので、“Input”モジュールを1つ、“Output”モジュールを2つ取り込んでみましょう。
取り込んだそれぞれのモジュールが重ならないよう、見やすい位置に移動させてください。

図2-21 DSP入出力モジュールの配置

 3)エフェクトモジュールの配置
 Windowメニューから"Effect Modules"を選択すると、「Effect Module」ウインドウが開きます。

図2-22 Effect Module ウィンドウ

 この中からかけたいエフェクトを選択して、入出力モジュールのときと同じように、アルゴリズムエディットウインドウ内に取り込みます。

図2-23 エフェクトモジュールの配置

 4)モジュール間の結線
 各モジュール間のサウンドデータの流れを決めるために、それぞれのモジュールをつなぐ作業を行います。 モジュールの出力ポートをクリックしてからその次に来るモジュールの入力ポートをクリックすると、それぞれのモジュール間が線で結ばれます。

図2-24 モジュール間の結線

 このように入力モジュールからエフェクトモジュール(複数も可)を通って出力モジュールへとサウンドデータが流れるようにします。

 5)リンク
 モジュールの結線後、Processメニューから“Link”を選択することにより、作成したエフェクトアルゴリズムがリンクされます。リンクが成功すると「リンク結果情報」ダイアログが表示されます。 このダイアログにはDSP関連ハードウェア資源の使用状況に関する情報が表示されます。

図2-25 「リンク結果情報」ダイアログ

 この「リンク結果情報」ダイアログ内の“Free Area Required”で示された値がマップで確保するDSPワークRAMのサイズになります。
サウンドシミュレーターでDSPワークRAMを設定する際、先頭のアドレスは2000h単位で区切られます。それ以下の細かいアドレスで設定しようとしても自動的に区切りのいいアドレスまで後ろにずらされます。

 “Ring buffer too small”メッセージ発生時の処理
 リンクをしようとしても“Ring buffer too small”のメッセージが出てリンクできない場合があります。この場合、Optionメニューの“Ring Buffer”を選んでリングバッファのサイズを大きくしてください。 (リングバッファが大きくなると、マップで確保しなければならないDSPワークRAMのサイズは大きくなります。)

図2-26 リングバッファサイズの選択

 6)ダウンロード
 リンクが済んだらProcessメニューから“Download”を選択してください。これで作成したエフェクトアルゴリズムがターゲット(開発ボード)にダウンロードされ、DSPが動作するようになります。

図2-27 ターゲットへのダウンロード

 7)エフェクトパラメーターのエディット
 アルゴリズムエディットウインドウ内のそれぞれのモジュールの余白部分 (文字が表示されていない部分)をダブルクリックするか、または、セレクトしてからWindowメニューの“Parameters”を選択することにより、パラメーターエディットウインドウが開かれます。

図2-28 リバーブモジュールのエディット

 このパラメーターエディットウインドウの数値を変更することで、エフェクトの細かなパラメーターを変更します。この作業は、実際に曲やSEを鳴しながら、リアルタイムで行うことができます。ただし、スライダーによる操作をシーケンスの再生中に頻繁に行うと、SCSIのトラブルが起きやすくなりますので注意してください。

 リバーブのようなステレオ感を持たせるエフェクトには、出力モジュールを2つ用意します。そして、違った出口をアサインすることでそれぞれを左右に振ってステレオ感をもたせます。
出力モジュールの“ch”はトーンエディタのミキサーウインドウ内のチャンネルに対応しています。
また、入力チャンネルの“ch”はトーンエディタの各レイヤーの“Effect Select”に対応しています。

図2-29 入出力モジュールのエディット

 8)ファイルのセーブ
 この段階では、作成したエフェクトのアルゴリズムはターゲットのメモリの中に存在するだけで、ファイルとして保存されてはいません。エフェクトのアルゴリズムを完成後、 または作業の途中でもセーブする場合は、Fileメニューから“Save”を選んで、セーブしてください。
セーブをすると、“.YLI”、“.EXL”、“.LRI”、“.EXB”の拡張子の付いた4つのファイルができ上がります。

 前にセーブしたファイルをもう一度開きたい時は、“.YLI”の拡張子の付いたファイルを開きます。

 実際にマップに組み込んだり、メインのプログラマに渡すファイルは、“.EXB”の拡張子の付いたファイルです。

 9)モジュレーション系のエフェクト
 コーラスやオートパン等のモジュレーション系のエフェクトは、モジュレーター用入力バッファの番号(DSP入力バッファ番号)を指定しないとリンクできません。
“M”の部分をクリックするとモジュレーター用入力バッファ設定ダイアログが開きます。

図2-30 モジュレーション系のエフェクト

 “Slot”、“Soft”のボタンは、必ず“Slot”側を選択しておいてください。

 DSPツールフォルダーの中の“VoiceForAutoPan”、“VoiceForModulations”等のモジュレーション用Voiceを、使用するトーンバンクに組み込んでください。
これらのVoiceのDSP入力バッファ番号(Effect Select)とモジュレーター用入力バッファ番号を同じにしてください。(これらのVoiceは初期状態で15が選ばれています)

 これらのエフェクトを使用する際は、モジュレーション用Voiceを発音状態にしておく必要があります。シーケンスデータのなかに、このVoiceを発音させるデータを入れておいてください(Direct Levelが0になっているので、このVoiceは音としては発音しません)。
モジュレーションのスピードはこのVoiceの音程で調節してください。


戻る進む
SGL User's ManualSOUND TUTORIAL
Copyright SEGA ENTERPRISES, LTD., 1997