English
SGL User's Manualデータの受け渡し
戻る進む
データの受け渡し

2.サウンドデータ


 本章では、サウンドデザイナーが作成したサウンドデータを、SGLを使用したソフトウエアに組み込むために、プログラマに渡す際に知らなければならない最低限のデータフォーマット、作業について説明します。

2-1. データの種類

 マッキントッシュで作成されたサウンドデータは全て、バイナリファイルであり、以下のファイルに分かれます。

BGM、シーケンス用データ

1)トーンバンクデータ
 曲、効果音に使用する音色データです。
セガ・サウンド・ツールのToneエディタにより作成します。

図2-1 トーンバンクデータファイル例


 マップに使用する数だけファイルが必要です。
マップ内での順番をプログラマに伝えてください。

2)シーケンスデータ
 曲、効果音のデータです。
セガ・サウンド・ツールのサウンドシミュレータにより作成します。

図2-2 シーケンスデータファイル例


 マップに使用する数だけファイルが必要です。
マップ内での順番をプログラマに伝えてください。

3)DSPプログラム
 エフェクトモジュール用プログラムです。
セガ・サウンド・ツールのDSP Linkerにより作成します。

図2-3 DSPプログラムファイル例


 エフェクトを使用しない場合には不要です。
マップ内での順番をプログラマに伝えてください。

4)マップバイナリファイル
 サウンドCPUである68000のメモリに上記1)3)のファイルのロードアドレスと、DSPプログラムに使用するワークエリアの領域を指示します。
このファイルは、68000用メモリのA000hにロードします。

 マップは最大4096byte で、最大128までのエリアマップを持つことができ、1つのエリアマップには最大32byte までのMap情報を持つことができます。

図2-4 マップバイナリファイルの構造


 それぞれのマップ(Map1〜4)のビットイメージは下図の通りです。

図2-5 MAPのビットイメージ


図2-6 マップバイナリファイル例


5)サウンドドライバー
 バージョンを統一させるために、マッキントッシュのサウンドツールに付属のものをプログラマに渡した方が確実です。

図2-7 サウンドドライバー


6)ダンプデータファイル
 上記1)3)のファイルを68000のメモリにロードした状態で、B000hからマップデータの最後のデータまでのメモリをダンプしたものです。
(但し、最後のデータがDSPワークRAMだった場合には、一つ前のデータまでをダンプします。) 必要なバンクだけを部分的にロードして使う必要が無く、一度にマップのデータ全てをロードする場合には、このダンプデータファイルを使えば上記1)〜3)のファイルを一つずつロードさせずに済みます。 これにより、データのロード順を間違えることもなくなり、また、プログラマ側の手間も省けます。 ダンプデータファイルは、セガ・サウンド・ツールのサウンドシミュレータにより作成します。

図2-8 ダンプデータファイル例


 下図に、プログラマに渡す必要のあるBGM、シーケンス用ファイルを示します。
プログラマには次のいずれかのファイルを渡してください。

  1. サウンドドライバー、マップバイナリ、ダンプデータ(トーンバンクデータ、シーケンスデータ、DSPプログラムを含んでいる)
  2. サウンドドライバ、マップバイナリ、トーンバンクデータ、シーケンスデータ、DSPプログラム

図2-9 プログラマに渡すBGM、シーケンス用ファイル


 ●サウンドコントロールナンバーの連絡

 プログラマは、SGLで曲を演奏させたり、効果音を鳴らすのに「サウンドコントロールナンバー」を使います。
サウンドシミュレータ上でのシーケンスデータ番号と、ソング番号を合わせたものが、「サウンドコントロールナンバー」となりますので、サウンドデザイナーは、ファイルを渡す際にどの番号を使うと、どんな音が出るのかをプログラマに伝えてください。

図2-10プログラマに渡すサウンドコントロールナンバー


PCMストリーム再生用データ

 SGLで使用するためのPCMデータです。

図2-11 PCMデータファイル例

 セガ・サウンド・ツールのサウンドシミュレータにより作成します。

 サウンドデザイナーは、ファイルを渡す際に以下のような情報をプログラマに伝えてください。

表2-1 プログラマに渡すPCMデータファイルの情報

ファイル名ステレオビットピッチコメント
stereo.8「10年早いんだよ」ステレオ87800左右ずれてあります
mono.16「はいな」モノラル167180 
stereo.16「アウー」ステレオ167F00右から左に声がながれます

2-2. データの組み込み

 前項で説明したサウンドデータのファイルをSGLを使ったソフトウェアに組み込むには、それぞれのバイナリデータのファイルを、C言語で読み込めるように、配列のデータに変換してやる必要があります。

 以下に、UNIXでこの作業を行うスクリプトの例を示します。
ここでは、GNUのsedを使用しています。

スクリプトファイル名 [バイナリファイル名] [配列名] > [出力ファイル名]

#!/bin/csh -f echo "char$2[]={" od -hv$1|cut -s -d ""-f2-|gsed's/¥(..¥)¥(..¥)*/0x¥1,0x¥2,/g' echo"};"

 C言語でもANSIの関数で容易にできますので、開発環境がPCのかたは、C言語で作ってください。

これでソフトウェアに組み込めるサウンドデータができました。あとは、他のデータと同様に扱うだけです。


戻る進む
SGL User's Manualデータの受け渡し
Copyright SEGA ENTERPRISES, LTD., 1997