Einzelnen Beitrag anzeigen

hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Mein Computer pfeift Lapaloma - Aber wie? -->Windows.

  Alt 9. Feb 2010, 21:17
Hast du dir mal angeschaut, was die Befehle denn so machen bzw. dir mal alle Antworten die du bekommen hast durchgelesen.

Was soll das denn deiner Meinung nach machen?

Delphi-Quellcode:
procedure TForm1.Laden;
begin
PB.Position:=0;
  AssignFile(f,'Test.mp3');
  Reset(f);
  while not eof(f) do begin
    PB.StepBy(1);
    Read(f,t);
    SetLength(l,Length(l)+1);
    l[Length(l)-1] := t;
  end;
  CloseFile(f);
PB.Position:=100;
TWait.Enabled:=TRUE;
end;
Ich denke mal, dass du damit die MP3-Datei in die einzelnen Töne umwandeln möchtest. Wenn du dich aber mal ein wenig damit auseinander gesetzt hättest, was denn di Befehle machen, wärst du warscheinlich schnell darauf gekommen, dass das nichts wird.
Der Read-Befehl befüllt t mit 4 Byte (siehe Record TTon -> 2 x Word -> 2 x 2 Byte) aus der Datei. Eine MP3-Datei ist aber nicht im geringsten so aufgebaut, das immer ein Word für die Frequenz und ein Word für die Länge aufeinander folgen. Schon allein, dass allgemein bekannt sein sollte, das MP3-Dateien kompriemierte Informationen beinhalten sollte zeigen, dass dein Vorhaben so nicht funktionieren kann.
Und bevor du noch weiter versuchst, an die Noten einer MP3-Datei zu kommen, möchte ich dir nur sagen, dass du da definitiv kläglich scheitern wirst. Es gibt da ein Projekt vom Frauenhofer Institut, welches sich damit beschäftigt, was hauptsächlich darum geht, von einer vorgespielten Melodie zu erkennen, welches Lied es ist. Im Hintergrund müssen dafür aber die Töne auch entsprechend bestimmt werden. Und die Leute die da sitzen, haben sich da jahrelang mit beschäftigt und haben bestimmt um einiges mehr Ahnung auf diesem Gebiet als du.
Schau lieber, dass du so irgenwo Noten her bekommst, welche du dann in eine Datei mit dem hier vorgeschlagenen Format speichern kannst. Da wirst du mehr Freude dran haben.
  Mit Zitat antworten Zitat