Automatische Transkription als PRAAT TextGrid oder ELAN-Datei exportieren

· YobiYoba
Automatische Transkription als PRAAT TextGrid oder ELAN-Datei exportieren

Automatische Transkription als PRAAT TextGrid oder ELAN-Datei exportieren

Manuelle Transkription ist meist der erste Schritt eines Projekts mit mündlichen Korpora, und fast immer der zeitaufwendigste. Bevor Sie mit der phonetischen Annotation in PRAAT oder der Diskursannotation in ELAN beginnen können, brauchen Sie den Text bereits am Signal ausgerichtet. Je nach Audioqualität und Sprecheranzahl kann dieser Vorbereitungsschritt mehrere Stunden pro Aufnahmestunde beanspruchen.

YobiYoba automatisiert diesen ersten Schritt. Der Dienst transkribiert das Audio, identifiziert Sprecher, richtet jedes Segment am Signal aus und exportiert dann direkt im TextGrid-Format für PRAAT oder im .eaf-Format für ELAN. Sie erhalten eine sofort öffenbare Datei mit bereits strukturierten Tiers.

Was YobiYoba vor dem Export erzeugt

Die automatische Transkription erzeugt ein strukturiertes Dokument, das für jedes Sprachsegment enthält:

  • den identifizierten Sprecher (automatische Diarisierung, mit geschätztem Geschlecht)
  • Start- und Endzeit-Stempel des Segments
  • den transkribierten Text, mit wortgenauen Zeitstempeln und Konfidenzwerten
  • die erkannte Sprache

Diese Struktur ermöglicht es, kohärente PRAAT- und ELAN-Dateien zu erzeugen, mit einem Tier pro Sprecher und präzise am Audio ausgerichteten Intervallen.

Vor dem Export können Sie die Transkription im integrierten Editor prüfen und korrigieren. Das ist der richtige Moment, um Eigennamen, Fachbegriffe und schwer verständliche Passagen zu überprüfen. Sie können auch sensible Segmente manuell anonymisieren, wenn die Aufnahme personenbezogene Daten enthält.

Um den Export zu starten, gehen Sie zu Meine Dateien, klicken Sie auf "Transkription herunterladen" für die gewünschte Datei und wählen Sie dann das Format: PRAAT (TextGrid) oder ELAN (.eaf).

Export als PRAAT TextGrid

PRAAT verwendet das TextGrid-Format für zeitliche Annotationen. Ein TextGrid besteht aus Tiers, die jeweils die gesamte Dauer des Signals abdecken. YobiYoba erzeugt einen IntervalTier pro erkanntem Sprecher. Jeder Tier trägt den Sprecher-Identifikator (MS1, FS3 usw.) und enthält die Sprachsegmente als annotierte Intervalle, mit leeren Intervallen zwischen den Gesprächsbeiträgen.

Beispiel eines von YobiYoba erzeugten TextGrids für eine 45-sekündige Aufnahme mit 3 Sprechern:

File type = "ooTextFile"
Object class = "TextGrid"

xmin = 2.14
xmax = 45
tiers? <exists>
size = 3
item []:
    item [1]:
        class = "IntervalTier"
        name = "MS1"
        xmin = 2.14
        xmax = 45
        intervals: size = 4
        intervals [1]:
            xmin = 2.14
            xmax = 9.80
            text = " Wir arbeiten jetzt seit zwei Jahren an diesem Projekt. Die ursprüngliche Idee war es, den Zugang zu lokalen Archiven zu verbessern."
        intervals [2]:
            xmin = 9.80
            xmax = 12.40
            text = ""
        intervals [3]:
            xmin = 12.40
            xmax = 16.22
            text = " Genau. Wir mussten das gesamte Konzept ab März komplett überdenken."
        intervals [4]:
            xmin = 16.22
            xmax = 45
            text = ""
    item [2]:
        class = "IntervalTier"
        name = "FS1"
        xmin = 2.14
        xmax = 45
        intervals: size = 3
        intervals [1]:
            xmin = 2.14
            xmax = 10.30
            text = ""
        intervals [2]:
            xmin = 10.30
            xmax = 11.80
            text = " Ja, genau. Und es hat sich schon im ersten Jahr sehr schnell weiterentwickelt."
        intervals [3]:
            xmin = 11.80
            xmax = 45
            text = ""
    item [3]:
        class = "IntervalTier"
        name = "MS2"
        xmin = 2.14
        xmax = 45
        intervals: size = 3
        intervals [1]:
            xmin = 2.14
            xmax = 17.50
            text = ""
        intervals [2]:
            xmin = 17.50
            xmax = 22.10
            text = " Ich bin erst später zum Projekt gestoßen, letzten Januar."
        intervals [3]:
            xmin = 22.10
            xmax = 45
            text = ""

