Ein Sprachdetektor liefert immer eine Antwort, selbst auf einen Husten. Lassen Sie die Erkennung bei sauberem oder gemischtsprachigem Audio eingeschaltet, und geben Sie die Sprache an, wenn über Rauschen oder bei starkem Akzent nur eine Sprache gesprochen wird.
Jede Transkription beginnt mit einer Frage, die der Leser nie sieht: Welche Sprache ist das? Liegt die Antwort falsch, arbeitet der Rest der Pipeline mit Hochdruck an flüssig klingendem Unsinn. Dieser Artikel erklärt, worauf ein Sprachdetektor achtet, wie die Erkennung bei Live-Audio und bei Dateien funktioniert und wann Sie die Sprache besser selbst angeben.
Ein Sprachdetektor versteht nicht, was gesagt wird. Er betrachtet den Klang selbst: das Inventar aus Konsonanten und Vokalen, die Betonung der Silben, den Rhythmus der Phrasen und die kurzen, häufigen Wörter, auf die sich jede Sprache stützt. Spanisch hat seine eigene Vokalreihe und seinen eigenen Rhythmus; Niederländisch und Deutsch haben vieles gemeinsam, unterscheiden sich aber in einigen Lauten. Ein paar Sekunden klarer Sprache reichen meist, um sie auseinanderzuhalten.
Viele Spracherkennungssysteme tun das nebenbei, während sie die Wörter erkennen. Sie entscheiden die Sprache anhand des Anfangs der Aufnahme, als Wahrscheinlichkeit für jede Sprache, die sie kennen. Daraus folgen zwei Dinge. Die Wahrscheinlichkeiten ergeben immer zusammen eins, es gibt also keine Antwort „keine Sprache“: Stille, ein Husten oder ein kurzer Musikeinsatz bekommen ebenfalls eine Sprache, oft mit einem selbstsicheren Wert. Und die Entscheidung fällt aus dem Anfang, dem schlechtesten Ausschnitt, den man wählen könnte. Viele Aufnahmen beginnen mit Begrüßungen, Namen und Ortsnamen, die kaum Hinweise auf die Sprache enthalten: „Guten Morgen, Maria, willkommen in Berlin“ klingt fast genauso englisch wie deutsch. Andere beginnen mit Stille oder einem Husten, und ein Detektor, der darüber entscheiden soll, entscheidet trotzdem, und zwar selbstsicher, auf Grundlage von nichts. Das passiert auch mit echtem Audio: Eine rumänische Predigt, die mit Raumgeräuschen und „Bună dimineața“ beginnt, kann mit voller Gewissheit als italienisches „Buona domenica“ gehört werden.
Auch die Folgen einer falschen Antwort sind schlimmer, als sie klingen. Ein Erkenner, der in der falschen Sprache dekodiert, verschreibt nicht einfach, sondern formuliert um. „Gott hat die Welt so sehr geliebt“, als Rumänisch dekodiert, wurde zu „Hat die Welt zu lieben vergessen“. Das rumänische „mândria slujește“, als Englisch dekodiert, wurde zu „Stolz dient“, einer korrekten Übersetzung eines Satzes, den niemand übersetzt haben wollte. Die Wörter sind flüssig, und das Transkript zeigt nicht, dass etwas nicht stimmt – genau das macht den Fehler so teuer.
Fünf Dinge täuschen Detektoren am häufigsten:
Welcher dieser Punkte Sie trifft, hängt davon ab, ob das Audio live eintrifft oder bereits als Datei vorliegt.
Bei einer Live-Transkription gibt es keine ganze Aufnahme, die man betrachten könnte. Das Audio kommt so an, wie es gesprochen wird, und das Transkript muss mit ihm mitkommen. Die Sprache wird daher während des Sprechens erkannt und, falls der Sprecher wechselt, mitverfolgt. Genau das bedeutet der Hinweis unter dem Schalter Spoken language, wenn Sie im Dashboard eine Live-Transkription starten: Die Sprache des Sprechers wird automatisch erkannt, und er darf jederzeit wechseln.
Ein Wechsel wird bestätigt, bevor er übernommen wird, damit ein einzelner verrauschter Abschnitt das Transkript nicht in eine andere Sprache zieht. Die Schwachstelle ist der Anfang: Wenn die ersten Wörter eine verrauschte Begrüßung sind, kann die erste Zeile in der falschen Sprache erscheinen. Die Sprache vorzugeben verhindert das.
Bei Dateien ist es anders, weil die ganze Aufnahme bereits vorliegt.
Eine Datei ist das einfachere Problem: Man muss den ersten Sekunden nicht vertrauen. Bei einer Datei wird die Sprache anhand der gesamten Aufnahme bestimmt, sodass eine verrauschte Begrüßung am Anfang sie nicht festlegen kann.
Die Sprache einer Datei ist dennoch eine Arbeitsannahme und kein endgültiges Urteil. Eine Aufnahme, die tatsächlich irgendwo die Sprache wechselt, etwa ein Interview, das in der zweiten Hälfte vom Englischen ins Rumänische übergeht, wird mitverfolgt statt erzwungen, und eine, die durchgehend zwischen Sprachen wechselt, wird ebenfalls verarbeitet.
Ein Detektor, der einmal entscheidet und nie zurückblickt, ist an der falschen Stelle selbstsicher.
Wenn die gesamte Aufnahme verrauscht ist, hilft kein Detektor viel. Die Erkennung ist der Standard, weil sie meistens richtig liegt und Sie nichts kostet. Bei manchen Aufnahmen sollten Sie die Sprache aber angeben, und das Dashboard sagt, welche das sind: Die Angabe der gesprochenen Sprache verbessert die Genauigkeit bei verrauschten Aufnahmen und bei starkem Akzent.
Genau in diesen Fällen hat der Detektor am wenigsten Material. Rauschen entfernt die Hinweise, auf die er sich stützt; ein starker Akzent verschiebt sie in Richtung einer anderen Sprache; ein eng verwandtes Sprachpaar bietet von vornherein wenige Hinweise. Ein englischer Sprecher mit starkem portugiesischem Akzent in einer halligen Halle lässt sich allein am Klang schwer einordnen, und wenn der Detektor ihn falsch einordnet, wird gesprochenes Englisch so lange als Portugiesisch niedergeschrieben, wie der Fehler andauert. Die Angabe der Sprache beseitigt die Frage, sodass der ganze Aufwand den Worten gilt.
Eine kurze Checkliste:
Die Angabe der Sprache ist eine Einstellung der Transkription, nicht Ihres Kontos, sodass Sie das pro Aufnahme entscheiden können. Alles oben Genannte läuft auf eine einzige API-Option hinaus.
spokenLanguage, wird erkannt; session.update während des StreamsIn der API ist spokenLanguage ein Sprachcode wie en; lassen Sie es weg, wird die Sprache erkannt. Es erscheint in den settings einer Datei- oder Link-Transkription und in den Optionen einer Echtzeit-Sitzung. Erkennung und Angabe decken dieselben 100 Sprachen ab. Die Übersetzung in bis zu 10 davon ist eine eigene Wahl und hängt nicht davon ab, welche Sprache erkannt oder angegeben wurde. Wie die Übersetzung mit dem Sprechtempo Schritt hält, ist Thema von Live-Übersetzung: Latenz erklärt.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Eine Echtzeit-Sitzung nimmt dieselbe Option beim Erstellen entgegen, und Sie können sie ändern, während Audio fließt. Ein session.update-Textframe mit einem neuen spokenLanguage gilt ab dann für die Sprache; setzen Sie ihn auf "" oder "auto", kehrt die Sitzung zur Erkennung zurück, und ein nicht unterstützter Code wird ignoriert. Eine Untertitelansicht mit Sprachschaltfläche kann es dem Bediener erlauben, die Sprache in dem Moment anzugeben, in dem er eine falsche erste Zeile sieht, ohne die Verbindung neu aufzubauen.
{ "type": "session.update", "spokenLanguage": "ro" }
Die Liste der Codes mit ihren Namen finden Sie unter GET /v1/languages, der keinen Schlüssel benötigt. Der vollständige Echtzeit-Ablauf, vom Erstellen einer Sitzung auf Ihrem Server bis zum Lesen von Entwürfen und festgeschriebenen Abschnitten, steht in Echtzeit-Transkription über eine WebSocket-Verbindung, und die interaktive Referenz befindet sich unter {{api}}/docs. Im Dashboard ist dieselbe Wahl der Schalter Spoken language, wenn Sie eine neue Transkription starten, und die Schlüssel für die API finden Sie unter Developers.