以下はSMAFファイルの概念図です。
SMAF仕様としては、各々のトラック数やトラック列の並べる順番についての規定は行いません。これらはSMAFの運用ルールとして別途規定されます。
シーケンスデータシーケンスデータはイベントとデュレーションの組み合わせで表現されます。
イベントとはシーケンスデータに定義してある出力デバイスに対する制御内容のデータ表現です。デュレーションはイベントとイベントとの間の経過時間を表現しています。イベントの処理時間は実際には"0"ではありませんが、SMAFのデータ表現としては"0"とみなし、時間の流れは全てデュレーションで表すことにします。あるイベントを実行する時刻は、そのシーケンスデータの先頭からのデュレーションを積算することで一意に決定することができます。イベントの処理時間は次のイベントの処理開始時刻に影響しない、という原則です。従って、値が"0"のデュレーションを挟んで連続したイベントは同時に実行すると解釈します。
イベントの処理時間は常に"0"とみなしますが、イベント自体が内部にサブシーケンスを含んでいる場合があります。例えば、NoteイベントのGateTimeの処理がそれに当たります。Noteイベントが表現する内容は、イベントの実行時刻でNoteON処理を瞬時に行い、GateTime経過後 NoteOFF処理を行う、というものです。この場合の GateTimeは Noteイベントの内部的な時間経過を表しており、次のイベントの実行時刻には影響していません。より複雑なサブシーケンスを内部に抱えているイベントもありますが、この原則は同じとなります。
SMAFはコンテンツ再生に主眼を置いた設計をしているため再生速度変更の概念はありますが、テンポ変更の概念はありません。実時間表現なので、テンポなどによる時間分解能は固定となります。
また、シーケンスデータ毎に時間表現の単位となる長さを定義することでデータ表現の精度とデータ量のバランスがとれるように考慮されています。
| 前ページ | 次ページ |
| SMAF仕様概要 |


