音楽を鳴らしてみよう


ねえ、ねえ。
文字は表示できるようになったし、画像も少しは表示できるようになったけど、なんか寂しいよね。
なにが?
なんか、こう・・・
なんとなく寂しいような。
それはきっとあれだね。
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の指定の仕方が特殊だから、そこだけ気をつけて。
その調子だと、後はリファレンス見ろって言いそうだね。
あ、バレた?


前のページ | MENU | 次のページ



inserted by FC2 system