イベントコマンド 【サウンド】

 音楽や効果音を再生します。



【各部の説明】

・実行する処理
 - 通常再生 … BGMやSEの再生を行います。基本的にはこれだけで十分です。
 - メモリに先読みロード … BGMやSEを、データだけメモリにロードしておきます、再生はしません。
 - メモリから非使用中音声を全解放 … 現在再生されていない音声を全てメモリから解放します

 - メモリから手動解放(SEのみ) … 指定したメモリ内のSEのデータを解放します。
                → 正常に動作しないため、Ver2.20から削除されました。


・音声の指定方法
 サウンドの呼び出し方法を指定します。
 なお、直接指定と変数呼び出しの方法ではシステムDBに登録済みのデータしか読み込むことはできません。
 - ファイル名で指定 … ファイルのアドレスを指定して読み込みます。\sや\cdbなどの変数も指定可能です。
 - 直接指定 … システムデータベースに登録したデータから一つ再生するサウンドを選択します。
 - 変数呼び出し … 再生する音楽の番号を変数で指定します。


・BGM指定・BGS指定・SE指定
 この3つの欄はそれぞれ、システムデータベースのタイプ1〜3から内容が読み込まれています。
 この欄を最新の状態にするには「音声の指定方法」を変更してください。
 『ファイル名で指定』の場合はここにファイルパスを指定します。


・フェード時間(BGM・BGS専用)
 BGM・BGS時で、音楽のフェード時間をフレーム数で指定します。徐々に音楽が流れ始めたり、徐々に音楽が消えたりする演出時に使います。
 ただし、ゲームの基本設定で「ハードウェア音源」に設定されている場合には機能しません。


・再生を遅延させる(SE専用)
 SE時のみ有効な欄です、指定フレームだけ再生開始を遅らせます。

途中再生
 指定した時間(MP3・OGG・WAVならミリ秒単位/MIDIならTick数単位)だけ、曲の途中から再生を開始できます。※SE指定では使用できません。




音量[%]/周波数[%]/ループ位置[ms BGM・BGSのみ]
 『ファイル名で指定』の場合のみ指定できます。内容はシステムデータベース 【各タイプの説明】 のタイプ2と同じです。
 ※BGM・BGSで同じファイルを読み込んだ場合は、新たな音量と周波数設定に変わるだけで曲自体はそのまま再生され続けます。

    【隠し機能】 ファイル名の指定で、複数行にかけて
       「ファイル名<改行>音量(%)<改行>周波数(%)<改行>ループ位置(ms・BGM・BGSのみ)」
       と記述した文字列を指定すると、文字列に書かれた数値で音量・周波数・ループ設定が行われます。
    例:「Sound\テスト.wav
       100
       120」 と記述した文字列を指定すると、テスト.wavを音量100%、周波数120%で再生する。



    【隠し機能】 ループ位置を「0」にした場合に限り、
       OGG・MP3ファイルのLOOPSTARTタグ(※ファイルの先頭1KB内にある場合のみ)を自動で読み込み、
       その時間をループ開始位置として自動設定する機能を搭載しました。

       ※LOOPLENGTHも読み込めます。ループ長を指定できます。
       ※MP3の場合でも、作曲者情報など文字を格納できるところならどこでも
        「LOOPSTART=123456」 と言う文字列が含まれていれば動作します。

       ↓サウンドファイルに上記のループ設定を行えるツールも存在します


       【FOLE(FICUSEL Ogg Loop Editor)】
        http://forest.watch.impress.co.jp/docs/review/693911.html



キー変更機能[MIDIのみ]
 MIDI再生時に限り、「ループ位置」の代わりに「キーの上下」が設定できます。
 キーを上げると音が高く、キーを下げると低くなります。微妙な雰囲気のチューンに最適です。


【SEの多重再生】 

 同じSEを連続で再生した場合、次のSEが再生され始めると一つ前のSEは停止されてしまいます。要するに同じ効果音は同時に1つしか鳴らせません。
 もし同じSEを停止させずに次々に再生したい場合は、以下の手順を取ってください。

 ・【例】爆発音「AAA.wav」を連続で再生したい (※理解できる人向け)
  システムDBのSEのデータ4〜6に同じ「AAA.wav」を指定し、SE再生時にはSE4番〜6番を順繰りに再生するようなイベントコマンドを構築することで「AAA.wav」を3音同時に再生できます。
 たとえばコモンイベント「爆発音」を作り、それを実行するたびに、「4+Cself10」番のSEを1回分だけ鳴らした後に「Cself10を+1」し、「Cself10 % 3」(3で割った余りを取る)する、という処理を作れば、呼び出すたびに4→5→6→4→5→6と順番にSEが再生されるはずです。
  そうすればあまり音が途切れることなく、最大で3つ同時にSEを鳴らすことができます。もっと連続で鳴らしたい場合は、たとえば4〜10番まで使って順繰りに鳴らせばOKです。