9. Utilisation des commandes vocales9. Using speech commands

Dans ce tutoriel, vous allez apprendre à créer des commandes vocales et à les contrôler globalement.In this tutorial, you will learn how to create speech commands and how to control them globally. Vous allez également apprendre à contrôler les commandes vocales locales qui demandent à l’utilisateur de regarder l’objet qui contrôle la commande vocale.You will also learn how to control local speech commands that require the user to look at the object that controls the speech command.

ObjectifsObjectives

  • Apprendre à créer des commandes vocalesLearn how to create speech commands
  • Apprendre à contrôler les commandes vocales globalement et localementLearn how to control speech commands globally and locally

Vérification de l’activation de la fonctionnalité MicrophoneEnsuring the Microphone capability is enabled

Dans le menu Unity, sélectionnez Mixed Reality Toolkit > Utilities > Configure Unity Project pour ouvrir la fenêtre MRTK Project Configurator puis, dans la section UWP Capabilities, vérifiez que l’option Enable Microphone Capability est grisée :In the Unity menu, select Mixed Reality Toolkit > Utilities > Configure Unity Project to open the MRTK Project Configurator window, then in the UWP Capabilities section, verify that Enable Microphone Capability is greyed out:

Activer la fonctionnalité du microphone

Notes

La fonctionnalité Microphone doit avoir été activée lors des instructions Appliquer les paramètres de MRTK Project Configurator lorsque vous avez configuré le projet Unity au début de cette série de tutoriels.The Microphone capability should have been enabled during the Apply the MRTK Project Configurator settings instructions when you configured the Unity project at the beginning of this tutorial series. Toutefois, si elle n’est pas activée, veillez à l’activer maintenant.However, if it is not enabled, make sure you enable it now.

Création de commandes vocalesCreating speech commands

Dans la fenêtre de hiérarchie, sélectionnez l’objet MixedRealityToolkit puis, dans la fenêtre de l’inspecteur, sélectionnez l’onglet MixedRealityToolkit > Input et effectuez les étapes suivantes :In the Hierarchy window, select the MixedRealityToolkit object, then in the Inspector window, select the MixedRealityToolkit > Input tab and take the following steps:

  • Développez la section Speech.Expand the Speech section
  • Clonez le DefaultMixedRealitySpeechCommandsProfile et donnez-lui un nom approprié, par exemple GettingStarted_MixedRealitySpeechCommandsProfile.Clone the DefaultMixedRealitySpeechCommandsProfile and give it a suitable name, for example, GettingStarted_MixedRealitySpeechCommandsProfile
  • Vérifiez que Start Behaviour (Comportement de démarrage) est défini sur Auto Start (Démarrage automatique).Verify that Start Behaviour is set to Auto Start

Création de commandes vocales

Conseil

Pour vous rappeler comment cloner des profils MRTK, vous pouvez consulter les instructions fournies dans Configuration des profils MRTK.For a reminder on how to clone MRTK profiles, you can refer to the Configuring the MRTK profiles instructions.

Dans la section Speech > Speech Commands, cliquez à quatre reprises sur le bouton + Add a New Speech Command (Ajouter une commande vocale) pour ajouter quatre nouvelles commandes vocales à la liste des commandes vocales existantes puis, dans le champ Keyword (Mot clé), entrez les expressions suivantes :In the Speech > Speech Commands section, click the + Add a New Speech Command button four times to add four new speech commands to the list of the existing speech commands, then in the Keyword fields enter the following phrases:

  • Activer l’indicateurEnable Indicator
  • Activer l’appui pour placementEnable Tap to Place
  • Activer le cadre englobantEnable Bounding Box
  • Désactiver le cadre englobantDisable Bounding Box

Ajout de nouvelles commandes vocales

Conseil

Si votre ordinateur ne dispose pas d’un microphone, vous pouvez affecter un code-clé aux commandes vocales, ce qui vous permettra de les déclencher lorsque vous appuierez sur la touche correspondante.If your computer does not have a microphone you can assign a KeyCode to the speech commands, which will let you trigger them when the corresponding key is pressed.

Contrôle des commandes vocalesControlling speech commands

Dans la Project projet, accédez au dossier Assets > MRTK > SDK > Features > UX > Prefabs > ToolTip pour localiser les préfabriqués d’info-bulle :In the Project window, navigate to the Assets > MRTK > SDK > Features > UX > Prefabs > ToolTip folder to locate the tooltip prefabs:

Ouverture du dossier d’info-bulles

Dans la fenêtre de hiérarchie, cliquez avec le bouton droit sur une zone vide et sélectionnez Create Empty pour ajouter un objet vide à votre scène.In the Hierarchy window, right-click on an empty spot and select Create Empty to add an empty object to your scene.

