ねえ、ねえ。 文字は表示できるようになったし、画像も少しは表示できるようになったけど、なんか寂しいよね。 |
|
なにが? | |
なんか、こう・・・ なんとなく寂しいような。 |
|
それはきっとあれだね。 BGMがないからだよ、きっと。 |
|
あ、なるほど。 言われてみればそうかも。 |
|
じゃあ、今日はBGMを鳴らしてみよう。 | |
やった! | |
吉里吉里/KAGで扱える音関連のフォーマットは、WAVE系(.wavや.oggなど)、MIDI、CD-DAがあるのね。 | |
MP3は? | |
昔はMP3を扱うためのプラグインがあったんだけど、MP3は特許関連でごちゃごちゃうるさいから今は対応フォーマット一覧からはずされちゃったみたいね。 その代わりと言っちゃなんだけど、特許料フリーフォーマットのogg vorbisが使えるから、特に不便はないと思うよ。 |
|
その ogg vorbis って、簡単に使えるの? | |
じゃあ、そこから始めようか。 ogg vorbis のエンコーダは公式サイトからダウンロードできるよ。 |
|
エンコーダって? | |
無圧縮WAVEからogg vorbis形式のファイルに符号化することだよ。MP3の時もlameとかgogo.dllとか、あったでしょ。 | |
さあ・・・ | |
・・・ま、とりあえず、エンコーダがないとogg vorbisファイルを作れないから、何か用意しないとね。 | |
でも、公式のエンコーダっていうやつ、英語で書いてるし、GUIもないから難しそうだよ・・・ | |
GUIはoggdropっていうフロントエンドがあるから、使い方は難しくないと思うよ。 まず、oggencをインストールして、同じ場所にoggdropも置いておけば大丈夫。後は、oggdropを立ち上げて出てくるウィンドウに変換したいWAVEファイルをドロップするだけでogg vorbis形式に変換してくれるから。 | |
あ、これなら私にもできそう。 | |
これ以外にも、最近はogg vorbisで出力できるソフトがいろいろ増えてるから、探してみるといいのが見つかるかもしれないよ。 | |
とりあえず、こんなの見つけたよ。 AudioEncoder GoldWave Sound |
|
さてと、これでファイルの準備はできたわけだけど・・・ | |
ファイルはBGMフォルダの中に入れておけばいいんだよね? | |
うん、そうだね。 | |
このファイルを、BGMフォルダに保存したよ。 test.ogg |
|
じゃあ、いつも通り、まずはサンプルから。 | |
*start [loadplugin module="wuvorbis.dll"] [playbgm storage="test.ogg"] |
|
これだけ? | |
そう、これだけ。簡単でしょ。 loadpluginタグは文字通り、プラグインを読み込むためのタグなんだけど、ogg vorbisはこのプラグインを読み込まないと再生できないから要注意だよ。 2つめのタグの意味は分かるよね。storage属性は今まで何度も出てきてるし。 |
|
簡単すぎてなんだか・・・ あれ? サンプルを実行しても音鳴らないよ? |
|
あ、そうそう、ひとつ忘れてた。 Config.tjs の中に、BGMの設定をしている部分があって、ちょっと修正が必要なんだよ。 |
|
// ◆ BGM再生メディア // type 変数に設定する文字列で、使用するサウンドバッファを決めることができ // ます。 // "Wave" : WaveSoundBuffer ( wav等(プラグインで再生できる物も含む) ) // "MIDI" : MIDISoundBuffer ( mid,smf ) // "CDDA" : CDDASoundBuffer ( cda ) ;type = "MIDI"; |
|
この部分なんだけど、コメントにあるように、typeをWaveにしないといけないの。こんな感じで。 ;type = "Wave"; |
|
あ! 今度はちゃんと鳴ったよ! |
|
じゃあ、ちょっと凝ったことしてみる? | |
*start [playbgm storage="test.ogg"] [wait time=5000] [pausebgm] [wait time=2000] [resumebgm] [wait time=10000] [fadeoutbgm time=5000] [wb] [fadeinbgm storage="test.ogg" time=3000] [wb] [wait time=5000] [stopbgm] |
|
新しいタグがいっぱいあるけど、難しくないでしょ。 pausebgmとresumebgmは一時停止と再開ね。 fadeoutbgmとfadeinbgmはフェードアウトと、フェードイン、[wb]はフェードアウトやフェードインが終わるまで待つためのタグ。 |
|
トランジションのときの[wt]みたいなもの? | |
うん、そうだね。 で、最後のstopbgmはBGMのストップ。 |
|
pausebgmとの違いは? | |
pausebgmはresumebgmで再開できるけど、stopbgmはできないの。 | |
なるほど・・・ | |
同じようにして、効果音(SE)も鳴らすことができるよ。 タグについてはリファレンスを見てもらうとして・・・基本的にはbgmの部分がseに変わるだけだから、分かりやすいよね。 | |
playseみたいな感じ? | |
そう。 ひとつだけ注意しておかないといけないのは、効果音にはバッファがいくつもあるってこと。 |
|
ばっふぁ? | |
効果音を鳴らすための口みたいなものかな。 Config.tjs の中に、こんなのがあるんだよ。 |
|
// ◆ 利用可能な効果音バッファの数 // 利用可能な効果音バッファの最大値を指定します。つまり、ここで指定した数の // 分だけ効果音を同時に再生できます。効果音を使用しない場合は 0 を指定して // かまいません。 ;numSEBuffers = 3; |
|
効果音の口が3つあるの? | |
うん。だから、同時に3つの効果音を鳴らすことができるわけ。 こんな感じでね。 |
|
*start [playse storage="A" buf=0] [playse storage="B" buf=1] [playse storage="C" buf=2] |
|
buf属性を書き忘れたらどうなるの? | |
buf=0 と同じになるよ。 ちなみに、さっきのサンプルを同時じゃなくて、連続して鳴らすときは、こんな感じね。 |
|
*start [playse storage="A" buf=0] [ws] [playse storage="B" buf=0] [ws] [playse storage="C" buf=0] [ws] |
|
そっか。同時に鳴らすわけじゃないから、bufは全部0でいいんだ。 | |
そう。この場合はbuf=0を省略しても大丈夫だしね。 | |
[ws]は? | |
効果音の再生終了待ちタグだよ。 | |
さっきの[wb]みたいなものか。 | |
そだね。 それと、あともうひとつだけ。 |
|
*start [playbgm storage="test.ogg"] [wait time=5000] [bgmopt volume=50] |
|
これは、私も分かるよ。BGMの音量の設定だね。 | |
そういうこと。 volume属性の値は%だから、この場合は50%の音量に設定したってことだね。 |
|
効果音の場合は seopt ってタグ? | |
うん、そう。わかってきたじゃない。 ちなみに、seoptもbuf属性があるから、バッファごとに音量を調節することもできるよ。 |
|
MIDIとか、CD-DAをBGMにしたい時はどうすればいいの? | |
まず、Config.tjs の設定を書き換えて、後は基本的には同じ。 ただ、CD-DAの場合はstorageの指定の仕方が特殊だから、そこだけ気をつけて。 | |
その調子だと、後はリファレンス見ろって言いそうだね。 | |
あ、バレた? |