|
|
SMAFの全体構造
|
Softbankの着信メロディは、SMAFと呼ばれる形式です。SMAFのファイルには、PCのSMFやDoCoMoのMfiと同様に、
大雑把に言うと、ヘッダがあり、ボディが続きます。ただし、SMAFの世界では、1つ1つのまとまった塊を、チャンクと呼んでいます。 |
|
|
|
ヘッダの情報
|
ヘッダに相当する幾つかのチャンクには曲のタイトルや著作権情報などが書かれています。また、システムエクスクルーシブの形式で、音色情報が書かれています。 |
|
|
|
トラックの情報
|
トラックには演奏情報が書かれています。1つのトラックに、16チャネル分の演奏データが書き込まれています。
SMFに習い、トラックに書き込まれる1つ1つのデータをイベントと呼ぶことにしましょう。イベントとは、「音を出せ」「音色を変えろ」などの命令(メッセージと言います)と、その命令を実行するタイミングをペアにしたものです。これらの名称もSMFに習い、命令の部分をメッセージ、タイミングの部分をデルタタイムと呼ばれています。
トラック内のデータの詳細については、こちらをご覧ください。 |
|
|
|
|
|
|
|
メッセージの種類
|
SMAFのメッセージには大きくわけて次の3つの種類があります。
(A) ファイルや曲全体に関する設定を行うためのメッセージ
(B) どれか1つのチャネルの設定を行うためのメッセージ
(C) チャネルで音をだすためのメッセージ |
|
|
|
システムメッセージとチャネルメッセージ |
(A)には、トラックの始まりや終わりを指定したりするメッセージなどがあります。(B)には、音色、音量などの設定を行うメッセージがあります。バイト列として見た場合、
(A)と(B)は同じ構造を持ちますので、(A)と(B)の種類のメッセージをあわせて、システムメッセージと呼ぶことにします。(B)だけを指して、チャネルメッセージと呼ぶこともあります。
これらは、ほぼSMFと同じ構造になっています。 |
|
|
|
ノートメッセージ
|
(C)は、実際に音を出して演奏を行わせるためのメッセージです。ここではノートメッセージとよぶことにします。ノートメッセージもSMFとほぼ同じですが、SMFのように、ノートオン、ノートオフが分かれていません。ノートメッセージの中に、ゲートタイムをもたせる形式になっています。 |
|
|
|
イベントの構造
|
イベントは、デルタタイムとメッセージを組み合わせたものです。
それぞれのメッセージの先頭には、前のメッセージからの経過間を示すデルタタイムが付け加えられます。SMAFでは、SMFのようにチック数が入るわけではなく、何ミリ秒かに換算できる実時間の情報が入っています。したがって、SMAFの中にテンポ変更のための情報はありません。、 |
|
|
|
|
|
|
|
|