<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://karaoke.kjams.com/w/index.php?action=history&amp;feed=atom&amp;title=CD_Info.cidb</id>
	<title>CD Info.cidb - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://karaoke.kjams.com/w/index.php?action=history&amp;feed=atom&amp;title=CD_Info.cidb"/>
	<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=CD_Info.cidb&amp;action=history"/>
	<updated>2026-08-20T14:06:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=CD_Info.cidb&amp;diff=2063&amp;oldid=prev</id>
		<title>Dave at 20:23, 25 January 2006</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=CD_Info.cidb&amp;diff=2063&amp;oldid=prev"/>
		<updated>2006-01-25T20:23:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In this document I will share what I have found about reverse engineering the &amp;quot;CD Info.cidb&amp;quot; file format specification.&amp;lt;br&amp;gt;&lt;br /&gt;
The original info came from [http://groups.google.com/group/comp.sys.mac.programmer.help/browse_thread/thread/439d3db93fd1451/2d37f4663e2cecb2?lnk=st&amp;amp;q=cd+info.cidb&amp;amp;rnum=5&amp;amp;fwc=1 comp.sys.mac.programmer.help] &lt;br /&gt;
&lt;br /&gt;
 63696462 \\ 1st 4 bytes = file type &amp;quot;cidb&amp;quot;&lt;br /&gt;
 00000014 \\ next 4 bytes = unidentified numeric &amp;quot;20&amp;quot; version maybe?&lt;br /&gt;
 00002868 \\ total file size&lt;br /&gt;
 00010000 \\ next 4 bytes = unidentified numeric &amp;quot;65536&amp;quot;&lt;br /&gt;
 00002814 \\ size of record portion of file (total - indx size)&lt;br /&gt;
 616C626D \\ label of first record &amp;quot;albm&amp;quot;&lt;br /&gt;
 00000C00 \\ number of bytes from albm to albm &amp;quot;3072&amp;quot; (ie this is the&lt;br /&gt;
          \\ total record length)&lt;br /&gt;
 00000A3A \\ length of 1st record in bytes &amp;quot;2618&amp;quot; (ie this is the actual&lt;br /&gt;
          \\ part of the above which is in use)&lt;br /&gt;
 616E616D \\ field label &amp;quot;anam&amp;quot;&lt;br /&gt;
 00000042 \\ &amp;quot;66&amp;quot; length of the anam section in bytes, including the anam&lt;br /&gt;
          \\ header&lt;br /&gt;
 001c     \\ length of field in characters &amp;quot;28&amp;quot;&lt;br /&gt;
          \\ next 56 bytes are the 28 charaters of the field stored in 2&lt;br /&gt;
          \\ byte/character format (unicode?)&lt;br /&gt;
 61757468 \\ field label &amp;quot;auth&amp;quot;&lt;br /&gt;
 00000028 \\ &amp;quot;40&amp;quot; length of the auth section in bytes, including the auth&lt;br /&gt;
          \\ header&lt;br /&gt;
 000F     \\ field length in characters &amp;quot;15&amp;quot;&lt;br /&gt;
          \\ next 30 bytes is field data&lt;br /&gt;
 676E7265 \\ field label &amp;quot;gnre&amp;quot;&lt;br /&gt;
 00000018 \\ &amp;quot;24&amp;quot; length of the gnre section in bytes, including the gnre&lt;br /&gt;
          \\ header&lt;br /&gt;
 0007     \\ length of field in characters &amp;quot;7&amp;quot;&lt;br /&gt;
          \\ next 14 bytes is field data, 2byte/char&lt;br /&gt;
 79656172 \\ field label &amp;quot;year&amp;quot;&lt;br /&gt;
 0000000C \\ &amp;quot;12&amp;quot;&lt;br /&gt;
          \\ next 4 bytes are the year&lt;br /&gt;
 6D656964 \\ field label &amp;quot;meid&amp;quot;&lt;br /&gt;
 0000004A \\ &amp;quot;74&amp;quot; length of the meid section in bytes, including the meid&lt;br /&gt;
          \\ header&lt;br /&gt;
          \\ next 66 bytes are field data, some sort of identification&lt;br /&gt;
          \\ numer i think&lt;br /&gt;
          \\ always of the form &amp;lt;space&amp;gt;then 32-character&lt;br /&gt;
          \\ number in 2-byte/char format&lt;br /&gt;
 6D756964 \\ field label &amp;quot;muid&amp;quot;&lt;br /&gt;
 00000018 \\ &amp;quot;24&amp;quot; length of the muid section in bytes, including the muid&lt;br /&gt;
          \\ header&lt;br /&gt;
 0007     \\ length of field in characters &amp;quot;7&amp;quot;&lt;br /&gt;
          \\ next 14 bytes are the 7 digit number, 2-bytes/char  &lt;br /&gt;
          \\ a little googling seems to indicate this is the cd&amp;#039;s Muze-ID&lt;br /&gt;
 70726F67 \\ field label &amp;quot;prog&amp;quot;&lt;br /&gt;
 0000001c \\ &amp;quot;28&amp;quot; length of the prog section in bytes, including the prog&lt;br /&gt;
          \\ header&lt;br /&gt;
          \\ next 20 bytes are a play order list for the 10 tracks on&lt;br /&gt;
          \\ this disc&lt;br /&gt;
 7472616B \\ field label &amp;quot;trak&amp;quot;&lt;br /&gt;
 000000FE \\ &amp;quot;254&amp;quot; length of the trak section in bytes, including the&lt;br /&gt;
          \\ trak header&lt;br /&gt;
 00000001 \\ track number&lt;br /&gt;
 746E616D \\ field label &amp;quot;tnam&amp;quot;&lt;br /&gt;
 00000040 \\ &amp;quot;64&amp;quot; length of the tnam section in bytes, including the tnam&lt;br /&gt;
          \\ header&lt;br /&gt;
 001B     \\ length of field in characters &amp;quot;27&amp;quot;&lt;br /&gt;
          \\ next 54 bytes is field data&lt;br /&gt;
 616E616D \\ field label &amp;quot;anam&amp;quot;&lt;br /&gt;
 00000042 \\ &amp;quot;66&amp;quot; section length in bytes get the idea?&lt;br /&gt;
 001c     \\ length of field in characters &amp;quot;28&amp;quot;&lt;br /&gt;
          \\ next 56 bytes are the 28 charaters of the field stored in&lt;br /&gt;
          \\ 2 byte/character format (unicode?)&lt;br /&gt;
 61757468 \\ field label &amp;quot;auth&amp;quot;&lt;br /&gt;
 00000028 \\ &amp;quot;40&amp;quot; section length in bytes get the idea?&lt;br /&gt;
 000F     \\ field length in characters &amp;quot;15&amp;quot;&lt;br /&gt;
          \\ next 30 bytes is field data&lt;br /&gt;
 676E7265 \\ field label &amp;quot;gnre&amp;quot;&lt;br /&gt;
 00000018 \\ &amp;quot;24&amp;quot; section length in bytes get the idea?&lt;br /&gt;
 0007     \\ length of field in characters &amp;quot;7&amp;quot;&lt;br /&gt;
          \\ next 14 bytes is field data, 2byte/char&lt;br /&gt;
 766F6C6D \\ field label &amp;quot;volm&amp;quot;&lt;br /&gt;
 0000000C \\ &amp;quot;12&amp;quot; section length in bytes get the idea?&lt;br /&gt;
          \\ next 4 bytes are custom volume level info for playback&lt;br /&gt;
 79656172 \\ field label &amp;quot;year&amp;quot;&lt;br /&gt;
 0000000C \\ &amp;quot;12&amp;quot; section length in bytes get the idea?&lt;br /&gt;
          \\ next 4 bytes are the year&lt;br /&gt;
 73747274 \\ field label &amp;quot;strt&amp;quot;&lt;br /&gt;
 0000000C \\ &amp;quot;12&amp;quot; section length in bytes get the idea?&lt;br /&gt;
          \\ next 4 bytes are custom start of track info&lt;br /&gt;
 73746F70 \\ field label &amp;quot;stop&amp;quot;&lt;br /&gt;
 0000000C \\ &amp;quot;12&amp;quot; section length in bytes get the idea?&lt;br /&gt;
          \\ next 4 bytes are custom end of track info&lt;br /&gt;
          \\ Following this, the rest of the cd tracks are included, in&lt;br /&gt;
          \\ the same format&lt;br /&gt;
          \\&lt;br /&gt;
          \\ After the last track, there is an amount of blank space&lt;br /&gt;
          \\ (total record minus used portion of record), and the next&lt;br /&gt;
          \\ record in the database follows, starting with the &amp;quot;albm&amp;quot;&lt;br /&gt;
          \\ label&lt;br /&gt;
          \\ following the record portion of the file, is a segement&lt;br /&gt;
          \\ labelled &amp;quot;indx&amp;quot;&lt;br /&gt;
 696E6478 \\ indx&lt;br /&gt;
          \\ next 4 bytes are the length of the indx in bytes&lt;br /&gt;
          \\ next 4 bytes are the total number of records (ie the number&lt;br /&gt;
          \\ of cds)&lt;br /&gt;
          \\ so far i haven&amp;#039;t been able to make any other useful&lt;br /&gt;
          \\ determinations about the index section&lt;/div&gt;</summary>
		<author><name>Dave</name></author>
	</entry>
</feed>