HSG

Aktuelle Seite: HSG/Fächer/Informatik/Bits+Bytes

Darstellung von Tönen

wav-Datei mit 1s 400hz-Sinuston erzeugen

Vorüberlegungen

Datei möglichst einfach: 8000 Samples/s, mono, 8 Bit-Auflösung

f = 400 hz, dh. 400 Perioden in 1s, dh. 20 Samples je Periode

Hilfsprogramm zur Berechnung der 20 Sample-Werte

wavetool
procedure TForm1.bTueWasClick(Sender: TObject);
const
  dx = 2*pi/20;
var
  x,y : real;
  b   : byte;

  function ByteToHex(b : byte):string;
  const
    z : array[0..15] of char = ('0','1','2','3','4','5','6','7',
                                '8','9','A','B','C','D','E','F');
  begin
    result := z[b div 16]+z[b mod 16];
  end;

begin
  mAus.Lines.Clear;
  x := 0;
  while x < 2*pi do
  begin
    y := sin(x);
    b := Round(128*y+128);
    mAus.Lines.Add(IntToStr(b)+#9+ByteToHex(b));
    x := x+dx;
  end;
end;
wav.zip

Eingabe und Vervielfältigung der Werte mit xvi32

xvi32 Nach Eingabe der Daten müssen die Werte für die Anzahl der Daten 800010 = 00 00 1F 4016 und die Dateilänge ohne die ersten 8 Byte (8000+44-8)10 = 00 00 1F 6416 berechnet und eingegeben werden.

 

Windows-Rechner zur Umrechung ins Hexadezimal-System

Rechner Die Berechnung der Zahlenwerte gelingt gut mit dem Windows-Rechner (Start/Programme/Zubehör/Rechner oder einfach bei Start/Ausführen 'calc' eingeben).

Die Wav-Datei

s400.wav (8044Byte), s400.zip (218 Byte), s400.rar (164 Byte)