Framework .NET / C# – La synthèse vocale
La synthèse vocale est une voix artificielle obtenue grâce à un logiciel qui transforme un texte en sons audibles et compréhensibles. Le Framework .NET propose un assembly nommé System.Speech permettant de réaliser des synthèses vocales, dans les applications développées avec le Framework .NET. Ainsi une application peut afficher et lire des messages.
La procédure de mise en œuvre est très simple :
- Ajouter une référence vers l’assembly System.Speech.dll du Framework .NET
- Instancier la classe System.Speech.Synthesis.SpeechSynthesizer
- Appeler sur cette instance la méthode Speak en passant en paramètre le texte à énoncer
Dans l’exemple ci-dessous, si l’utilisateur valide sans avoir saisi de texte, alors le message « Veuillez saisir un message » est énoncé. Si du texte est saisi, alors ce texte est énoncé :
[cc lang= »C# »]
class Program
{
static void Main(string[] args)
{
// Variables locales.
string messageAnnonce, saisieText;
SpeechSynthesizer speechSynthesizer;
try
{
do
{
// Initialisation.
Console.Clear();
messageAnnonce = « Veuillez saisir un message »;
speechSynthesizer = new SpeechSynthesizer();
// IHM.
Console.Write($ »{messageAnnonce} : « );
saisieText = Console.ReadLine();
if (saisieText == string.Empty)
{
// Lecture du message d’annonce.
speechSynthesizer.Speak(messageAnnonce);
}
}
while (saisieText == string.Empty);
// Lecture du texte saisi.
speechSynthesizer.Speak(saisieText);
}
catch (Exception ex)
{
Console.WriteLine($ »Erreur : {ex.Message} »);
}
finally
{
Console.Write($ »{Environment.NewLine}Veuillez appuyer sur [Entrée] pour fermer la fenêtre … »);
Console.ReadKey();
}
}
}
[/cc]