Einige Hinweise zu diesem Format:

Das xmin des TextGrid entspricht dem Beginn des ersten erkannten Segments, nicht notwendigerweise 0. Das xmax entspricht der Gesamtdauer des Audiosignals. Leere Intervalle (text = "") füllen die Stille zwischen den Beiträgen jedes Sprechers. Das ist die Standardstruktur, die PRAAT für einen IntervalTier erwartet.

Sobald die Datei in PRAAT geöffnet ist, können Sie die Tiers (MS1, FS3 usw.) mit den echten Vornamen oder Pseudonymen der Sprecher umbenennen. Sie können auch neue Tiers hinzufügen: Phoneme, Prosodie, Ereignismarkierungen, Feldnotizen.

Export als ELAN-Datei

ELAN verwendet das .eaf-Format (ELAN Annotation Format), ein XML gemäß dem MPI-Schema. YobiYoba erzeugt eine EAFv3.0-Datei mit einem TIER pro Sprecher, ausgerichtet auf die Audiodatei über die Medien-URL.

Beispiel einer von YobiYoba erzeugten .eaf-Struktur:

<?xml version="1.0" encoding="UTF-8"?>
<ANNOTATION_DOCUMENT FORMAT="3.0" VERSION="3.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://www.mpi.nl/tools/elan/EAFv3.0.xsd">
  <HEADER MEDIA_FILE="" TIME_UNITS="milliseconds">
    <MEDIA_DESCRIPTOR MEDIA_URL="file:///interview.wav" MIME_TYPE="audio/x-wav"/>
  </HEADER>
  <TIME_ORDER>
    <TIME_SLOT TIME_SLOT_ID="ts1" TIME_VALUE="2140"/>
    <TIME_SLOT TIME_SLOT_ID="ts2" TIME_VALUE="9800"/>
    <TIME_SLOT TIME_SLOT_ID="ts3" TIME_VALUE="10300"/>
    <TIME_SLOT TIME_SLOT_ID="ts4" TIME_VALUE="11800"/>
    <TIME_SLOT TIME_SLOT_ID="ts5" TIME_VALUE="12400"/>
    <TIME_SLOT TIME_SLOT_ID="ts6" TIME_VALUE="16220"/>
    <TIME_SLOT TIME_SLOT_ID="ts7" TIME_VALUE="17500"/>
    <TIME_SLOT TIME_SLOT_ID="ts8" TIME_VALUE="22100"/>
  </TIME_ORDER>
  <TIER LINGUISTIC_TYPE_REF="default-lt" PARTICIPANT="MS1" TIER_ID="MS1">
    <ANNOTATION>
      <ALIGNABLE_ANNOTATION ANNOTATION_ID="a1"
        TIME_SLOT_REF1="ts1" TIME_SLOT_REF2="ts2">
        <ANNOTATION_VALUE> Wir arbeiten jetzt seit zwei Jahren an diesem Projekt. Die ursprüngliche Idee war es, den Zugang zu lokalen Archiven zu verbessern.</ANNOTATION_VALUE>
      </ALIGNABLE_ANNOTATION>
    </ANNOTATION>
    <ANNOTATION>
      <ALIGNABLE_ANNOTATION ANNOTATION_ID="a3"
        TIME_SLOT_REF1="ts5" TIME_SLOT_REF2="ts6">
        <ANNOTATION_VALUE> Genau. Wir mussten das gesamte Konzept ab März komplett überdenken.</ANNOTATION_VALUE>
      </ALIGNABLE_ANNOTATION>
    </ANNOTATION>
  </TIER>
  <TIER LINGUISTIC_TYPE_REF="default-lt" PARTICIPANT="FS1" TIER_ID="FS1">
    <ANNOTATION>
      <ALIGNABLE_ANNOTATION ANNOTATION_ID="a2"
        TIME_SLOT_REF1="ts3" TIME_SLOT_REF2="ts4">
        <ANNOTATION_VALUE> Ja, genau. Und es hat sich schon im ersten Jahr sehr schnell weiterentwickelt.</ANNOTATION_VALUE>
      </ALIGNABLE_ANNOTATION>
    </ANNOTATION>
  </TIER>
  <TIER LINGUISTIC_TYPE_REF="default-lt" PARTICIPANT="MS2" TIER_ID="MS2">
    <ANNOTATION>
      <ALIGNABLE_ANNOTATION ANNOTATION_ID="a4"
        TIME_SLOT_REF1="ts7" TIME_SLOT_REF2="ts8">
        <ANNOTATION_VALUE> Ich bin erst später zum Projekt gestoßen, letzten Januar.</ANNOTATION_VALUE>
      </ALIGNABLE_ANNOTATION>
    </ANNOTATION>
  </TIER>
  <LINGUISTIC_TYPE GRAPHIC_REFERENCES="false"
    LINGUISTIC_TYPE_ID="default-lt" TIME_ALIGNABLE="true"/>
