.cda is a common filename extension denoting a small (44 byte) stub file generated by Microsoft Windows for each audio track on a standard "Red Book" CD-DA format audio CD as defined by the Table of Contents (ToC) (within the lead-in's subcode). These files are shown in the directory for the CD being viewed in the format Track##.cda, where ## is the number of each individual track.[1]
The .cda files do not contain the actual PCM sound wave data, but instead tell where on the disc each track starts and stops. If the file is "copied" from the CD to a computer, it cannot be used on its own because it is only a shortcut to part of the disc. However, some audio editing and CD creation programs will, from the user's perspective, load .cda files as though they are actual audio data files, and allow the user to listen to them.
0x00 | 4 | the 4 ASCII characters "RIFF" | |
0x04 | 4 | the size of the following chunk: always 36 (44 - 8), on 4 bytes (Intel order) | |
0x08 | 4 | chunk identifier: the 4 ASCII characters "CDDA" | |
0x0C | 4 | the 3 ASCII characters "fmt" followed by a space | |
0x10 | 4 | length of the chunk: always 24, on 4 bytes (Intel order) | |
0x14 | 2 | version of the CD format, on 2 bytes (Intel order). In May 2006, always equal to 1. | |
0x16 | 2 | number of the range, on 2 bytes (Intel order). The first track has the number 1. | |
0x18 | 4 | identifier calculated by Windows for cdplayer.exe. | |
0x1c | 4 | range offset, in number of frames (Intel order) | |
0x20 | 4 | duration of the track, total number of frames (Intel order) | |
0x24 | 1 | range position: frames | |
0x25 | 1 | range position: seconds | |
0x26 | 1 | range position: minutes | |
0x27 | 1 | a null byte (binary value 0) | |
0x28 | 1 | duration of the track: frames | |
0x29 | 1 | duration of the track: seconds | |
0x2a | 1 | duration of the track: minutes | |
0x2b | 1 | a null byte (binary value 0) |
The size of a CDA file being fixed, as well as its organization, there is always only one and only chunk, named "CDDA" (meaning compact disc for digital audio).
The identifier created by Windows is used by the Windows 95 and Windows 98 CD drive (cdplayer.exe). This player cannot connect to FreeDB or CDDB. So that it can display the artist name and song title, you have to manually enter this information in the cdplayer.ini file (in the Windows installation directory), in a section named after that identifier. This identifier has no relation to the DiscId used by FreeDB or CDDB, it is a purely Microsoft creation, for the above use.
The position and length of the tracks use frames as the unit. There are 75 frames per second. This is the smallest block of data that can be read from an audio CD, corresponding to a sector of the CD.
All the information which requires several bytes is coded with the order-byte Intel (Little-endian).