BACK

★☆ キャラ制作奮闘記 ☆★


(2001.11.06)
SNDファイルを作ってみよう

音。
やはりこれがないと、キャラとしてはちょっと淋しいよね。
ちゅうことで、SNDファイルをこさえてやる訳だが・・・
SndMaker を使用してSNDを作る場合、ちょっとした準備が必要です。

そもそも SndMaker は、DOSプロンプト上で動作するアプリケーションなので、GUIを持っていない。
単純に SndMaker を起動すると、SNDファイル名の入力を促され、その後はWAVファイル名、グループ番号、アイテム番号の入力を繰り返すことになる。
登録する音が30種類あれば、30回これを繰り返さなければならない。
1回限りの作業ならそれも「あり」でしょうが、途中で音を追加したくなったりした場合、SNDファイルそのものを一から作り直す必要が発生するので、毎回そんなことはやってられない。
Mugeneratorでも使えば、音の「追加」もできるようだけど、いろいろ黒い噂(笑)も聞くので、やはり SndMaker を使うことを推奨したい。

ではどうするか。

それには、DOSプロンプトのリダイレクト機能を使う。

ちょっと話が横道にそれるけど、解説しておこう。
リダイレクト機能が何のことかわかっている人は、読み飛ばしてちょうだい。^-^;

そもそもDOSプロンプトというのは、「Windows」以前のOSである「MS-DOS」との互換性のために存在している・・・というか、「名残」と言う方が正しいかもしれませんね。(笑)
昔々のその昔、パソコンの電源を入れると、現在の様なGUIを持たない、DOSプロンプトの様な味気ない画面が起ち上がってきていた訳です。
で、そのDOS上では、ユーザーはコマンドを入力して、パソコンに仕事をさせていた訳です。
例えばこんな感じ。

C:\> DIR

・・・「DIR」ってのは、ディレクトリの情報を表示しなさいっていう命令コマンドですね。
まぁ、そんなことはどうでもよろしい。^-^;
ここで知っておきたいのは、DOSの場合、コマンドの実行にあたり「標準の入力装置」と「標準の出力装置」が暗黙のうちに指定されている、ということ。

上記の例では、ただ単に「DIR」とたたいただけなんだけど、これは入力装置と出力装置の指定を省略していることになる。
省略してあるので、入力装置としては標準の「画面からの入力」が採られ、出力装置としては標準の「画面への出力」が採られているわけ。
この「標準の」入出力装置を切り替える機能を、「リダイレクト機能」と呼ぶ訳です。

上記の例の場合だと、例えばDIR命令の実行結果の出力先をプリンタに切り替えるとすると、次の様になる。

C:\> DIR > PRN

これは、「DIR 命令を実行して結果をプリンターへ出力しなさい」、という意味になる。
それとか、

C:\> DIR > C:\DIR.TXT

こうすると、DIR の実行結果が、DIR.TXT へ出力される。

さて、これを踏まえた上で、話を SndMaker に戻そう。
SNDを作り直す度に、毎回毎回、同じパラメータを入力してなんかいられませんよね?
なので、入力するパラメータをテキストファイルとして作成しておいて、これをコマンド入力元とするのだ。
例えば、SND.TXT というファイルに、入力パラメータを入力していたとすると、

C:\> SNDMAKER < SND.TXT

としてやれば、何度でもSNDの作り直しが楽にできてしまう。
長々とキーボードをたたかなければならないパラメータを、テキストファイルにしてしまう訳ね。
ちなみに上記の SND.TXT の内容(例)としては、次の様になる。

Athena94.snd
1AD2.wav
11
0
1AEB.wav
40
7
1AF7.wav
40
8
1AF6.wav
40
9
1CC9.wav
110
0
:
:
:

