Is the ACIDized WAV format documented?

Author
brr
Max Output Level: -86 dBFS
  • Total Posts : 231
  • Joined: 2003/11/06 16:39:15
  • Location: Scotland
  • Status: offline
2004/01/23 10:32:25 (permalink)

Is the ACIDized WAV format documented?

Hi all

Does anyone (especially the Cakewalk folk) know if the ACID WAV format is documented anywhere?

I'm hoping that the BeatCreator software I use for making loops will be updated to support loading/savng transients as well as tempo/beats info. The author seems keen, but doesn't have the specification for the file format.

A wee bit of experimentation has got me this far:

The STRC chunk of the RIFF file holds the transient info.
The first 28 bytes are some sort of header.
Byte 5 seems to hold the number of transients in the file.
Each transient uses a further 32 bytes.
The first 4 (or 8?) bytes of the 32 seem to hold the transient position in samples.
In loops exported from SONAR, the next 8 bytes seem to duplicate the first 8 bytes.
Every transient block seems to end with a fixed 8 byte sequence, but this sequence varies depending on where the loop came from!

I'd be grateful for any help!

Cheers

AB
< Message edited by brr -- 1/23/2004 3:33:17 PM >
#1

2 Replies Related Threads

    brr
    Max Output Level: -86 dBFS
    • Total Posts : 231
    • Joined: 2003/11/06 16:39:15
    • Location: Scotland
    • Status: offline
    RE: Is the ACIDized WAV format documented? 2004/01/26 17:36:30 (permalink)
    Bump...
    #2
    markheath
    Max Output Level: -82 dBFS
    • Total Posts : 408
    • Joined: 2003/12/30 05:28:55
    • Location: Southampton, England
    • Status: offline
    RE: Is the ACIDized WAV format documented? 2009/01/13 11:43:58 (permalink)
    I'm resurrecting this thread from ages ago, since there seems to be almost no information on the internet about this. Here's my findings concerning the strc chunk format.

    it contains 28 bytes of header information:
    Int32 unknown1; // always 28 (0x1C)
    Int32 numberOfSlices; // i.e. number of 32 byte blocks following this header
    Int32 unknown2; // either 25 (0x19) or 65 (0x41)
    Int32 unknown3; // either 10 (0x0A) or 5 (0x05) seems to be linked to value of unknown 2, i.e. 25 and 10 go together, or 65 and 5
    Int32 unknown4; // always 1 (0x01)
    Int32 unknown5; // either 0, 1 or 10
    Int32 unknown6; // have seen values 2,3,4 and 5


    Then follow the slices. Strangely, the slice positions seem to get listed twice through, but with occasionally one or two slices missing from either the first or second half of the list.

    then each block is formatted as follows:
    Int32 data1; // either 0 or 2
    Int32 data2; // a seemingly random number. is the same value for every slice
    Int64 samplePosition; // sample position of this slice
    Int64 samplePosition2; // first set of slices this will be zero,
    // second set it will be the same as samplePosition
    Int32 data3; // first set of slices this is a large number, different every time,
    // but in similar order of magnitude, doesn't seem to be a float.
    // could be some kind of volume representation?
    // Second set of slices it will be zero
    Int32 data4; // another seemingly random number, but the same value for every slice


    now we just need some educated guesses as to what the unknown numbers mean.
    #3
    Jump to:
    © 2026 APG vNext Commercial Version 5.1