Введение

Расширение имени файла CDA – это распространенное расширение, обозначающее небольшой (44 байта) файл-заглушку, генерируемый Microsoft Windows для каждого аудиотрека на стандартном аудио-CD формата "Red Book" CD-DA, как определено в таблице содержания (ToC) (внутри подкода начальной части). Эти файлы отображаются в каталоге просматриваемого CD в формате Track##.cda, где ## – номер каждого отдельного трека. Файлы CDA не содержат фактических данных звуковой волны PCM, а лишь указывают местоположение начала и конца каждого трека на диске. Если файл "скопировать" с CD на компьютер, он не может быть использован самостоятельно, так как является лишь ссылкой на часть диска. Однако некоторые программы для редактирования аудио и создания CD, с точки зрения пользователя, загружают файлы CDA как полноценные аудиофайлы и позволяют прослушивать их.

Организация файла CDA

+ смещение длина содержание 0x00 4 4 ASCII символа "RIFF" 0x04 4 размер следующего блока: всегда 36 (44 - 8), в 4 байтах (Intel order) 0x08 4 идентификатор блока: 4 ASCII символа "CDDA" 0x0C 4 ASCII символа "fmt" с пробелом 0x10 4 длина блока: всегда 24, в 4 байтах (Intel order) 0x14 2 версия формата CD, в 2 байтах (Intel order). В мае 2006 года всегда равна 1. 0x16 2 номер трека, в 2 байтах (Intel order). Первый трек имеет номер 1. 0x18 4 идентификатор, рассчитанный Windows для cdplayer.exe. 0x1c 4 смещение трека, в количестве кадров (Intel order) 0x20 4 продолжительность трека, общее количество кадров (Intel order) 0x24 1 позиция трека: кадры 0x25 1 позиция трека: секунды 0x26 1 позиция трека: минуты 0x27 1 нулевой байт (бинарное значение 0) 0x28 1 продолжительность трека: кадры 0x29 1 продолжительность трека: секунды 0x2a 1 продолжительность трека: минуты 0x2b 1 нулевой байт (бинарное значение 0)

Размер файла CDA фиксирован, как и его структура, поэтому всегда присутствует только один блок с именем "CDDA" (обозначает компакт-диск для цифрового аудио). Идентификатор, созданный Windows, используется CD-приводом Windows 95 и Windows 98 (cdplayer.exe). Этот проигрыватель не может подключаться к FreeDB или CDDB. Для отображения имени исполнителя и названия песни необходимо вручную ввести эту информацию в файл cdplayer.ini (в каталоге установки Windows) в разделе, названном в соответствии с этим идентификатором. Этот идентификатор не связан с DiscId, используемым FreeDB или CDDB, это чистое творение Microsoft, предназначенное для указанного использования. Положение и длина треков измеряются в кадрах. В секунде 75 кадров. Это наименьший блок данных, который можно прочитать с аудио-CD, соответствующий сектору диска. Вся информация, требующая нескольких байтов, кодируется в порядке байтов Intel (Little endian).