Difference between revisions of "Atrac3plus"
From WikiTemp, the GBAtemp wiki
(Created page with "= AT3+ Header Format= (*) Postulation (**) Starting from the end of the offset. {| class="wikitable" |- ! Offset !! Name !! Bits !! Type !! Semantics |- | 0x0 || magic || 32...") |
m (→AT3+ Header Format) |
||
Line 57: | Line 57: | ||
| 0xA0 || data_size || 32 || le int || Total size of data** | | 0xA0 || data_size || 32 || le int || Total size of data** | ||
|- | |- | ||
− | | 0xA4 || music_data || - || - || Presumably music data? | + | | 0xA4 || music_data || - || - || Presumably music data?* |
|} | |} | ||
Revision as of 05:52, 3 August 2015
AT3+ Header Format
(*) Postulation
(**) Starting from the end of the offset.
Offset | Name | Bits | Type | Semantics |
---|---|---|---|---|
0x0 | magic | 32 | ASCII | "RIFF" magic |
0x4 | at3_size | 32 | le int | Total size of AT3 data** |
0x8 | magic | 32 | ASCII | "WAVE" magic |
0xC | magic | 32 | ASCII | "fmt " magic |
0x10 | wave_size | 32 | le int | Total size of wave format data** |
0x14 | format_type | 16 | le int | Type of format starting from FFFF going down (PCM is normally 1, so removing 1 from FFFF le = FEFF*) |
0x16 | channel_num | 16 | le int | Number of channels - 2 byte interger |
0x18 | sample_rate | 32 | le int | Sample Rate aka the number of samples per second. Common value is 44100 |
0x1C | unk1_bitrate | 32 | le int | It is bitrate specific.* |
0x20 | unk2_bitrate | 32 | le int | It is bitrate specific.* |
0x24 | unk1 | 216 | le int | Unknown static hex (22 00 00 08 03 00 00 00 BF AA 23 E9 58 CB 71 44 A1 19 FF FA 01 E4 CE 62 01 00 28)* |
0x3F | unk3_bitrate | 8 | le int | It is bitrate specific.* |
0x40 | padding | 64 | - | 00 padding - 8 bytes |
0x48 | magic | 32 | ASCII | "fact" magic |
0x4C | fact_size | 32 | le int | Total size of fact data** |
0x50 | duration_ts | 32 | le int | The duration of the song in seconds accurate to microseconds multiplied by the sample rate (Song_duration(sec)*Sample_rate --> ex. 22.854014(s) * 44100 = duration_ts) |
0x54 | unk_fact_01 | 32 | le int | It is song specific (sample size?)* |
0x58 | magic | 32 | ASCII | "smpl" magic |
0x5C | smpl_size | 32 | le int | Total size of smpl data** |
0x60 | unk_smpl_01 | 352 | le int | Unknown static hex (00 00 00 00 00 00 00 00 94 58 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00)* |
0x8C | unk_smpl_02 | 32 | le int | Same as unk_fact_01 |
0x90 | unk_smpl_03 | 32 | le int | It is song specific and seems to follow a pattern of 8FXEXX where X represents positional equivalents from duration_ts. (ex. unk_fact_01 = 2C35AD00 / unk_smpl_03 = 8F3EAD00)* |
0x94 | padding | 64 | - | 00 padding - 8 bytes |
0x9C | magic | 32 | ASCII | "data" magic |
0xA0 | data_size | 32 | le int | Total size of data** |
0xA4 | music_data | - | - | Presumably music data?* |