Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

.NET/VB: Texte vorlesen lassen

Manchmal ist es sinnvoll, einen Text nicht nur anzuzeigen, sondern ihn vom Computer vorlesen zu lassen. Beispielsweise, wenn man für eine Kinder-App einem vor sich hin dösenden Bären lustige Sprüche ins Maul legen will.
Zugegeben, die in Windows vorinstallierten Stimmen sind nicht gerade berauschende Erzähler, aber man kann die Text-to-Speach-Engines in jedem seiner Programme einsetzen. Das .NET Framework stellt dafür im Namensraum SpeechSynthesizer geeignete Klassen und Methoden zur Verfügung. Beispielsweise liefert die Methode SpeechSynthesizer.GetInstalledVoices() die verfügbaren Stimmen. Auf meinem Windows-10-Rechner sind das Hedda (deutsch) und Zira (englisch). Der Test auf die vorinstallierten Voices klappt so:
Private Sub MainWindow_Loaded(...) Handles Me.Loaded 
...
  Try
    synthesizer = New SpeechSynthesizer()
    Dim Stimmen As String = ""
    For Each Voice In synthesizer.GetInstalledVoices()
      Stimmen += Voice.VoiceInfo.Name + " | " +
                 Voice.VoiceInfo.Culture.ToString + vbCrLf
    Next
    MsgBox(Stimmen)

  Catch ex As Exception
  End Try
...
End Sub
 
Meine Windows-10-Anwendung ist ein Bild von einem Bären, dem Kids Fragen stellen können. Die Antworten darauf werden aus rund 150 Vorgaben per Zufall ausgewählt. Fast immer kommt etwas lustiges dabei heraus. Dass der Bär per Computerstimme antwortet, klappt mit Speak(text):
Private Sub Speak(ByVal text As String)
  synthesizer.SelectVoice("Microsoft Hedda Desktop")
  'synthesizer.SelectVoice("Microsoft Zira Desktop") spricht englisch

  synthesizer.Volume = 80
  synthesizer.Rate = 1synthesizer.SpeakAsync(text)
End Sub
 
Extra-Tipp: In der Registry gibt es oft noch weitere Text-to-Speach-Engines (bei mir: Katja und Stefan) die aber nicht gentutzt werden können. Diese Anleitung zeigt, wie man sie dennoch nutzen kann.
Miscellaneous

Neueste Beiträge

Tests gezielt verteilen - Schnellere .NET-CI-Pipelines mit Test Sharding, Teil 1
Lange Testsuiten verzögern das Feedback im Pull Request. Meziantou.ShardedTest verteilt die Testfälle auf mehrere CI-Jobs und verspricht dadurch mehr Geschwindigkeit. Dieser Einstieg zeigt, wie die Aufteilung funktioniert und welche Voraussetzungen nötig sind.
6 Minuten
Outlook und Mailintegration mit Microsoft Graph - Connected Apps mit .NET, Teil 2
Eine .NET-App meldet Benutzer an, liest Outlook-Nachrichten aus dem Posteingang und bereitet E-Mails für Anzeige und weitere Verarbeitung auf.
8 Minuten
Warum Deine KI-Rechnung mit der Architektur wächst - Interview
KI soll Kosten senken. In der Praxis erleben viele Unternehmen beim Skalieren eine böse Überraschung, erklärte Dimitri Blatner von ITech Progress auf der Open Stage der DWX 2026. Developer World wollte von ihm wissen, wo Sprachmodelle Geld verbrennen und wie Du mit bewusster Architektur gegensteuerst.
30. Sep 2026

Das könnte Dich auch interessieren

Frühjahrsputz für .NET - Alte .NET-Versionen entfernen
Immer mehr .NET-Versionen sammeln sich auf der Festplatte an. Höchste Zeit, wieder Platz zu schaffen.
14 Minuten
Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige