Fremdsprachige Zahlen üben mit ElevenLabs und Python
In seiner Broschüre What do you need to know to learn a foreign language? gibt Paul Nation einige Beispiele für Übungen beim Lernen von Fremdsprachen.
In der Übung “Repeated Listening” schlägt er vor, dass man jemanden eine Reihe von Zahlen einsprechen und aufnehmen lässt. Der Sprachschüler soll dann diese Aufnahme mit variierender Geschwindigkeit anhören und die gesprochenen Zahlen aus einer Liste von Zahlen korrekt anzeigen. Das funktioniert natürlich nicht nur für Zahlen, sondern alle möglichen anderen Bereiche (Uhrzeiten, Wochentage, Monate, Obstsorten, …). Der Trick an der Übung ist eigentlich nur, dass man sich die Reihenfolge nicht merken kann, sondern immer schnell auf das Gehörte reagieren muss. Bis sich die Bedeutung richtig gefestigt hat.
Nur braucht man für diese Übung einen Partner, der die Sprache ausreichend gut spricht. Oder aber man nutzt Text-to-Speech-Technologie, bei der es zuletzt wieder interessante Entwicklungen gab.
ElevenLabs ist eine Firma, die sich auf Text-to-Speech mit variablen Stimmen spezialisiert hat. Für unseren Anwendungsfall bietet das den Vorteil, dass wir mit vielen verschiedenen Stimmen üben können. Die öffentliche Testseite bietet aktuell 27 Stimmen zur Auswahl und mit einem Konto sind auch eigene Stimmen möglich. Mit einem Gratis-Konto kann man pro Monat bis zu 10.000 Zeichen in Audio umwandeln, das entspricht einigen Minuten. Die Preise bei ElevenLabs für mehr Text sind allerdings ziemlich hoch im Vergleich zu Wettbewerbern, die keine angepassten Stimmen bieten.
Mit einem winzigen Python-Skript kann man sich - sogar ohne Konto bei ElevenLabs - eine schöne kleine Übung bauen. Man generiert sich eine zufällige Liste von Zahlen, gibt diese in die Textmaske bei ElevenLabs ein und lässt sie sich vorsprechen. Der Download-Button scheint leider gerade defekt zu sein, man erhält immer nur eine leere Datei. Schade, man hätte super mehrfach mit denselben Dateien üben können (und ohne dass man vielleicht versehentlich einige der Zahlen schon vor Beginn der Übung liest). Die Erzeugung von Sprachausgaben ohne Konto ist nämlich auch nicht dauerhaft möglich. Nach einer Weile meldet ElevenLabs, dass man nun sein Gratisbudget aufgebraucht habe.
import random
numbers = [
'yksi',
'kaksi',
'kolme',
'neljä',
'viisi',
'kuusi',
'seitsemän',
'kahdeksan',
'yhdeksän',
'kymmenen',
]
chosen_numbers = [random.choice(numbers) for _ in range(10)]
print(f"Tässä numerot: {', '.join(chosen_numbers)}")
Daraus erhält man dann beispielsweise:
Tässä numerot: neljä, kymmenen, neljä, kaksi, kolme, kaksi, seitsemän, neljä, kahdeksan, kaksi
Diesen Text kann man bei ElevenLabs in gesprochene Sprache umwandeln lassen und dann versuchen, die Zahlen schnell genug zu erkennen. Da man in der Vorschau ohne Konto die Geschwindigkeit nicht variieren kann und ich noch nicht schnell genug bin, habe ich die Ausgabe nach jeder Zahl kurz pausiert.
I do not maintain a comments section. If you have any questions or comments regarding my posts, please do not hesitate to send me an e-mail to blog@stefan-koch.name.