1行目がSNDファイル名で、以下、WAVファイル名、グループ番号、アイテム番号・・・と続いている。
つまりは、キーボードをたたいて画面から入力する内容そのもの、である。
これを用意しておけば、たった1行コマンドを入力するだけで、SNDファイルの作り直しができる訳だ。
もちろん、音を追加する場合は、このテキストを更新するのを忘れないように。(笑)

あと余談ですが。
音の登録順序は、グループ番号の若い順に登録するのが望ましい(必須だったかも)とされています。
SND用のテキストファイルを記述する際には、このことに留意してくださいね。

以上、ここまでが今回のお題です。
以下は、余録・・・というか、宣伝というか。(笑)

さて、SNDを作ったなら、今度はそれをCNSにて使用する訳ですよね?
どの音を何番で登録したか、いちいち覚えてもいられませんから、みなさんいろいろ工夫されていると思います。
私のやり方としては、

何番に何というWAVファイルを使用する、その内容は○○だ

という一覧表を作るようにしている。

例えば、こんな感じね。

----------------------------------------------------------------------------------------
1000,0 :  1acf.wav      : 「サイコボール」
1300,0 :  1ad0.wav      : 「え〜いっ」サイコリフレクター
1200,0 :  1ad1.wav      : 「フェニックスアロー」
  11,0 :  1ad2.wav      : (死)
 195,0 :  1ad3.wav      : (あくび)
3000,0 :  1ad4.wav      : 「はぁ〜〜〜っ」(気合い溜め、シャイニングクリスタルビット)
 190,0 :  1ad5.wav      : 「アテナ、いっきまぁ〜す」
----------------------------------------------------------------------------------------

こうしておくことで、音の管理ができるようにしている。
CNSにて音を使用する場合に、この一覧を検索する訳ですわ。

で、最近になって気づいたのが、ひょいひょいっと音を追加していると、この一覧とSND作成用のテキストの内容とが、必ずしも一致しなくなってくるんですな。^-^;
2つのものを同時にメンテすることになる訳で、これが結構めんどくさいし、なかなかに抜けてしまう。
そうすると、正しくCNSで音を指定している筈なのに、「音がならない」「意図したものとは違う音が鳴る」なんてことが起きちゃう。

そこで(ものぐさな)私は考えた。(笑)
管理用の一覧から、SND作成用のテキストが自動生成されれば便利じゃん!

ということで。
その為のツールをこさえてみました。(笑)

Microsoft の Access を使って、音の管理表を作ってみた。
SNDに登録するグループ番号とアイテム番号をキーにして、用意した音のWAVファイル名をどんどん登録していくわけ。
その音が何の音なのか、日本語でメモを入力できるようにもしてありまする。
ちょうど、上の例の一覧表のイメージですな。^-^;
で、どんな順番で入力しても、DBなので、ちゃんとグループ番号順に並べ替えてくれる。
音を追加する場合も、順番なんて気にせずに、一覧に追加するだけでOK。
さらには、ここからSND用のテキストファイルも出力できちゃう。(笑)
っていうか、それだけのものなんですが。^-^;
管理表とSND用テキストの2重管理をしなくてすむので、私的には結構便利で、重宝している。

もしも私と同様のやり方(音の管理ね)をしていて、やっぱり2重管理がめんどくさくて困っている人がいらっしゃるなら、私までご連絡ください。
拙作のツールをお分けいたします。
Access2000用とAccess97用の2種類が提供できます。

・・・落とし物ページに置いてもいいんだけど、Access を持っていて、かつ使ったことがある人でないと 使いづらいと思うし、用途が結構限定されるので、それほど需要はないだろうな、と。^-^;

万一、メールが殺到するようなことがあれば考えますが、まずないでしょうし。^-^;
何より、不特定多数の方にばらまいてしまうと、サポート仕切れなくなるし。^-^;
ちょっと、初期設定にクセがあるかも知れないんですよ、このツール。^-^;
(少なくとも、「Accessって何?」という御仁には、おすすめ出来ませぬ。(爆))

と、随分と長文になりましたが、今回はこれにて。(笑)


BACK