Here's a regular expression summary of the FORM SMUS syntax. This could be an IFF file or part of one. SMUS ::= "FORM" #{ "SMUS" SHDR [NAME] [Copyright] [AUTH] [IRev] ANNO* INS1* TRAK* InstrForm* } SHDR ::= "SHDR" #{ SScoreHeader } NAME ::= "NAME" #{ CHAR* } [0] Copyright ::= "(c) " #{ CHAR* } [0] AUTH ::= "AUTH" #{ CHAR* } [0] IRev ::= "IRev" #{ ... } ANNO ::= "ANNO" #{ CHAR* } [0] INS1 ::= "INS1" #{ RefInstrument } [0] TRAK ::= "TRAK" #{ SEvent* } InstrForm ::= "FORM" #{ ... } The token "#" represents a ckSize LONG count of the following {braced} data bytes. Literal items are shown in "quotes", [square bracket items] are optional, and "*" means 0 or more replications. A sometimes-needed pad byte is shown as "[0]". Actually, the order of chunks in a FORM SMUS is not as strict as this regular expression indicates. The SHDR, NAME, Copyright, AUTH, IRev, ANNO, and INS1 chunks may appear in any order, as long as they precede the TRAK chunks. The chunk "InstrForm" represents any kind of instrument data FORM embedded in the FORM SMUS. For example, see the document "8SVX" IFF 8-Bit Sampled Voice. Of course, a recipient program will ignore an instrument FORM if it doesn't recognize that FORM type.