Conversion de la parole en texte: Comment créer une application de dictée simple

Auteur: Lewis Jackson
Date De Création: 13 Peut 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
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

Contenu


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 resultat = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // met à jour notre TextView // textOutput.setText (result.get (0)); } Pause; }}}}

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 resultat = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } Pause; }}}}

Vous pouvez télécharger le projet terminé à partir de GitHub.

Tester votre projet

Pour tester votre application:

  • Installez votre projet sur un périphérique Android physique ou un périphérique virtuel Android (AVD). Si vous utilisez un DAV, votre ordinateur de développement doit posséder un microphone intégré ou vous pouvez utiliser un microphone externe ou un casque.
  • Appuyez sur le bouton "Démarrer la dictée" de l'application.
  • Lorsque la boîte de dialogue du microphone apparaît, parlez dans votre appareil. Après quelques instants, vos mots devraient apparaître à l'écran.

Emballer

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 ARCore

De plu en plu d'entreprie et de ervice e tournent ver le cloud computing, rendant le upport phyique et le upport de tockage obolète. i vou ouhaitez vou lancer dan l’informatique, vou devez co...

Microoft Authenticator et une application de écurité pour l'authentification à deux facteur. Il et directement en concurrence avec Google Authenticator, Authy, LatPa Authenticator ...

Populaire