Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Reconnaissance Vocale dans MAUI avec le Community Toolkit

La reconnaissance vocale est devenue un élément essentiel dans le développement d'applications modernes, offrant une interface utilisateur plus interactive et engageante. Dans ce contexte, le Community Toolkit de MAUI s'avère être un atout précieux.

Qu'est-ce que le Community Toolkit de MAUI ?

Le Community Toolkit de MAUI est une bibliothèque open-source qui sert de complément à MAUI. Il est conçu pour étendre les fonctionnalités de MAUI en fournissant une variété de composants et d'extensions. Le toolkit est en constante évolution, grâce à la contribution active de la communauté.

Fonctionnalité de Reconnaissance Vocale

L'une des fonctionnalités les plus remarquables du Community Toolkit de MAUI est la reconnaissance vocale, plus précisément la conversion de la parole en texte (Speech to Text). Cette fonctionnalité peut être exploitée de diverses manières, par exemple pour créer un assistant activé par la voix ou pour transcrire des enregistrements audio.

Exemple de code

Pour intégrer la reconnaissance vocale dans une application MAUI, voici un exemple de code en C# :

var isGranted = await SpeechToText.Default.RequestPermissions(cancellationToken);
if (!isGranted)
{
    await Toast.Make("Permission non accordée").Show(CancellationToken.None);
    return;
}
var recognitionResult = await SpeechToText.Default.ListenAsync(
    CultureInfo.GetCultureInfo("fr-FR"),
    new Progress<string>(partialText =>
    {
        RecognitionText += partialText + " ";
    }), cancellationToken);
if (recognitionResult.IsSuccessful)
{
    RecognitionText = recognitionResult.Text;
}
else
{
    await Toast.Make(recognitionResult.Exception?.Message ?? "Impossible de reconnaître la parole").Show(CancellationToken.None);
}

Ce code demande les permissions pour le microphone et la reconnaissance vocale, puis commence à écouter l'entrée vocale. Le texte reconnu est ensuite stocké dans la variable RecognitionText.

Gestion des Exceptions

Lorsque vous utilisez SpeechToText, il capture et traite toutes les exceptions tout en renvoyant le résultat de l'opération. Toutefois, si vous préférez gérer spécifiquement certaines exceptions, par exemple lorsque l'utilisateur annule l'opération, vous pouvez inclure votre code dans un bloc try/catch et utiliser la méthode EnsureSuccess.

Try
var isGranted = await SpeechToText.Default.RequestPermissions(cancellationToken);
if (!isGranted)
{
    await Toast.Make("Permission not granted").Show(CancellationToken.None);
    return;
}
var recognitionResult = await SpeechToText.Default.ListenAsync(
                                    CultureInfo.GetCultureInfo("uk-ua"),
                                    new Progress(), cancellationToken);
recognitionResult.EnsureSuccess();
await Toast.Make($"RecognizedText: {recognitionResult.Text}").Show(cancellationToken);
Catch(Exception ex) 
{
  // gérer l'exception ici
}

Points à Considérer

La reconnaissance vocale n'est pas magique et traîne son lot de problèmes pratiques que le Toolkit ne peut pas régler… Notamment :

  • Connexion Internet : La disponibilité d'une connexion Internet peut être nécessaire selon la langue de reconnaissance choisie.
  • Qualité du Microphone et Environnement : La précision de la reconnaissance vocale peut être affectée par la qualité du microphone et l'environnement sonore.
  • Formation du Reconnaisseur Vocal : Il est possible d'améliorer la précision en formant le reconnaisseur vocal avec votre propre voix.

Conclusion

La fonctionnalité de reconnaissance vocale offerte par le Community Toolkit de MAUI est un ajout puissant pour les développeurs MAUI. Elle permet de créer des applications plus précises, plus réactives et plus engageantes. Il faut néanmoins tempérer tout cela par l'aveu de l'existence de problèmes spécifiques à la capture de la voix tels que ceux évoqués plus haut, auxquels on peut ajouter le primordial respect de la vie privée. Difficile de parler à haute voix à son smartphone pour prendre des notes personnelles sur un quai de métro ou dans un bus par exemple. L'ajout de reconnaissance vocale dans vos Apps doit ainsi toujours être une option et non un passage obligé.

Il s'agit malgré tout d'une fonctionnalité qui mérite une attention particulière de la part des développeurs cherchant à améliorer l'interaction utilisateur dans leurs applications MAUI.

Faites-en bon usage et…

Stay Tuned !

Le Guide Complet de.NET MAUI ! Lien direct Amazon : https://amzn.eu/d/95wBULD

Près de 500 pages dédiées à l'univers .NET MAUI !

Existe aussi en version Kindle à prix réduit !

Faites des heureux, partagez l'article !
blog comments powered by Disqus