Nommez l’objet SpeechInputHandler_Global puis, dans la fenêtre de l’inspecteur, utilisez le bouton Add Component pour ajouter le composant SpeechInputHandler et configurez-le comme suit :Name the object SpeechInputHandler_Global, then in the Inspector window, use the Add Component button to add the SpeechInputHandler component and configure it as follows:

  • Décochez la case Is Focus Required afin que l’utilisateur ne soit pas obligé de regarder l’objet avec le composant SpeechInputHandler pour déclencher la commande vocale.Uncheck the Is Focus Required checkbox, so the user is not required to look at the object with the SpeechInputHandler component to trigger the speech command
  • À partir de la fenêtre Project, affectez le préfabriqué SpeechConfirmation Tooltip au champ Speech Confirmation Tooltip Prefab (Préfabriqué d’info-bulle de confirmation vocale) afin que ce préfabriqué s’affiche quand une commande vocale est reconnue.From the Project window, assign the SpeechConfirmation Tooltip prefab to the Speech Confirmation Tooltip Prefab field, to have this prefab appear when a speech command is recognized

Configuration du composant gestionnaire d’entrée vocale

Sur le composant SpeechInputHandler, cliquez trois fois sur la petite icône + pour ajouter trois éléments de mot clé :On the SpeechInputHandler component, click the small + icon three times to add three keyword elements:

Ajout d’éléments de mot clé au gestionnaire d’entrée vocal

Développez Element 0 et configurez-le comme suit :Expand Element 0 and configure it as follows:

  • Dans le champ Keyword, entrez Activer l’indicateur afin de référencer la commande vocale Activer l’indicateur que vous avez créée dans la section précédente.In the Keyword field, enter Enable Indicator, to reference the Enable Indicator speech command you created in the previous section
  • Cliquez sur la petite icône + pour ajouter un événement.Click the small + icon to add an event
  • Dans la fenêtre de hiérarchie, affectez l’objet Indicator au champ None (Object) .From the Hierarchy window, assign the Indicator object to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez GameObject > SetActive (bool) pour définir cette fonction en tant qu’action à exécuter lorsque l’événement est déclenché.From the No Function dropdown, select GameObject > SetActive (bool) to set this function as the action to be executed when the event is triggered
  • Cochez la case de l’argument.Check the argument checkbox, so it is checked

Configurer l’élément de mot clé 0

Développez Element 1 et configurez-le comme suit :Expand Element 1 and configure it as follows:

  • Dans le champ Keyword, entrez Activer le cadre englobant afin de référencer la commande vocale Activer le cadre englobant que vous avez créée dans la section précédente.In the Keyword field, enter Enable Bounding Box, to reference the Enable Bounding Box command you created in the previous section
  • Cliquez sur la petite icône + pour ajouter un événement.Click the small + icon to add an event
  • Dans la fenêtre de hiérarchie, affectez l’objet RoverExplorer au champ None (Object) .From the Hierarchy window, assign the RoverExplorer object to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez BoundingBox > bool enabled pour mettre à jour cette valeur de propriété lorsque l’événement est déclenché.From the No Function dropdown, select BoundingBox > bool enabled to update this property value when the event is triggered
  • Cochez la case de l’argument.Check the argument checkbox, so it is checked
  • Cliquez sur la petite icône + pour ajouter un autre événement.Click the small + icon to add another event
  • Dans la fenêtre de hiérarchie, affectez l’objet RoverExplorer au champ None (Object) .From the Hierarchy window, assign the RoverExplorer object to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez ObjectManipulator > bool enabled pour mettre à jour cette valeur de propriété lorsque l’événement est déclenché.From the No Function dropdown, select ObjectManipulator > bool enabled to update this property value when the event is triggered
  • Cochez la case de l’argument.Check the argument checkbox, so it is checked

Configurer l’élément de mot clé 1

Développez Element 2 et configurez-le comme suit :Expand Element 2 and configure it as follows:

  • Dans le champ Keyword, entrez Désactiver le cadre englobant afin de référencer la commande vocale Désactiver le cadre englobant que vous avez créée dans la section précédente.In the Keyword field, enter Disable Bounding Box, to reference the Disable Bounding Box command you created in the previous section
  • Cliquez sur la petite icône + pour ajouter un événement.Click the small + icon to add an event
  • Dans la fenêtre de hiérarchie, affectez l’objet RoverExplorer au champ None (Object) .From the Hierarchy window, assign the RoverExplorer object to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez BoundingBox > bool enabled pour mettre à jour cette valeur de propriété lorsque l’événement est déclenché.From the No Function dropdown, select BoundingBox > bool enabled to update this property value when the event is triggered
  • Vérifiez que la case de l’argument est décochée.Verify that the argument checkbox is unchecked
  • Cliquez sur la petite icône + pour ajouter un autre événement.Click the small + icon to add another event
  • Dans la fenêtre de hiérarchie, affectez l’objet RoverExplorer au champ None (Object) .From the Hierarchy window, assign the RoverExplorer object to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez ObjectManipulator > bool enabled pour mettre à jour cette valeur de propriété lorsque l’événement est déclenché.From the No Function dropdown, select ObjectManipulator > bool enabled to update this property value when the event is triggered
  • Vérifiez que la case de l’argument est décochée.Verify that the argument checkbox is unchecked

