zurück

Lehrgebiet Mediale Systeme I

WS 2008/09 - Aufgabe 6.4

  1. Untersuchung einer Audiodatei

    Zum Zwecke der Untersuchung wird die Audiodatei aus Aufgabe 2.3b [zur Aufgabe] herangezogen:

    Erstellt mit Audacity1 und bearbeitet mit GIMP2

    Audacity kann die Audiodatei einer schnellen Fourieranalyse (FFT - Fast Fourier Transform) unterziehen. Dabei werden einzelne Schwingungen abgelesen und in einem kartesischen Koordinatensystem dargestellt. Die unabhängige Größe ist dabei die Frequenz der Schwingungen, während auf der y-Achse die zugehörige Amplitude aufgetragen wird 3. Es wird somit dargestellt wie groß (y-Achse, Pegel in dB) der Einfluss der einzelnen Schwingung (x-Achse, Frequenz in Hz) bei der Erzeugung der Gesamtschwingung ist.

    Die Fourieranalyse kann dabei in eine Textdatei exportiert werden, was in meinem Beispiel bereits eine Datei mit einer Größe von 187,8kB ergibt [zur Datei].

    Im Koordinatensystem ergeben sich somit folgende Darstellungen:

    lineare X-Achse
    logarithmische X-Achse

    Eine weitere Darstellungsmöglichkeit ist die des Sonogrammes, bei der die Amplitude der Schwingung mit einer bestimmten Frequenz (Y-Achse) zu einem bestimmten Zeitpunkt (X-Achse) durch einen Helligkeitswert dargestellt wird. Dunklere Stellen bedeuten dabei eine höhere Amplitude.

    Erstellt mit Praat4
  2. Tiefgreifendere Untersuchungen

    Die ersten Zeilen der Audiodatei sind, in der Form von Bytes:

    Daten in hexadezimaler Darstellung
    Daten in binärer Form. Benutzter Editor: Okteta5

    Mit Hilfe des Graphik-Programmes GIMP wurde die Bedeutung der einzelnen Bytes eingetragen, wie sie aus der Spezifikation zu entnehmen ist6.

    Legende:
    Rot - RIFF-Chunk7, enthält die beiden Unter-Blöcke «fmt » und «data». Wird weiter beschrieben durch...
    Blau - Typ der RIFF-Datei
    Grün - fmt-Subchunk, enthält Informationen über den Aufbau der Datei
    Dunkelgrün - Formatierungsspezifischer Teil des fmt-Subchunk
    Türkis - data-Subchunk, enthält die Datenbytes

    Der Aufbau scheint recht einfach und schlicht gehalten. Die von einem einfachen Text-Editor lesbaren ASCII-Wörter strukturieren gut und geben Halt bei der Bearbeitung. Gewöhnungsbedürftig ist allerdings die Schreibweise für die einzelnen Zahlenwerte. Weniger die Umrechnung der Hexadezimalzahl als die Ordnung der einzelnen Stellen:

    So entspricht die Abfolge «10 B1 02 00» einer wirklichen Hexadezimalzahl von 2B110.

  3. Lektüreaufgabe:
    Pias, Claus: Das digitale Bild gibt es nicht

    Zu finden unter:
    http://www.zeitenblicke.historicum.net/2003/01/pias/pias.pdf

  4. Gezielte Typverschiebung zu einer Audiodatei

    Zusammen mit einigem Wissen über den Aufbau einer Bitmap-Datei (wie unter anderem auch auf Wikipedia zu finden (Stand: 13.1.2009)) ist es nun möglich die Audiodatei in eine Bilddatei zu verwandeln. Die Datei wurde dabei von mir wieder mit dem Programm Okteta geöffnet und diesmal verändert:

    Es wurden aber lediglich am Anfang einige Zeilen hinzugefügt und schließlich die Dateiendung für Benutzer ohne GNU/UNIX auf .bmp angepasst. Die hinzugekommenen Bytes sind (in hexadezimaler Schreibweise):

    42 4DASCII: «BM», kurz für Bitmap. Erforderlich
    53 50 05 00Größe der Datei in Bytes, wird aber von den meisten Programmen ignoriert/td>
    00 00 00 00Noch nicht deklarierte Bytes für eventuelle Änderungen der Spezifikation
    36 00 00 0054, Anzahl an Bytes nach dem die Daten der einzelnen Pixel beginnen
    28 00 00 0040, Größe des nun folgenden Blockes
    6B 01 00 00363, Breite der Bilddatei in Pixel
    40 01 00 00320, Höhe der Bilddatei in Pixel
    01 001, Anzahl an Ebenen. Bitmap unterstützt momentan nur eine
    18 0024, Farbtiefe des Bildes in Bit
    00 00 00 00Kompressionsart. Hier: Keine
    2C 50 05 00Größe der Bilddaten in Bytes
    13 0B 00 00x-Skalierung in Pixel/Meter
    13 0B 00 00y-Skalierung in Pixel/Meter
    00 00 00 00Art und Daten für eine eventuelle benutzerdefinierte Farbpalette
    00 00 00 00gehört noch zu obigem Punkt. Eventuell würde jetzt die Palette folgen

    Die Größe der Datei ließ sich einfach über den Bytezähler am linken Rand von Okteta herausfinden. Davon 54 Bytes (eben die abgebildeten Informationen) abgezogen ergab den Wert für den Punkt der Größe der Bilddaten. Selbigen geteilt durch drei wurde zur Anzahl der verfügbaren Pixel, da bei einer Farbtiefe von 24 Bit eben genau 3 Bytes pro Pixel benötigt werden. Versuche einer Aufteilung auf Höhe und Breite wurde schließlich mit den Werten 363 auf 320 Pixel beendet. Diese eingetragen war die Bitmap-Datei vollständig. Die Werte für die Skalierung wurden aus einer eigenen, anderen .bmp-Datei übernommen.

    Somit ergibt sich dieses Bild:

  5. Zusatzaufgabe: Umgekehrtes Verfahren

    In umgekehrter Art und Weise kann mit der Bilddatei meiner Bleistiftzeichnung [zur Aufgabe] verfahren werden:

    Die weiter oben bereits genannten Merkmale des Headers einer .wav-Datei werden vorne an die Bytes des Bildes angefügt. Die Gesamtgröße der Datei ließ sich wieder auf gleicher Weise mit Hilfe von Okteta bestimmen. Die entsprechenden Untergrößen wurden ihren Anforderungen entsprechend errechnet. Um die sehr kurze Datei zu verlängern wurde nur ein Kanal (Mono) gewählt. Weitere Größen wurden berechnet bei Werten von ebenfalls 44100 Samples/Sekunde und gleicher Wortlänge von 16 Bits/Sample nach den Formeln:

    DurchschnittlicheBytesProSekunde =
    AnzahlKanäle * AnzahlSamplesProSekunde * AnzahlBitsProSample / 8

    und

    Blöckgröße =
    AnzahlKanäle * AnzahlBitsProSample / 8

    Da nur noch ein Kanal verwendet wurde, wurden diese Werte im Vergleich zur obigen Audiodatei halbiert.

    Nach der Speicherung als .wav ergab sich dieser Klang: [zur Datei 86,2 kB]

/\
  1. zurück
    Audacity 1.3.5 «Der freie, betriebssystemunabhängige Audioeditor» http://audacity.sourceforge.net/
  2. zurück
    GIMP 2.6 «GNU Image Manipulation Program» http://www.gimp.org/
  3. zurück
    Quelle: Audacity Manual http://audacityteam.org/manual/index.php?title=Analyze_Menu
  4. zurück
    Praat 5.0.26, von Paul Boersma und David Weenink «Praat: doing phonetics by computer» http://www.fon.hum.uva.nl/praat/
  5. zurück
    Okteta 0.1.1 «a simple editor for the raw data of files» http://utils.kde.org/projects/okteta/
  6. zurück
    Multimedia Programming Interface and Data Specifications 1.0 Gemeinschaftliche Arbeit von IBM Corporation und Microsoft Corporation, August 1991
    Genutzte Themen:
    Chunks Seite 11
    RIFF Seite 12 ff
    WAVE Seite 56 ff
    Seitenangaben beziehen sich auf die lokale Kopie (PDF) auf
    http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html (Stand: 13.1.2009)
  7. zurück
    Block. Siehe Fußnote 6 zur Definition in der Spezifikation.