Skip to content

Op 1 Application Chunk format

operator1 edited this page Apr 7, 2015 · 13 revisions

The Application Specific chunk of an Op1 aiff contains:

Chunk field Type Description
chunkId ID the string "APPL"
chunkSize long the size of the chunk in bytes, not including the chunkId or chunkSize
applicationSignature OSType the string "op-1"
data char[] a JSON string

For drum kits, the JSON string in "data" contains the following fields:

Field name Notes
drum_version contains the value 1 in all drum kits I have seen
type contains the value "drum" for a drum kit
name I saw the string "user" in a drum kit I created with the Drum Utility. I saw a snapshot timestamp ("20450912_0849") for a drum kit I saved to the snapshots folder by pressing and holding one of the preset buttons.
octave Which octave the kit was configured with. Suspect the values are -4 to +4
pitch A 24 element array of integers.
start A 24 element array of integers. Possibly the number of the sample frame that the sample starts at (yet to be researched). After some experimentation, I think the numbers range from 0 (far left) to 231 (far right).
end A 24 element array of integers. Possibly the number of the sample frame that the sample ends at (yet to be researched). After some experimentation, I think the numbers range from 0 (far left) to 231 (far right).
playmode A 24 element array of integers. 4096 is the value for the playmode "->". 8192 is the value for the playmode "->|". 20480 is the value for the loop playmode.
reverse A 24 element array of integers. Seems to contain the value 8192 to represent normal playback. Have seen both 18432 and 19968 represent reverse playback, needs more investigation.
volume A 24 element array of integers.
dyna_env An 8 element array of integers.
fx_active True or False
fx_type "cwo", "delay", "grid"
fx_params An 8 element array of integers.
lfo_active True or False
lfo_type "bend", "random", "tremelo", "value"
lfo_params An 8 element array of integers.