Configurer l’élément de mot clé 2

Dans la fenêtre de hiérarchie, sélectionnez l’objet RoverExplorer > RoverAssembly puis, dans la fenêtre de l’inspecteur, utilisez le bouton Add Component pour ajouter le composant SpeechInputHandler et configurez-le comme suit :In the Hierarchy window, select the RoverExplorer > RoverAssembly object, then in the Inspector window, use the Add Component button to add the SpeechInputHandler component and configure it as follows:

  • Vérifiez que la case Is Focus Required est cochée afin que l’utilisateur ne soit pas obligé de regarder l’objet avec le composant SpeechInputHandler (autrement dit, RoverAssembly) pour déclencher la commande vocale.Verify that the Is Focus Required checkbox is check, so the user is required to look at the object with the SpeechInputHandler component, i.e., the RoverAssembly, to trigger the speech command
  • À partir de la fenêtre Project, affectez le préfabriqué SpeechConfirmation Tooltip au champ Speech Confirmation Tooltip Prefab (Préfabriqué d’info-bulle de confirmation vocale) afin que ce préfabriqué s’affiche quand une commande vocale est reconnue.From the Project window, assign the SpeechConfirmation Tooltip prefab to the Speech Confirmation Tooltip Prefab field, to have this prefab appear when a speech command is recognized

Ajouter un gestionnaire d’entrée vocale à l’assemblage de Rover

Sur le composant SpeechInputHandler, cliquez sur la petite icône + pour ajouter un élément Keyword, développez l’élément qui vient d’être créé, puis configurez-le comme suit :On the SpeechInputHandler component, click the small + icon to add a keyword element, expand the newly created element, then configure it as follows:

  • Dans le champ Keyword, entrez Activer l’appui pour placement afin de référencer la commande vocale Activer l’appui pour placement que vous avez créée dans la section précédente.In the Keyword field, enter Enable Tap to Place, to reference the Enable Tap to Place command you created in the previous section
  • Cliquez sur la petite icône + pour ajouter un événement.Click the small + icon to add an event
  • Dans la fenêtre de hiérarchie, assignez l’objet lui-même, c’est-à-dire le même objet RoverAssembly, au champ None (Object) .From the Hierarchy window, assign the object itself, i.e., the same RoverAssembly object, to the None (Object) field
  • Dans la liste déroulante No Function, sélectionnez TapToPlace > bool enabled pour mettre à jour cette valeur de propriété lorsque l’événement est déclenché.From the No Function dropdown, select TapToPlace > bool enabled to update this property value when the event is triggered
  • Cochez la case de l’argument.Check the argument checkbox, so it is checked

Configurer le gestionnaire d’entrée vocale sur l’assemblage de Rover

FélicitationsCongratulations

Dans ce tutoriel, vous avez appris à créer des commandes vocales et à les contrôler globalement.In this tutorial, you learned how to create speech commands and how to control them globally. Vous avez également appris à contrôler les commandes vocales locales qui demandent à l’utilisateur de regarder l’objet qui contrôle la commande vocale.You also learned how to control local speech commands that require the user to look at the object that controls the speech command.

Cela conclut également la série de Tutoriels de démarrage.This also concludes the Getting started tutorials series. En suivant ces tutoriels, vous avez réussi à créer une expérience de réalité mixte complète à l’aide de MRTK.Through these tutorials, you have successfully built a complete mixed reality experience from scratch using the MRTK.

Dans les deux prochaines séries de tutoriels, Tutoriels Azure Spatial Anchors et Tutoriels sur les fonctionnalités multiutilisateurs, vous allez d’abord apprendre à intégrer Azure Spatial Anchors dans votre projet afin d’ancrer l’expérience Rover Explorer que vous avez créée dans le monde réel.In the next two tutorial series, Azure Spatial Anchors tutorials and Multi-user capabilities tutorials, you will first learn how to integrate Azure Spatial Anchors into your project to anchor the Rover Explorer experience you created in the real world. Ensuite, vous apprendrez à ajouter des fonctionnalités multiutilisateurs à votre projet afin de partager des mouvements d’utilisateur et d’objet en temps réel.Then, you will learn how to add multi-user capabilities to your project to share user and object movements in real-time.

Point de contrôle de développement suivantNext Development Checkpoint

Si vous suivez le parcours de points de contrôle de développement Unity que nous avons élaboré, la tâche suivante consiste à vous familiariser avec les composants de base des applications de réalité mixte.If you're following the Unity development checkpoint journey we've laid out, your next task is to familiarize yourself with core building blocks of Mixed Reality apps.

Vous pouvez revenir aux points de contrôle de développement Unity à tout moment.You can always go back to the Unity development checkpoints at any time.