Каждый формат треккерной музыки имеет свои сигнатуры, вот по ним поиск и нужно вести в екзешнике, но правда, не всегда крякалки содержат мелодии не всжатом виде, когда-то тоже пытался выдирать их оттудова, часто не получалось, они были под компрессором, а без алгоритма сжатия что-то вытащить невозможно. Вот процедура что "записывает" пестни текстом в *.pas
Код:
procedure Track2Pas(trcNm, pasNm: string);
var
f: file;
txt: text;
b,c: byte;
s: string;
begin
AssignFile(f, trcNm);
{$I-} Reset(f, 1); {$I+}
if IOResult = 0 then
begin
AssignFile(txt, pasNm + '.pas');
{$I-} Rewrite(txt); {$I+}
if IOResult = 0 then
begin
Writeln(txt,'unit ' + pasNm + ';');
Writeln(txt, 'interface');
Write(txt, 'const xm: array[1..', FileSize(f),'] of byte = (');
c:= 0;
while not EOF(f) do
begin
BlockRead(f,B,1);
Str(b, s);
if FileSize(f) <> FilePos(f) then s:= s + ',';
c:= c + length(s);
Write(txt, s);
if C > 40 then
begin
if FileSize(f) <> FilePos(f) then
begin
Writeln(txt);
Write(txt,' ');
end;
C:= 0;
end;
end;
Writeln(txt, ');');
Writeln(txt, 'implementation');
Writeln(txt, 'end.');
CloseFile(txt);
end;
CloseFile(f);
end;
end;
вдруг подойдет, хотя это и лишне, поскольку сабжевая библиотека может играть просто файл, без преобразований