Sprachausgabe mit C#
In diesem Beitrag möchte ich kompakt aufzeigen, wie sich mit C# programmatisch eine Sprachausgabe umsetzen lässt. Die programmatische Erkennung von Spracheingabe werde ich in einem separaten Beitrag behandeln.
Die technische Basis dieses Beitrages ist die
Die technische Basis dieses Beitrages ist die
SpeechSynthesizer
-Klasse. Zuerst kann man sich einen Überblick der installierten Stimmen verschaffen und ggf. geeignete(re) auswählen:
Sprachen auflisten und auswählen
Die eigentliche Sprachausgabe gestaltet sich sehr einfach:
010203040506070809101112
using(SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer()) { // Stimmen auflisten foreach(InstalledVoice installedVoide in speechSynthesizer.GetInstalledVoices()) { Console.WriteLine($"{installedVoide.VoiceInfo.Name}: {installedVoide.VoiceInfo.Description}"); }
// Stimme per Bezeichnung auswählen speechSynthesizer.SelectVoice("…");
// Stimme über Eigenschaften auswählen speechSynthesizer.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);}
Sprache ausgeben (oder speichern)
Darüber hinaus besteht mit der 01020304050607
using(SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer()) { // Ausgabe in WAV-Datei speechSynthesizer.SetOutputToWaveFile("helloWorld.wav");
// Text sprechen (bzw. speichern, sofern Ausgabe in Datei gewählt) speechSynthesizer.Speak("Ich begrüße alle Leser zu diesem neuen Beitrag.");}
SpeakSsml(…)
-Methode auch die Möglichkeit der Ausgabe SSML-formatierten Textes, worüber beispielsweise die besondere Betonung einzelner Wörter ermöglicht wird.
Projektverweise
-
BitStadt – Stadtportal
Berlin · Hamburg · Amsterdam
Kategorien / Archiv | Übersicht
- Allgemeines (20)
- Gesellschaft (4)
- Projekte (10)
- Softwareentwicklung (87)
- Technik (10)
- Theorie (9)
- PHP-Funktionen in C# (136)
- Wörterbuch (257)
Schlagworte
.NET · ADO.NET · Arbeit · ASP.NET MVC · Blog · C# · Generika · Gesellschaft · Informatik · Java · LINQ · Logik · Mathematik · Netzwerk · PHP · Projekt · Sicherheit · Softwareentwicklung · Studium · Technik · Theorie · Webdesign · WPF