Zum Inhalt springen
Yappy Herunterladen
Sprache: de

Der Teil, den niemand sonst zeigt

Vom Geschriebenen zum Gesagten.

Vorlesen ist kein Buchstabieren, sondern Interpretation. „1492“ sagt man „vierzehnhundertzweiundneunzig“; „Heinrich VIII.“ sagt man „Heinrich der Achte“, aber „Louis XIV“ sagt man auf Französisch „Louis quatorze“; „EL CID“ ist keine römische Zahl; FBI buchstabiert man, NASA nicht. Bevor Yappy eine einzige Silbe synthetisiert, verwandelt es den Text in ein Vorlese-Skript: die Partitur dessen, was die Stimme wirklich sagen wird.

Der Skriptschreiber

Probiere es gleich hier aus: Das ist dasselbe Rust wie in der App, kompiliert für deinen Browser.

Hier erscheint das Skript, die umgewandelten Stellen sind unterstrichen.

Zwölf Berufe auf einen Streich.

Datumsangaben

„24.5.1533“ wird komplett vorgelesen – in der Reihenfolge und mit dem Geschlecht, das die jeweilige Sprache verlangt.

Uhrzeiten

„14:05“ wird gesagt wie von einem Menschen – nicht vorgelesen wie von einer Uhr.

Geldbeträge

„3,50 €“ wird zu „drei Euro fünfzig“ – mit dem passenden Plural.

Prozentsätze

„7 %“ spricht man „sieben Prozent“, und „0,5 %“ nicht „null Komma fünf“.

Einheiten

„230 °C“ spricht man „zweihundertdreißig Grad Celsius“.

Ordnungszahlen

„3.“ spricht man „dritte“ – mit Genus und Deklination, wo es sie gibt.

Römische Zahlen mit Urteilsvermögen

„Kapitel XVI“ liest man „sechzehn“, „Ludwig XIV.“ liest man „der Vierzehnte“, und „EL CID“ ist keine Zahl.

Akronyme nach Fonotaktik

Die CIA buchstabiert man, die NATO liest man. Die Regel gibt der Klang vor, nicht eine Liste.

Abkürzungen

„usw.“, „S.“, „19. Jh.“: jede Sprache hat ihre eigene Tabelle.

Große Zahlen

Mit den RBNF-Grammatiken von Unicode CLDR, Genus und Deklination inbegriffen.

31 Sprachen

Dieselben Regeln, mit der Grammatik jeder Sprache. Ohne handgeschriebene Listen.

Der Rhythmus

Titel atmen nach dem Aussprechen; Listen schlagen den Takt. Die Pausen gehören zum Skript, nicht zum Zufall.

Häufige Fragen

Was sind RBNF-Grammatiken?
RBNF steht für Rule-Based Number Format: die Regeln, mit denen Unicode CLDR beschreibt, wie eine Zahl in jeder Sprache ausgesprochen wird. Keine Tabelle mit tausend Wörtern, sondern eine Grammatik: Deshalb weiß sie, dass es auf Spanisch „doscientas páginas“ heißt und nicht „doscientos páginas“, dass das Russische Zahlwörter dekliniert und dass das Französische bis neunzig in Zwanzigern zählt. Yappy interpretiert sie in purem Rust, ohne handgeschriebene Listen.
Warum braucht es einen Skriptgenerator? Macht das nicht die Stimme allein?
Nein – und das ist Absicht. Yappys Sprachmodell arbeitet auf Zeichenebene: Es spricht exakt das aus, was ihm schriftlich vorgelegt wird. Das macht es schnell und leicht – heißt aber auch: Kommt „1492“ an, versucht es, genau das auszusprechen, Buchstabe für Buchstabe. In so einem Modell ist die Normalisierung die Aussprache. Der Skriptgenerator ist das Bauteil, das jede Zahl, jede Abkürzung und jedes Symbol in die Wörter verwandelt, die ein Mensch sagen würde.
In wie vielen Sprachen funktioniert das?
In den 31, die die Stimme spricht – jede mit eigenen Regeln: wie Datumsangaben geordnet sind, wie Währungen verbunden werden, die Ordinalzahlen, die Abkürzungen und die römischen Zahlen. Ein „15. Jahrhundert“ heißt auf Spanisch „siglo quince“ und auf Englisch „fifteenth century“; „Louis XIV“ heißt „Louis quatorze“ und nicht „Louis fourteenth“. Dieselben zwölf Aufgaben, einunddreißig Grammatiken.
Warum trifft das Karaoke immer das exakte Wort?
Denn das Skript ist nicht nur der umgewandelte Text: Es speichert die Zuordnung zwischen Geschriebenem und Gesprochenem. Wenn die Stimme „eintausendvierhundert­zweiundneunzig“ sagt, weiß das Skript, dass dieses Wort aus den vier Ziffern von „1492“ stammt, und die Unterstreichung sitzt exakt darüber, ohne zu verrutschen. Das ist der Unterschied zwischen den Text beleuchten und ihn erraten.
Ein Wort wird falsch ausgesprochen. Kann ich das korrigieren?
Ein eigenes Aussprachewörterbuch gibt es Stand heute nicht. Da das Modell Zeichen liest, ist der schnelle Weg: das Wort im Editor so schreiben, wie es klingt, und neu anhören. Und wenn ein allgemeines Muster danebengeht (eine Abkürzung, ein Akronym, eine Einheit), melde es unter den GitHub-Issues: Die Tabellen des Skriptgenerators wachsen mit solchen Fällen.
Ist der Skriptgenerator auf dieser Seite derselbe wie der in der App?
Derselbe Code, kompiliert zu WebAssembly, damit er in deinem Browser läuft. Was du hier schreibst, verlässt deinen Tab nicht. Und weil das ganze Projekt offen ist, kannst du die Regeln einzeln in dem Repository nachlesen.

Das Skript ist die halbe Geschichte; die andere Hälfte hört man.

Hörprobe anhören