</ANNOTATION_DOCUMENT>

Die Zeiten sind in Millisekunden (im Unterschied zum PRAAT TextGrid, das Sekunden verwendet). Das Feld MEDIA_URL verweist auf die lokale Audiodatei: Denken Sie daran, diesen Pfad zu aktualisieren, wenn Sie die .eaf-Datei auf einen anderen Rechner oder freigegebenen Server verschieben.

In ELAN können Sie dann Child-Tiers unter jedem Sprecher-Tier hinzufügen: Übersetzungen, Glossen, Kommentare, Gesprächszugmarkierungen. ELAN unterstützt auch die Verknüpfung von Annotationen mit einer Videospur, wenn Ihre Aufnahme eine enthält.

Was Sie danach tun können

In PRAAT: Jeder Sprecher-Tier ist ein Ausgangspunkt, kein Endergebnis. Sie können phonetische Transkriptionstiers, Prosodie-Tiers (F0, Intensität) oder Markierungen für para-verbale Ereignisse (Lachen, Überlappungen, Pausen) hinzufügen. Wortgenaue Zeitpräzision ist in den Rohdaten von YobiYoba verfügbar, wenn Sie tiefer gehen müssen.

In ELAN: Die erzeugte .eaf-Datei entspricht der MPI-Struktur. Sie können sie direkt in ein bestehendes ELAN-Projekt importieren, benutzerdefinierte linguistische Typen und kontrollierte Vokabulare hinzufügen oder die Datei über IMDI oder CMDI mit Mitarbeitenden teilen.

Für große Korpora: Wenn Sie Dutzende oder Hunderte von Dateien verarbeiten, ermöglicht die YobiYoba API die Automatisierung des gesamten Pipelines: Audio senden, XML abrufen, per Skript in TextGrid oder .eaf konvertieren. Das erspart den manuellen Durchgang durch die Oberfläche für jede einzelne Aufnahme.

Was die automatische Transkription nicht ersetzt

Die Diarisierung weist Sprechern automatische Identifikatoren zu (MS1, FS3 usw. auf Basis des geschätzten Geschlechts). Diese Identifikatoren müssen gemäß Ihrem eigenen Kodierungssystem umbenannt werden. Bei Aufnahmen mit starken Überlappungen oder Hintergrundgeräuschen kann es zu Fehlern bei der Gesprächsbeitragszuordnung kommen: Eine Überprüfung bleibt vor jeder quantitativen Analyse notwendig.

Die Transkription erfolgt auf Segmentebene. Wortgenaue Zeitstempel sind im Quell-XML verfügbar, aber die TextGrid- und ELAN-Exporte arbeiten auf Segmentgranularität. Wenn Ihre Forschung eine phonem- oder wortgenaue Ausrichtung in PRAAT erfordert, ist ein Forced-Alignment-Schritt im Anschluss notwendig (zum Beispiel mit EasyAlign oder dem Montreal Forced Aligner).

Was YobiYoba automatisiert, ist die zeitaufwendigste Schicht: den Weg vom Rohsignal zu einem annotierten Dokument, Sprecher für Sprecher, ausgerichtet an der Zeitachse. Den Rest der Annotationsarbeit leisten Sie selbst.


Auch verfügbar in: EN FR

← Zurück zu den Artikeln