![Conversion de la parole en texte: Comment créer une application de dictée simple - Applications Conversion de la parole en texte: Comment créer une application de dictée simple - Applications](https://a.23rdpta.org/apps/converting-speech-to-text-how-to-create-a-simple-dictation-app-3.png)
Contenu
- Construire une interface utilisateur Speech-to-Text
- Ajout de la reconnaissance vocale à votre application Android
- 1. Démarrer RecognizerIntent
- 2. Réception de la réponse vocale
- Tester votre projet
- Emballer
De nombreuses applications, services et gadgets domestiques utilisent la reconnaissance vocale pour offrir une meilleure expérience utilisateur et améliorer l'accessibilité. Il existe d'innombrables applications Android qui utilisent la reconnaissance vocale - la plus remarquable d'entre elles étant Google Assistant - alors pourquoi ne pas en faire autant et ajouter cette fonctionnalité à vos propres applications Android?
Dans cet article, je vais partager un moyen simple et rapide de commencer à utiliser l’intention parole-texte d’Android, qui peut être utile dans de nombreuses applications. Par exemple, vous pouvez utiliser la reconnaissance vocale pour automatiser la saisie manuelle fastidieuse des données, générer automatiquement des sous-titres ou même comme base pour une application de traduction qui «écoute» la saisie vocale, la convertit en texte, puis traduit ce texte et affiche les résultats. l'utilisateur.
Quel que soit le type d'application que vous créez, la reconnaissance vocale peut améliorer l'accessibilité en offrant aux utilisateurs un moyen alternatif d'interagir avec votre application. Par exemple, les personnes ayant des problèmes de mobilité, de dextérité ou de vision peuvent trouver plus facile de naviguer dans les applications mobiles à l'aide de commandes vocales plutôt que de l'écran tactile ou du clavier. De plus, selon l’Organisation mondiale de la santé (OMS), plus d’un milliard de personnes souffrent d’une forme de handicap, ce qui représente environ 15% de la population mondiale. L'ajout de fonctionnalités d'accessibilité à vos applications peut augmenter considérablement votre audience potentielle.
À la fin de cet article, vous aurez créé une application Speech-to-Text simple qui enregistre votre voix, la convertit en texte, puis l'affiche à l'écran.
Construire une interface utilisateur Speech-to-Text
Pour commencer, créez un nouveau projet Android à l'aide du modèle «Activité vide».
Nous allons créer une application simple comprenant un bouton qui, une fois tapé, déclenche l’intention parole-texte d’Android et affiche une boîte de dialogue indiquant que votre application est prête à accepter la saisie vocale. Une fois que l'utilisateur a fini de parler, son entrée est convertie en texte, puis affichée dans le cadre d'un TextView.
Commençons par créer notre mise en page:
Cela nous donne la disposition suivante:
Ajout de la reconnaissance vocale à votre application Android
Nous capturons et traitons les entrées vocales en deux étapes:
1. Démarrer RecognizerIntent
La méthode la plus simple pour effectuer la conversion parole-à-texte consiste à utiliser RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Cette intention invite l'utilisateur à entrer des voix en lançant la boîte de dialogue du microphone familier d'Android.
Une fois que l'utilisateur a cessé de parler, la boîte de dialogue se ferme automatiquement et ACTION_RECOGNIZE_SPEECH envoie le son enregistré via un dispositif de reconnaissance vocale.
Nous commençons RecognizerIntent.ACTION_RECOGNIZE_SPEECH en utilisant startActivityForResult () avec des extras fournis. Notez que sauf indication contraire, le module de reconnaissance utilisera les paramètres régionaux par défaut du périphérique.
public void onClick (View v) {// Déclenche l'intention de RecognizerIntent // Intent Intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}
2. Réception de la réponse vocale
Une fois l'opération de reconnaissance vocale terminée, ACTION_RECOGNIZE_SPEECH renvoie les résultats à l'activité appelante sous la forme d'un tableau de chaînes.
Comme nous avons déclenché RecognizerIntent via startActivityForResult (), nous gérons les données de résultat en remplaçant onActivityResult (int requestCode, int resultCode, intent data) dans l'activité qui a initié l'appel de reconnaissance vocale.
Les résultats sont renvoyés par ordre décroissant de confiance du système de reconnaissance vocale. Donc, pour être sûr d’afficher le texte le plus précis possible, nous devons prendre la position zéro à partir de la liste ArrayList renvoyée, puis l’afficher dans notre TextView.
@Override // Définit une méthode OnActivityResult dans notre appelant d'intention Activité // Void protégé onActivityResult (int requestCode, int resultCode, intentent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Si RESULT_OK est renvoyé ... // if (resultCode == RESULT_OK && null! = data) {//... récupère ensuite ArrayList // ArrayList Notez que la synthèse vocale ne nécessite pas de connexion Internet active. Par conséquent, il fonctionnera correctement même lorsque l'utilisateur est hors ligne. Après avoir terminé toutes les étapes ci-dessus, votre MainActivity devrait ressembler à ceci: importer android.content.ActivityNotFoundException; importer androidx.appcompat.app.AppCompatActivity; importer android.os.Bundle; importer android.content.Intent; import android.speech.RecognizerIntent; importer android.widget.TextView; importer android.view.View; importer java.util.ArrayList; Classe publique MainActivity étend AppCompatActivity {final statique privé int REQUEST_CODE = 100; private TextView textOutput; @Override protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Cette méthode est appelée lorsque le bouton est enfoncé // annulation publique onClick (Afficher v) // Création d'une intention avec «RecognizerIntent.ACTION_RECOGNIZE_SPEECH» action // {Intention d'intention = nouvelle intention (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {// Commencez l'activité et attendez la réponse // startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Traitement des résultats // Void protégé onActivityResult (int requestCode, int resultCode, intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = data) {ArrayList Vous pouvez télécharger le projet terminé à partir de GitHub. Pour tester votre application: Dans cet article, nous avons vu comment vous pouvez ajouter rapidement et facilement une reconnaissance vocale à vos applications Android, à l'aide de l'intention Speech-to-Text. Avez-vous rencontré des applications Android utilisant la reconnaissance vocale de manière surprenante ou innovante? Prochain: Construisez une application Android de réalité augmentée avec Google ARCoreTester votre projet
Emballer