Azure Percept Audio – Custom Keywords and Commands

Published Jul 07 2021 10:17 AM 921 Views

In the latest in my series of blog posts on the Azure Percept Developer Kit and specifically around the Audio System on a Module  (SoM), we look at how we can create and use Custom Keywords and Commands with the Audio SoM.

 

Previously

 

In the previous post - Azure Percept Audio - First Steps - We got started with the Azure Percept Audio System on a Module (SoM).

 

We deployed a sample Hospitality application and saw how we could issue commands to the Percept DK, how it would respond, and how the Sample Application would simulate the effects of the commands on screen.

 

Azure-Percept-Screen-Time-0_17_5329-Large-1

 

In this post we’ll take the sample further by training our own Custom keyword and creating a Custom Command.

 

Custom Keywords

 

For the Azure Percept Audio, a Keyword is the word that the Percept DK“listens” for in order to begin listening for commands. Sometimes referred to as a “Wake-Word”, this word defaults to “Computer” in the Hospitality Sample.

 

We have access to some pre-trained keywords deployed along with the sample, allowing us to choose from;

 

  • Assistant
  • Abigail
  • Computer
  • Jayden

Which we can set by pressing the “change” link next to the “Custom Keyword” item below the toolbar area;

 

PerceptImages-CustomKeyword-Cropped

 

Hitting the Custom Keyword Change Link shows us the “Change custom keyword” flyout with the various options available to choose from.

 

image-25

 

Selecting another custom keyword and pressing the “Save” button at the bottom of the dialog will update the Percept DK, and we can then wake the device with the new Keyword.

 

Interestingly, I found that using the alternative keywords of Assistant and Abigail, allowed the Percept DK to wake faster than with the default of "Computer", I'm not sure why this is to be fair, but it's possibly due to the number of syllables in the word maybe?

 

Training our own Custom Keywords

 

In case none of the built in Wake Words are suitable, we can also train our own custom keywords to wake the device. We can do this directly from the Sample Application, allowing us to use a word of our own choosing;

 

PerceptImages-CreateCustomKeyword-Cropped

 

Pressing the “Create Custom Keyword” button in the toolbar at the top of the page allows us to configure and train our own custom keyword;

 

image-26

Here we can enter the keyword of our choosing, select an Azure Speech Resource and a Language, and pressing save will begin the training process.

 

image-29

 

Bear in mind however, that the keyword must have between 2 and 40 syllables to be accepted;

%3CLINGO-SUB%20id%3D%22lingo-sub-2485199%22%20slang%3D%22en-US%22%3EAzure%20Percept%20Audio%20%E2%80%93%20Custom%20Keywords%20and%20Commands%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2485199%22%20slang%3D%22en-US%22%3E%3CP%3EIn%20the%20latest%20in%20my%20series%20of%20blog%20posts%20on%20the%20Azure%20Percept%20Developer%20Kit%20and%20specifically%20around%20the%20Audio%20System%20on%20a%20Module%26nbsp%3B%20(SoM)%2C%20we%20look%20at%20how%20we%20can%20create%20and%20use%20Custom%20Keywords%20and%20Commands%20with%20the%20Audio%20SoM.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--412477902%22%20id%3D%22toc-hId--435536878%22%3EPreviously%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20the%20previous%20post%20-%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Finternet-of-things%2Fazure-percept-audio-first-steps%2Fba-p%2F2485000%22%20target%3D%22_blank%22%3EAzure%20Percept%20Audio%20-%20First%20Steps%3C%2FA%3E%20-%3CSPAN%3E%26nbsp%3BW%3C%2FSPAN%3Ee%20got%20started%20with%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fazure-percept%2Foverview-azure-percept-audio%3FWT.mc_id%3DIoT-MVP-5003506%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%22%3EAzure%20Percept%20Audio%20System%20on%20a%20Module%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FA%3E(SoM).%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20deployed%20a%20sample%20Hospitality%20application%20and%20saw%20how%20we%20could%20issue%20commands%20to%20the%20Percept%20DK%2C%20how%20it%20would%20respond%2C%20and%20how%20the%20Sample%20Application%20would%20simulate%20the%20effects%20of%20the%20commands%20on%20screen.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22Azure-Percept-Screen-Time-0_17_5329-Large-1%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291265i028DB1A974F815D3%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Azure-Percept-Screen-Time-0_17_5329-Large-1%22%20alt%3D%22Azure-Percept-Screen-Time-0_17_5329-Large-1%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EIn%20this%20post%20we%E2%80%99ll%20take%20the%20sample%20further%20by%20training%20our%20own%20Custom%20keyword%20and%20creating%20a%20Custom%20Command.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-2075034931%22%20id%3D%22toc-hId-2051975955%22%3E%3CSPAN%3ECustom%20Keywords%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EFor%20the%20Azure%20Percept%20Audio%2C%20a%20Keyword%20is%20the%20word%20that%20the%20Percept%20DK%E2%80%9Clistens%E2%80%9D%20for%20in%20order%20to%20begin%20listening%20for%20commands.%20Sometimes%20referred%20to%20as%20a%20%E2%80%9CWake-Word%E2%80%9D%2C%20this%20word%20defaults%20to%20%E2%80%9CComputer%E2%80%9D%20in%20the%20Hospitality%20Sample.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20have%20access%20to%20some%20pre-trained%20keywords%20deployed%20along%20with%20the%20sample%2C%20allowing%20us%20to%20choose%20from%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EAssistant%3C%2FLI%3E%0A%3CLI%3EAbigail%3C%2FLI%3E%0A%3CLI%3EComputer%3C%2FLI%3E%0A%3CLI%3EJayden%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EWhich%20we%20can%20set%20by%20pressing%20the%20%E2%80%9Cchange%E2%80%9D%20link%20next%20to%20the%20%E2%80%9CCustom%20Keyword%E2%80%9D%20item%20below%20the%20toolbar%20area%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22PerceptImages-CustomKeyword-Cropped%22%20style%3D%22width%3A%20488px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291266iB06D6ABA7CCA83DE%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22PerceptImages-CustomKeyword-Cropped%22%20alt%3D%22PerceptImages-CustomKeyword-Cropped%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EHitting%20the%20Custom%20Keyword%20Change%20Link%20shows%20us%20the%20%E2%80%9CChange%20custom%20keyword%E2%80%9D%20flyout%20with%20the%20various%20options%20available%20to%20choose%20from.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-25%22%20style%3D%22width%3A%20537px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291267i4801666437CE3605%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-25%22%20alt%3D%22image-25%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ESelecting%20another%20custom%20keyword%20and%20pressing%20the%20%E2%80%9CSave%E2%80%9D%20button%20at%20the%20bottom%20of%20the%20dialog%20will%20update%20the%20Percept%20DK%2C%20and%20we%20can%20then%20wake%20the%20device%20with%20the%20new%20Keyword.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EInterestingly%2C%20I%20found%20that%20using%20the%20alternative%20keywords%20of%20Assistant%20and%20Abigail%2C%20allowed%20the%20Percept%20DK%20to%20wake%20faster%20than%20with%20the%20default%20of%20%22Computer%22%2C%20I'm%20not%20sure%20why%20this%20is%20to%20be%20fair%2C%20but%20it's%20possibly%20due%20to%20the%20number%20of%20syllables%20in%20the%20word%20maybe%3F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-267580468%22%20id%3D%22toc-hId-244521492%22%3E%3CSPAN%3ETraining%20our%20own%20Custom%20Keywords%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EIn%20case%20none%20of%20the%20built%20in%20Wake%20Words%20are%20suitable%2C%20we%20can%20also%20train%20our%20own%20custom%20keywords%20to%20wake%20the%20device.%20We%20can%20do%20this%20directly%20from%20the%20Sample%20Application%2C%20allowing%20us%20to%20use%20a%20word%20of%20our%20own%20choosing%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22PerceptImages-CreateCustomKeyword-Cropped%22%20style%3D%22width%3A%20490px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291269i602E248CEF42C1DD%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22PerceptImages-CreateCustomKeyword-Cropped%22%20alt%3D%22PerceptImages-CreateCustomKeyword-Cropped%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EPressing%20the%20%E2%80%9CCreate%20Custom%20Keyword%E2%80%9D%20button%20in%20the%20toolbar%20at%20the%20top%20of%20the%20page%20allows%20us%20to%20configure%20and%20train%20our%20own%20custom%20keyword%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-26%22%20style%3D%22width%3A%20857px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291270iA601318B1E7F4F72%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-26%22%20alt%3D%22image-26%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EHere%20we%20can%20enter%20the%20keyword%20of%20our%20choosing%2C%20select%20an%20Azure%20Speech%20Resource%20and%20a%20Language%2C%20and%20pressing%20save%20will%20begin%20the%20training%20process.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-29%22%20style%3D%22width%3A%20732px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291271i6CC6430FED3460AB%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-29%22%20alt%3D%22image-29%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBear%20in%20mind%20however%2C%20that%20the%20keyword%20must%20have%20between%202%20and%2040%20syllables%20to%20be%20accepted%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-28%22%20style%3D%22width%3A%20749px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291272i03CCC889933D4B87%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-28%22%20alt%3D%22image-28%22%20%2F%3E%3C%2FSPAN%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%26nbsp%3B%3CSPAN%3EOnce%20the%20training%20is%20complete%2C%20a%20process%20which%20took%20my%20chosen%20keyword%20of%20Clifford%20(my%20co%20host%20on%20%3CA%20href%3D%22https%3A%2F%2Ftwitter.com%2FIoTeaLive%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EIoTeaLive%3C%2FA%3E!)%20only%20a%20few%20moments%2C%20we%E2%80%99re%20then%20able%20to%20hit%20the%20%E2%80%9CChange%E2%80%9D%20button%20next%20to%20the%20Custom%20Keyword%20and%20select%20our%20new%20Keyword%20from%20the%20list%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-30%22%20style%3D%22width%3A%20537px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291274i79204EC6FBB9E1B6%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-30%22%20alt%3D%22image-30%22%20%2F%3E%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%3CSPAN%3EWith%20our%20new%20Keyword%20selected%20and%20deployed%20to%20the%20Percept%20DK%2C%20we%20are%20then%20able%20to%20wake%20the%20device%20with%20our%20new%20Custom%20Keyword%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-31%22%20style%3D%22width%3A%20732px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291280i5F6F8C726F674E05%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-31%22%20alt%3D%22image-31%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22wp-block-image%20has-lightbox%20lightbox-6%20%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-32%22%20style%3D%22width%3A%20359px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291281i1667123141818061%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-32%22%20alt%3D%22image-32%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20with%20the%20%22Computer%22%20keyword%2C%20I%20found%20that%20this%20wake%20word%20wasn't%20all%20that%20reliable%20either%2C%20but%20it%20wasn't%20too%20bad.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1539873995%22%20id%3D%22toc-hId--1562932971%22%3E%3CSPAN%3ECustom%20Commands%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20well%20as%20training%20our%20own%20Custom%20Keywords%2C%20we%E2%80%99re%20also%20able%20to%20create%20Custom%20Commands.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAzure%20Percept%20Audio%20Commands%20are%20a%20natural%20language%20based%20commanding%20mechanism%2C%20allowing%20us%20to%20control%20the%20Percept%20DK%20using%20plain%20language%20commands.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20sample%20Hospitality%20application%20comes%20with%20a%20set%20of%20pre-trained%20commands%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%20id%3D%22block-f950894f-dfdc-4b9e-b3ba-08b40b14e5e0%22%3E%0A%3CLI%3ETurn%20on%2Foff%20the%20lights%3C%2FLI%3E%0A%3CLI%3ETurn%20on%2Foff%20the%20TV.%3C%2FLI%3E%0A%3CLI%3ETurn%20on%2Foff%20the%20AC.%3C%2FLI%3E%0A%3CLI%3EOpen%2Fclose%20the%20blinds.%3C%2FLI%3E%0A%3CLI%3ESet%20temperature%20to%20X%20degrees.%20(X%20is%20the%20desired%20temperature%2C%20e.g.%2075.)%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThese%20commands%20are%20all%20part%20of%20a%20Speech%20project%20specific%20to%20this%20Sample.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20create%20our%20own%20Custom%20Commands%20by%20clicking%20the%20%E2%80%9C%2B%20Create%20Custom%20Command%E2%80%9D%20Button%20in%20the%20toolbar%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22PerceptImages-NewCommand-Cropped-1%22%20style%3D%22width%3A%20492px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291282i0EEF121048187107%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22PerceptImages-NewCommand-Cropped-1%22%20alt%3D%22PerceptImages-NewCommand-Cropped-1%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20will%20show%20the%20%E2%80%9CCreate%20custom%20commands%E2%80%9D%20flyout%2C%20where%20we%20can%20enter%20a%20Name%20and%20a%20Description%20for%20our%20new%20command.%3C%2FP%3E%0A%3CP%3EIn%20our%20case%20we%E2%80%99ll%20create%20a%20custom%20command%20that%20turns%20a%20music%20playing%20device%20on%20and%20off.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20then%20choose%20the%20Language%2C%20Speech%20Resource%2C%20Luis%20Resource%20and%20Luis%20Authoring%20Resource%2C%20which%20I%20left%20at%20their%20defaults%20for%20this%20sample%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-947638838%22%20id%3D%22toc-hId-924579862%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-34%22%20style%3D%22width%3A%20602px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291287iF6004BD8EB1B829D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-34%22%20alt%3D%22image-34%22%20%2F%3E%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3CSPAN%3EOnce%20we%E2%80%99re%20happy%2C%20we%20can%20hit%20the%20blue%20%E2%80%9CCreate%E2%80%9D%20button%20at%20the%20bottom%20of%20the%20flyout%2C%20and%20the%20new%20Custom%20Command%20will%20be%20created%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22CustomCommandCreated%22%20style%3D%22width%3A%20718px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291289iEF1CFD01E728C53B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22CustomCommandCreated%22%20alt%3D%22CustomCommandCreated%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--859815625%22%20id%3D%22toc-hId--882874601%22%3EAzure%20Speech%20Studio%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fspeech.microsoft.com%2F%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%22%3EAzure%20Speech%20Studio%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20an%20Azure%20tool%20that%20allows%20us%20to%20create%20and%20configure%20a%20set%20of%20Commands%20and%20Responses%20based%20on%20Natural%20Language%20Processing.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAzure%20Speech%20is%20a%20service%20which%20brings%20together%20a%20set%20of%20Speech%20and%20Language%20based%20services%20from%20Azure%20under%20one%20hood.%3C%2FP%3E%0A%3CP%3EAzure%20Speech%20supports%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ESpeech-to-text%3C%2FLI%3E%0A%3CLI%3EText-to-speech%3C%2FLI%3E%0A%3CLI%3ESpeech%20Translation%3C%2FLI%3E%0A%3CLI%3EVoice%20Assistants%3C%2FLI%3E%0A%3CLI%3ESpeaker%20Recognition%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20service%20allows%20to%20to%20create%20a%20Command%20based%20on%20a%20plain%20language%20sentence.%20The%20Speech%20Service%20can%20then%20interpret%20the%20spoken%20command%20and%20return%20a%20response.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20response%20can%20also%20be%20converted%20to%20speech%20also%20and%20spoken%20back%20to%20the%20user.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-1627697208%22%20id%3D%22toc-hId-1604638232%22%3EUsing%20Azure%20Speech%20Studio%20with%20Percept%20Audio%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhen%20we%20created%20the%20new%20custom%20command%20earlier%2C%20it%20didn't%20add%20a%20command%20to%20the%20existing%20speech%20project%20from%20the%20sample.%20It%20instead%20creates%20a%20new%20empty%20Speech%20Project%20for%20us%20to%20work%20with.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20such%2C%20we%20can%E2%80%99t%20simply%20start%20using%20our%20new%20Command%2C%20we%20first%20need%20to%20configure%20the%20command%20using%20Speech%20Studio.%20I%20didn't%20find%20this%20particularly%20obvious%2C%20but%20it%20is%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fazure-percept%2Ftutorial-no-code-speech%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Emade%20clear%20in%20the%20docs%3C%2FA%3E%20to%20be%20fair.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20navigate%20to%20speech%20studio%20by%20going%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fspeech.microsoft.com%2F%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%22%3Espeech.microsoft.com%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-36%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291290iECD664FF334E7356%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-36%22%20alt%3D%22image-36%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAfter%20we%20sign%20in%2C%20we%E2%80%99re%20presented%20with%20the%20welcome%20popup%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-35%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291291iF132F6D2CF738F4C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-35%22%20alt%3D%22image-35%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClosing%20the%20popup%2C%20we%E2%80%99re%20shown%20a%20selection%20of%20options%20available%20to%20create%20various%20project%20types.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBeginning%20with%20%E2%80%9C%3CSTRONG%3E%3CEM%3ESpeech-to-text%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20which%20includes%20Real-Time%20Speech-to-text%2C%20Custom%20Speech%2C%20Pronunciation%20Assessment%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-38%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291292i70DFD9EF249EF46F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-38%22%20alt%3D%22image-38%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20then%20have%20%E2%80%9C%3C%2FSPAN%3E%3CSTRONG%3E%3CEM%3EText-to-speech%3C%2FEM%3E%3C%2FSTRONG%3E%3CSPAN%3E%E2%80%9D%20which%20has%20Voice%20Gallery%2C%20Custom%20Voice%2C%20Audio%20Content%20Creation%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-39%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291293i9BB93414C7D2D22A%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-39%22%20alt%3D%22image-39%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EFinally%2C%20we%20have%20the%20%E2%80%9C%3CSTRONG%3E%3CEM%3EVoice%20Assistant%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20options%20of%20Custom%20Keyword%20and%20Custom%20Commands%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-40%22%20style%3D%22width%3A%20888px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291294i7DA4EBF21E418A75%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-40%22%20alt%3D%22image-40%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAt%20the%20top%20of%20the%20page%20should%20be%20listed%20our%20existing%20Speech%20Projects.%20However%2C%20there%20appears%20to%20be%20an%20issue%20with%20Speech%20Studio%20at%20the%20time%20of%20writing%2C%20which%20means%20our%20projects%20aren%E2%80%99t%20listed%20sadly.%20%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EHowever%2C%20your%20mileage%20may%20vary%20of%20course%2C%20so%20I%20thought%20it%20best%20to%20include%20this%20section%20so%20it%20makes%20sense%20later!%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--179757255%22%20id%3D%22toc-hId--202816231%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-37%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291295i1BA77F6DA86131FA%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-37%22%20alt%3D%22image-37%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1987211718%22%20id%3D%22toc-hId--2010270694%22%3E%3CSPAN%3EAccessing%20Speech%20Projects%20via%20Azure%20Percept%20Studio%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAnother%20way%20to%20access%20the%20Custom%20Speech%20Projects%20associated%20with%20our%20Percept%20is%20to%20use%20Azure%20Percept%20Studio.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETo%20get%20back%20to%20Percept%20studio%20you%20can%20either%20search%20for%20it%20in%20the%20portal%2C%20or%20you%20can%20navigate%20directly%20to%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fportal.azure.com%2F%23blade%2FAzureEdgeDevices%2FMain%2Foverview%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%20nofollow%22%3Eportal.azure.com%2F%23blade%2FAzureEdgeDevices%2FMain%2Foverview%3C%2FA%3E%3CSPAN%3E%26nbsp%3Bwhich%26nbsp%3B%3C%2FSPAN%3Ewill%20take%20us%20to%20the%20Percept%20Studio%20overview%20page.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EFrom%20there%20we%20can%20click%20the%20%E2%80%9C%3CSTRONG%3E%3CEM%3ESpeech%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20item%20under%20%E2%80%9C%3CSTRONG%3E%3CEM%3EAI%20Projects%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20in%20the%20menu%20on%20the%20left%2C%20before%20clicking%20the%20%E2%80%9C%3CEM%3E%3CSTRONG%3ECommands%3C%2FSTRONG%3E%3C%2FEM%3E%E2%80%9D%20tab%20to%20show%20all%20of%20the%20Custom%20Commands%20we%E2%80%99ve%20created.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-41%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291296i94A3AF216861B0A2%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-41%22%20alt%3D%22image-41%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EYou%20should%20see%20at%20least%20two%20Speech%20Projects%20listed%20there.%20In%20my%20case%2C%20the%20first%20is%20the%20project%20associated%20with%20Sample%20we%20spun%20up%20in%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fwww.petecodes.co.uk%2Fazure-percept-audio-first-steps%2F%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%20nofollow%22%3Eprevious%20post%3C%2FA%3E%2C%20the%20second%20is%20the%20new%20Custom%20Command%20we%20just%20created%20above.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClicking%20on%20the%20Custom%20Command%20Speech%20Project%20we%20want%20to%20work%20with%2C%20in%20our%20case%20the%20%E2%80%9CPlayMusic-speech%E2%80%9D%20project%2C%20takes%20us%20to%20Speech%20Studio%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22AzureSpeechStudio%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291297iAABDE7058B465D76%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22AzureSpeechStudio%22%20alt%3D%22AzureSpeechStudio%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESpeech%20Studio%20is%20split%20up%20into%20three%20primary%20areas%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOn%20the%20left%20is%20the%20primary%20Project%20Navigation%20area%2C%20with%20the%20list%20of%20Commands%2C%20Web%20Endpoints%20and%20Project%20Settings.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20the%20centre%20pane%2C%20we%20have%20a%20contextual%20area%2C%20primarily%20this%20is%20where%20we%20can%20select%20to%20configure%20the%20Example%20Sentences%20for%20our%20commands%2C%20create%20or%20edit%20Parameters%2C%20configure%20Completion%20Rules%20and%20create%20and%20configure%20Interaction%20Rules.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOn%20the%20far%20right%20is%20where%20we%20Enter%20our%20Custom%20Command%20Sentences%20and%20Parameters%20etc.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-500301115%22%20id%3D%22toc-hId-477242139%22%3ECreating%20a%20new%20Custom%20Command%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20now%20create%20a%20Custom%20Command%20for%20our%20Percept%20to%20action%20by%20hitting%20the%20%E2%80%9C%2B%20Command%E2%80%9D%20button%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-AddCommand-1%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291299i6A055EA74C130AF7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-AddCommand-1%22%20alt%3D%22SpeechStudio-AddCommand-1%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EThis%20will%20show%20the%20%E2%80%9CNew%20command%E2%80%9D%20dialog%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-NewCommandDialog%22%20style%3D%22width%3A%20909px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291300i15271139A5A662F7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-NewCommandDialog%22%20alt%3D%22SpeechStudio-NewCommandDialog%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20enter%20a%20name%20for%20our%20command%20here..%20This%20isn%E2%80%99t%20the%20word(s)%20we%E2%80%99ll%20be%20using%20to%20invoke%20the%20command%2C%20but%20simply%20a%20name%20for%20the%20command.%20As%20the%20dialog%20says%2C%20this%20shouldn%E2%80%99t%20contain%20any%20spaces.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%E2%80%99ve%20chosen%20%E2%80%9C%3CSTRONG%3E%3CEM%3ETurnOnMusic%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20as%20the%20Command%20Name%20here%2C%20with%20a%20view%20to%20allowing%20this%20command%20to%20simply%20turn%20music%20on%20to%20begin%20with.%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20expand%20upon%20this%20functionality%20later%20with%20parameters.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOnce%20we%E2%80%99ve%20hit%20the%20%E2%80%9CCreate%E2%80%9D%20button%2C%20we%E2%80%99re%20shown%20the%20%E2%80%9CExample%20Sentences%E2%80%9D%20pane%20on%20the%20righthand%20side%20of%20the%20screen%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-ExampleSentences%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291301i355B9E1DCB6B417E%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-ExampleSentences%22%20alt%3D%22SpeechStudio-ExampleSentences%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20now%20enter%20the%20sentences%20we%20expect%20this%20particular%20command%20to%20react%20to.%20Each%20sentence%20should%20be%20on%20its%20own%20line.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20go%20with%20the%20following%20sentences%2C%20all%20of%20which%20are%20aimed%20at%20Playing%20some%20Music%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ETurn%20on%20the%20music%3C%2FLI%3E%0A%3CLI%3ETurn%20music%20on%3C%2FLI%3E%0A%3CLI%3ETurn%20on%20music%3C%2FLI%3E%0A%3CLI%3ETurn%20the%20music%20on%3C%2FLI%3E%0A%3CLI%3ETurn%20the%20stereo%20on%3C%2FLI%3E%0A%3CLI%3ETurn%20on%20the%20stereo%3C%2FLI%3E%0A%3CLI%3EPlay%20some%20music%3C%2FLI%3E%0A%3CLI%3EPlay%20me%20some%20music%3C%2FLI%3E%0A%3CLI%3EPlay%20music%3C%2FLI%3E%0A%3CLI%3EPlay%20the%20music%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-TurnOnSentences%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291302i036BEBA0209A886E%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-TurnOnSentences%22%20alt%3D%22SpeechStudio-TurnOnSentences%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-366616391%22%20id%3D%22toc-hId-343557415%22%3EAdding%20a%20%22Done%22%20Response%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20now%20add%20a%20response%20for%20when%20our%20command%20completes.%20Without%20this%2C%20if%20we%20try%20to%20execute%20the%20command%20in%20the%20test%20environment%2C%20we%20won%E2%80%99t%20get%20any%20confirmation%20that%20the%20command%20was%20successful.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20click%20in%20the%20%E2%80%9CDone%E2%80%9D%20item%20in%20the%20centre%20pane%20we%E2%80%99ll%20be%20shown%20the%20%E2%80%9CCompletion%20rules%E2%80%9D%20section%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-DoneButton%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291304i6478EDED0F757A20%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-DoneButton%22%20alt%3D%22SpeechStudio-DoneButton%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20now%20add%20the%20Action%20we%20want%20to%20carry%20out%20when%20the%20Command%20is%20executed%2C%20by%20clicking%20the%20%E2%80%9C%2B%20Add%20an%20action%E2%80%9D%20button%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-Done-AddAction%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291307i6536AC8BFA3B2FC0%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-Done-AddAction%22%20alt%3D%22SpeechStudio-Done-AddAction%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20be%20prompted%20to%20select%20the%20Type%20of%20Action%20we%E2%80%99d%20like%20to%20carry%20out.%20We%20have%20two%20options%20to%20choose%20between%20for%20actions.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3ESend%20speech%20response%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20will%20return%20a%20spoken%20word%20response%20back%20to%20the%20user%20who%20issued%20the%20command.%3C%2FLI%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3ESend%20activity%20to%20client%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20will%20send%20an%20activity%20payload%20to%20a%20client%20application%20via%20the%20SDK%20so%20that%20the%20client%20can%20action%20the%20command%20in%20some%20way.%20We%20saw%20this%20in%20action%20in%20the%20Sample%20Application%20when%20we%20actioned%20commands.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20choose%20%E2%80%9C%3CSTRONG%3E%3CEM%3ESend%20speech%20response%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20here%20as%20we%E2%80%99re%20only%20developing%20a%20test%20project%20at%20the%20moment%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-55%22%20style%3D%22width%3A%20900px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291308i423481F08AF416BD%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-55%22%20alt%3D%22image-55%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESelecting%20%E2%80%9C%3CSTRONG%3E%3CEM%3ESend%20speech%20response%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20and%20hitting%20the%20%E2%80%9C%3CSTRONG%3E%3CEM%3ECreate%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20button%20will%20pop%20up%20the%20%E2%80%9CSend%20speech%20response%E2%80%9D%20editor%20window.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20have%20a%20choice%20of%20three%20different%20response%20types%20at%20this%20stage.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-ResponseTypes%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291309i2E635C6DD53F3A2E%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-ResponseTypes%22%20alt%3D%22SpeechStudio-ResponseTypes%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3ESimple%20Response%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20will%20respond%20in%20plain%20speech%20the%20response%20we%20enter%20in%20the%20editor.%3C%2FLI%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3ELG%20Template%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20refers%20to%20Language%20Generation%20Templates%20which%20are%20based%20on%20those%20used%20in%20the%20Bot%20Framework%2C%20and%20allows%20us%20to%20introduce%20variance%20into%20the%20responses%2C%20meaning%20we%20don%E2%80%99t%20always%20hear%20the%20same%20response%20time%20after%20time.%3C%2FLI%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3EEarcon%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20allows%20us%20to%20respond%20with%20a%20brief%20sound%20in%20response%20to%20the%20command.%20This%20sound%20can%20either%20reflect%20a%20Success%20or%20a%20Failure.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20leave%20our%20response%20at%20the%20default%20of%20%E2%80%9CSimple%20Response%E2%80%9D%20and%20have%20the%20command%20respond%20with%20%E2%80%9CThe%20music%20was%20turned%20on%E2%80%9D%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-56%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291310i9505B5D908FB8583%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-56%22%20alt%3D%22image-56%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EPressing%20the%20%E2%80%9CSave%E2%80%9D%20button%20will%20return%20us%20to%20the%20Completion%20Rules%20page.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20navigate%20back%20to%20the%20Example%20Sentences%20page%2C%20we%20can%20get%20ready%20to%20test%20our%20Custom%20Command.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1440838072%22%20id%3D%22toc-hId--1463897048%22%3ETesting%20the%20Custom%20Command%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20that%20we%20have%20the%20basics%20of%20a%20Custom%20Command%2C%20we%20can%20go%20ahead%20and%20test%20it%20using%20the%20in%20built%20test%20functionality%20within%20Speech%20Studio.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20first%20save%20our%20Example%20Sentences%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-SaveSentences%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291311i0089EBDF5E4EECD2%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-SaveSentences%22%20alt%3D%22SpeechStudio-SaveSentences%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20now%20prepare%20our%20Command%20for%20Testing%20by%20hitting%20the%20%E2%80%9CTrain%E2%80%9D%20button.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-Train%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291312iA2F11A382231C723%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-Train%22%20alt%3D%22SpeechStudio-Train%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWith%20the%20Custom%20Command%20now%20Trained%2C%20we%20can%20now%20hit%20the%20Test%20Button%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-Test%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291313iBDEE6EF4023DB81F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-Test%22%20alt%3D%22SpeechStudio-Test%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EOur%20new%20Command%20will%20then%20be%20published%20for%20testing%20which%20takes%20a%20few%20moments%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-52%22%20style%3D%22width%3A%20726px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291314iBC58C7975955CC6C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-52%22%20alt%3D%22image-52%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EOnce%20the%20Publish%20process%20is%20complete%2C%20we%E2%80%99ll%20then%20be%20taken%20to%20the%20testing%20environment%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-TestApplication-New%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291315iAAAF6E34B990AD8D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-TestApplication-New%22%20alt%3D%22SpeechStudio-TestApplication-New%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20expand%20the%20details%20about%20our%20interactions%20(or%20turns)%20with%20our%20application%26nbsp%3Bby%20clicking%20the%20expander%20in%20the%20top%20right%20of%20the%20screen%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-TestApplication-New-Details%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291316iDE736313344568B9%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-TestApplication-New-Details%22%20alt%3D%22SpeechStudio-TestApplication-New-Details%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Details%20area%20will%20show%20us%20information%20about%20the%20commands%20we%E2%80%99re%20issuing%2C%20any%20parameters%20that%20are%20expected%20and%20the%20Rules%20Executed%20from%20our%20%E2%80%9CDone%E2%80%9D%20Completion%20Rules.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99re%20now%20ready%20to%20try%20out%20our%20new%20command%E2%80%A6%20If%20we%20type%20%E2%80%9CTurn%20on%20music%E2%80%9D%20in%20the%20entry%20box%20at%20the%20bottom%20of%20screen%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-58%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291317i6CB87DEC67ECA5F8%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-58%22%20alt%3D%22image-58%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20see%20that%20we%20successfully%20executed%20the%20command%2C%20and%20we%20received%20the%20response%20we%20were%20expecting%2C%20both%20in%20text%20and%20spoken%20word!%3C%2FP%3E%0A%3CP%3EOur%20command%20currently%20only%20turns%20music%20on%20however%E2%80%A6%20What%20if%20we%20want%20to%20turn%20it%20back%20off%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20could%20of%20course%20add%20a%20whole%20new%20command%20that%20turns%20the%20music%20off%E2%80%A6%20However%2C%20we%20can%20actually%20add%20parameters%20to%20our%20existing%20command.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-1046674761%22%20id%3D%22toc-hId-1023615785%22%3EAdding%20Parameters%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EParameters%20are%20a%20method%20to%20add%20flexibility%20to%20commands%2C%20allowing%20commands%20to%20accept%20a%20variable%20portion%20which%20affects%20the%20action%20that%E2%80%99s%20carried%20out%20in%20response.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20add%20the%20ability%20to%20turn%20the%20music%20both%20on%20and%20off.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20achieve%20this%20by%20adding%20a%20parameter%20to%20our%20command%20which%20represents%20the%20state%20we%E2%80%99d%20like%20to%20set.%20We%E2%80%99ll%20also%20need%20to%20modify%20our%20Example%20Sentences%20along%20with%20the%20Completion%20Response.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20click%20the%20%E2%80%9C%2B%20Add%E2%80%9D%20button%20at%20the%20top%20of%20the%20right%20hand%20panel%2C%20we%20can%20select%20the%20%E2%80%9CParameter%E2%80%9D%20option.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-59%22%20style%3D%22width%3A%20379px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291318i9BB3F1A25D287BE4%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-59%22%20alt%3D%22image-59%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%E2%80%99ll%20then%20be%20prompted%20for%20a%20name%20for%20our%20Parameter%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-60%22%20style%3D%22width%3A%20907px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291319i501188863C7C5AEE%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-60%22%20alt%3D%22image-60%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20choose%20%E2%80%9COnOff%E2%80%9D%20and%20press%20the%20%E2%80%9CCreate%E2%80%9D%20button.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20then%20be%20shown%20the%20Parameters%20pane%20on%20the%20right%20of%20the%20screen.%20As%20we%20need%20to%20know%20whether%20to%20turn%20the%20music%20on%20or%20off%2C%20we%20can%20set%20that%20this%20Parameter%20is%20%E2%80%9CRequired%E2%80%9D%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-RequiredParameter%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291320iEA04AE9118499957%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-RequiredParameter%22%20alt%3D%22SpeechStudio-RequiredParameter%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20then%20be%20prompted%20to%20add%20a%20response%20if%20the%20user%20doesn%E2%80%99t%20supply%20the%20Parameter.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20with%20the%20Completion%20response%2C%20we%20can%20either%20elect%20to%20use%20a%20Simple%20Response%20or%20an%20LG%20Template.%20There%E2%80%99s%20no%20option%20here%20for%20an%20EarCon%20as%20we%20need%20to%20ask%20the%20user%20a%20specific%20question%20of%20course.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20have%20the%20Command%20respond%20with%20%E2%80%9CWould%20you%20like%20to%20turn%20the%20music%20on%20or%20off%3F%E2%80%9D%20and%20press%20the%20%E2%80%9CUpdate%E2%80%9D%20button%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-61%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291321i8A9ACF25A31A5C68%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-61%22%20alt%3D%22image-61%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20now%20select%20a%20%E2%80%9C%3CSTRONG%3E%3CEM%3EType%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20for%20our%20parameter%E2%80%A6%20We%20can%20choose%20between%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EDateTime%3C%2FLI%3E%0A%3CLI%3ENumber%3C%2FLI%3E%0A%3CLI%3EGeography%3C%2FLI%3E%0A%3CLI%3EString%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EOur%20response%20will%20be%20either%20%E2%80%9COn%E2%80%9D%20or%20%E2%80%9COff%E2%80%9D%2C%20so%20we%E2%80%99ll%20opt%20for%20%E2%80%9C%3CSTRONG%3E%3CEM%3EString%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20here%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-ParameterType%22%20style%3D%22width%3A%20945px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291323i35FE33F0FAF0BACD%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-ParameterType%22%20alt%3D%22SpeechStudio-ParameterType%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20leave%20the%20%E2%80%9CDefault%20Value%E2%80%9D%20empty%20here%2C%20as%20we%E2%80%99ve%20specified%20that%20this%20parameter%20is%20required.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENext%2C%20as%20we%E2%80%99ve%20chosen%20a%20Type%20of%20%E2%80%9C%3CSTRONG%3E%3CEM%3EString%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9C%2C%20we%20can%20choose%20the%20%E2%80%9C%3CSTRONG%3E%3CEM%3EConfiguration%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20for%20this%20parameter.%20The%20Configuration%20sets%20whether%20the%20parameter%20can%20accept%20any%20response%20or%20one%20from%20a%20predefined%20list%20of%20responses.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20options%20here%20are%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3ENone%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9C%3C%2FLI%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3EAccept%20Full%20Input%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20%E2%80%93%20Simply%20accept%20whatever%20the%20user%20says%2C%20for%20instance%20a%20postal%20address%3C%2FLI%3E%0A%3CLI%3E%E2%80%9C%3CSTRONG%3E%3CEM%3EAccept%20predefined%20input%20values%20from%20internal%20catalog%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20%E2%80%93%20Constrain%20the%20parameter%20value%20that%20the%20user%20gives%20to%20a%20pre-defined%20list%20of%20allowed%20values.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20choose%20%E2%80%9C%3CSTRONG%3E%3CEM%3EAccept%20predefined%20input%20values%20from%20internal%20catalog%3C%2FEM%3E%3C%2FSTRONG%3E%E2%80%9D%20here%20are%20we%20only%20want%20to%20accept%20%E2%80%9COn%E2%80%9D%20or%20%E2%80%9COff%E2%80%9D%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-63%22%20style%3D%22width%3A%20944px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291325i8365873D2E420307%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-63%22%20alt%3D%22image-63%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAs%20we%E2%80%99ve%20selected%20%E2%80%9CAccept%20predefined%20input%20values%20from%20internal%20catalog%E2%80%9D%20as%20the%20Configuration%2C%20we%20can%20now%20define%20the%20values%20we%20expect%20to%20receive%20for%20our%20%E2%80%9COnOff%E2%80%9D%20parameter%20by%20hitting%20the%20%E2%80%9C%2B%20Add%20a%20predefined%20input%E2%80%9D%20button%20at%20the%20bottom%20of%20the%20Parameters%20pane%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-PredefinedInputValues%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291327iAFF3BB22FA888717%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-PredefinedInputValues%22%20alt%3D%22SpeechStudio-PredefinedInputValues%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20add%20a%20Predefined%20Value%20with%20a%20%E2%80%9CName%E2%80%9D%20of%20%E2%80%9COn%E2%80%9D%20and%20another%20with%20a%20%E2%80%9CName%E2%80%9D%20of%20%E2%80%9COff%E2%80%9D%2C%20we%20won%E2%80%99t%20need%20any%20Aliases%20for%20our%20options%20in%20this%20case%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-64%22%20style%3D%22width%3A%20904px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291328iB73AE85DC483A135%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-64%22%20alt%3D%22image-64%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20should%20now%20have%20two%20Predefined%20Input%20Values%20set%20for%20both%20%E2%80%9COn%E2%80%9D%20and%20%E2%80%9COff%E2%80%9D%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--760779702%22%20id%3D%22toc-hId--783838678%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-PredefinedValuesSet%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291330iFA094621B7B2A44D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-PredefinedValuesSet%22%20alt%3D%22SpeechStudio-PredefinedValuesSet%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-1726733131%22%20id%3D%22toc-hId-1703674155%22%3E%3CSPAN%3ERename%20Command%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20next%20thing%20we%20need%20to%20do%20is%20rename%20our%20command.%20Currently%20it%E2%80%99s%20set%20to%20%E2%80%9CTurnOnMusic%E2%80%9D%2C%20however%20we%20can%20now%20use%20this%20command%20to%20turn%20the%20music%20both%20on%20and%20off.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHitting%20the%20Pencil%20Icon%20next%20to%20the%20%E2%80%9C%2B%20Command%E2%80%9D%20button%20will%20allow%20us%20to%20rename%20our%20command%20to%20something%20which%20now%20reflects%20its%20operation%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-RenameCommand%22%20style%3D%22width%3A%20716px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291332i3F234E521E4D4795%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-RenameCommand%22%20alt%3D%22SpeechStudio-RenameCommand%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%20can%20then%20give%20our%20Command%20a%20name%20of%20%E2%80%9CTurnMusicOnOff%E2%80%9D%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-66%22%20style%3D%22width%3A%20908px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291333i5717927EEB1034E9%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-66%22%20alt%3D%22image-66%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--80721332%22%20id%3D%22toc-hId--103780308%22%3EUpdate%20Command%20to%20use%20Parameters%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20now%20need%20to%20update%20our%20Example%20Sentences%20to%20make%20use%20of%20our%20new%20Parameter.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20assign%20where%20in%20a%20sentence%20the%20command%20should%20expect%20a%20parameter%20to%20be%20used%20by%20adding%20the%20parameter%20name%20in%20curly%20brackets%20at%20the%20given%20location%20in%20the%20sentence.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EA%20nice%20feature%20here%20is%20that%2C%20as%20soon%20as%20we%20enter%20a%20curly%20brace%2C%20we%E2%80%99re%20given%20our%20available%20parameters%20are%20options%2C%20so%20we%20don%E2%80%99t%20have%20to%20remember%20exactly%20which%20one%20we%20need.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWith%20that%20in%20mind%2C%20we%20can%20update%20our%20Example%20Sentence%20list%20to%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ETurn%26nbsp%3B%7BOnOff%7D%26nbsp%3Bthe%26nbsp%3Bmusic%3C%2FLI%3E%0A%3CLI%3ETurn%26nbsp%3Bmusic%26nbsp%3B%7BOnOff%7D%3C%2FLI%3E%0A%3CLI%3ETurn%26nbsp%3B%7BOnOff%7D%26nbsp%3Bmusic%3C%2FLI%3E%0A%3CLI%3ETurn%26nbsp%3Bthe%26nbsp%3Bmusic%26nbsp%3B%7BOnOff%7D%3C%2FLI%3E%0A%3CLI%3ETurn%26nbsp%3Bthe%26nbsp%3Bstereo%26nbsp%3B%7BOnOff%7D%3C%2FLI%3E%0A%3CLI%3ETurn%26nbsp%3B%7BOnOff%7D%26nbsp%3Bthe%26nbsp%3Bstereo%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-79%22%20style%3D%22width%3A%20824px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291334i6F7D0DA957FB5DA2%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-79%22%20alt%3D%22image-79%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20also%20need%20to%20update%20the%20Done%20response%20to%20match%20the%20parameter%20that%20the%20user%20requests.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20click%20back%20into%20the%20%E2%80%9CDone%E2%80%9D%20section%2C%20we%20can%20click%20the%20Pencil%20Icon%20next%20to%20the%20Completion%20Rule%20Action%20we%20created%20to%20edit%20it%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-EditDone%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291335i02F3338FC7668724%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-EditDone%22%20alt%3D%22SpeechStudio-EditDone%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20with%20the%20example%20sentences%2C%20we%20can%20insert%20the%20name%20of%20our%20parameter%20between%20curly%20braces%20where%20we%20want%20it%E2%80%99s%20value%20to%20be%20repeated%20back%20to%20the%20user.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%E2%80%99ll%20set%20the%20Speech%20Response%20to%20%E2%80%9CThe%20music%20was%20turned%20%7BOnOff%7D%E2%80%9D%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-72%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291338iD644A97E18284205%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-72%22%20alt%3D%22image-72%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EHitting%20the%20blue%20Save%20button%20will%20update%20the%20Completion%20Response.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1888175795%22%20id%3D%22toc-hId--1911234771%22%3E%3CSPAN%3ETest%20the%20Updated%20Command%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%E2%80%99re%20now%20ready%20for%20testing%20again%2C%20we%20can%20hit%20the%20%E2%80%9CSave%E2%80%9D%20button%2C%20followed%20by%20the%20%E2%80%9CTrain%E2%80%9D%20button%20and%20finally%20the%20Test%20button%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-FinalTrain%22%20style%3D%22width%3A%20829px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291339iEEC33AF87A6A8B11%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-FinalTrain%22%20alt%3D%22SpeechStudio-FinalTrain%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%E2%80%99ll%20then%20be%20returned%20to%20the%20testing%20environment%20where%20we%20can%20see%20our%20new%20parameters%20in%20action%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-73%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291340iCB7E4A5928C748EB%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-73%22%20alt%3D%22image-73%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-599337038%22%20id%3D%22toc-hId-576278062%22%3E%3CSPAN%3EPublishing%20the%20Command%20to%20the%20Percept%20DK%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20that%20we%E2%80%99ve%20tested%20the%20updated%20command%2C%20we%E2%80%99re%20ready%20to%20publish%20it%20to%20our%20percept%20so%20we%20can%20give%20it%20a%20go%20on%20the%20device%20itself.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20close%20the%20testing%20environment%2C%20we%20can%20hit%20the%20Publish%20button%20to%20begin%20publish%20process%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22SpeechStudio-PublishCommandButton%22%20style%3D%22width%3A%20956px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291341iE3C398AEA37742B7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22SpeechStudio-PublishCommandButton%22%20alt%3D%22SpeechStudio-PublishCommandButton%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ESpeech%20Studio%20will%20then%20begin%20the%20process%20of%20Publishing%20the%20command%20to%20the%20Speech%20Project.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-74%22%20style%3D%22width%3A%20730px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291342i47ABEF995010F67D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-74%22%20alt%3D%22image-74%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%E2%80%99ll%20be%20notified%20when%20the%20Publish%20operation%20has%20completed%20successfully.%20As%20you%20can%20see%2C%20this%20process%20doesn%E2%80%99t%20take%20too%20long%2C%20with%20our%20example%20here%20only%20taking%2022%20seconds%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-75%22%20style%3D%22width%3A%20507px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291343iF000D716721B42B0%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-75%22%20alt%3D%22image-75%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENext%20we%20need%20to%20Assign%20our%20new%20command%20to%20our%20Percept.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20we%20return%20to%20Azure%20Percept%20Studio%20at%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fportal.azure.com%2F%23blade%2FAzureEdgeDevices%2FMain%2Foverview%22%20target%3D%22_blank%22%20rel%3D%22noreferrer%20noopener%20nofollow%22%3Eportal.azure.com%2F%23blade%2FAzureEdgeDevices%2FMain%2Foverview%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20can%20then%20navigate%20to%20Speech%20using%20the%20menu%20item%20on%20the%20left%20and%20select%20the%20Commands%20Tab.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20select%20the%20row%20of%20our%20new%20Command%2C%20in%20our%20case%20the%20%E2%80%9CPlayMusic-speech%E2%80%9D%20row%2C%20we%20can%20then%20hit%20the%20%E2%80%9CAssign%E2%80%9D%20button%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22AzurePerceptStudio-AssignCommand%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291344iC0AA509069FE9E61%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22AzurePerceptStudio-AssignCommand%22%20alt%3D%22AzurePerceptStudio-AssignCommand%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EWe%E2%80%99ll%20then%20be%20shown%20the%20%E2%80%9CDeploy%20to%20device%E2%80%9D%20dialog%2C%20where%20we%20can%20select%20the%20IoT%20Hub%20and%20Percept%20device%20we%20want%20to%20deploy%20our%20new%20command%20to%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22AzurePerceptStudio-DeployCOmmand%22%20style%3D%22width%3A%20792px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291345i2A3B20ADB322EBF3%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22AzurePerceptStudio-DeployCOmmand%22%20alt%3D%22AzurePerceptStudio-DeployCOmmand%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EHitting%20the%20%E2%80%9CSave%E2%80%9D%20button%20begins%20the%20process%20of%20deploying%20the%20new%20Command%20to%20the%20Percept%20DK%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1208117425%22%20id%3D%22toc-hId--1231176401%22%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image-78%22%20style%3D%22width%3A%20738px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291346i87C1F3FCF883D959%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22image-78%22%20alt%3D%22image-78%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-1279395408%22%20id%3D%22toc-hId-1256336432%22%3E%3CSPAN%3EThe%20new%20Command%20in%20Action%3C%2FSPAN%3E%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20part%20of%20a%20special%20%3CA%20href%3D%22https%3A%2F%2Ftwitter.com%2FIoTeaLive%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EIoTeaLive%20show%3C%2FA%3E%2C%20I%20create%20a%20Video%20of%20my%20experiences%20working%20with%20the%20Azure%20Percept%20Audio%20Module%2C%20which%20you%20can%20find%20on%20YouTube%20here.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20is%20the%20section%20where%20I%20tested%20the%20new%20Custom%20Command%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20style%3D%22position%3A%20relative%3B%20left%3A%2012.5%25%3B%20padding-bottom%3A%2042.3%25%3B%20padding-top%3A%200px%3B%20height%3A%200%3B%20overflow%3A%20hidden%3B%20min-width%3A%20320px%3B%20max-width%3A%2075%25%3B%22%3E%3CIFRAME%20src%3D%22https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FJqfceNUPqBo%3Fcontrols%3D0%26amp%3Bautoplay%3Dfalse%26amp%3BWT.mc_id%3Diot-c9-niner%22%20frameborder%3D%220%22%20allowfullscreen%3D%22allowfullscreen%22%20style%3D%22position%3A%20absolute%3B%20top%3A%200%3B%20left%3A%200%3B%20width%3A%20100%25%3B%20height%3A%20100%25%3B%22%20class%3D%22video-iframe%22%20title%3D%22Azure%20Percept%20Audio%20in%20action%22%3E%3C%2FIFRAME%3E%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId-170102886%22%20id%3D%22toc-hId-147043910%22%3EMy%20Plans%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENow%20I've%20figured%20out%20how%20to%20make%20Custom%20Commands%2C%20there's%20also%20a%20facility%20for%20the%20command%20to%20call%20out%20to%20a%20Web%20Endpoint.%20Next%20up%20I%20want%20to%20try%20calling%20into%20an%20Azure%20Function%20and%20perhaps%20to%20an%20Azure%20IoT%20Hub%20maybe.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThat%20way%2C%20I'll%20be%20able%20to%20control%20anything%20I%20like.%20If%20you%20know%20me%20at%20all%2C%20you'll%20know%20I'm%20a%20big%20fan%20of%20the%20Raspberry%20Pi%20as%20a%20fast%20reliable%20way%20to%20prototype%20IoT%20solutions.%20I've%20got%20plenty%20of%20experience%20in%20hooking%20Raspberry%20Pis%20up%20to%20an%20IoT%20Hub%2C%20and%20I'll%20have%20no%20trouble%20adding%20something%20like%20a%20Relay%20to%20control%20home%20appliances%20like%20lamps%20and%20so%20on.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1637351577%22%20id%3D%22toc-hId--1660410553%22%3EMy%20Thoughts%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20I%20mentioned%2C%20I%20had%20a%20few%20issues%20trying%20to%20get%20the%20Percept%20DK%20to%20react%20to%20me%20from%20time%20to%20time.%20Sometimes%20I%20even%20had%20to%20turn%20it%20off%20and%20back%20on%20for%20it%20to%20react%20oddly.%20I've%20since%20trained%20a%20new%20keyword%20of%20%22controller%22%20and%20this%20seems%20to%20work%20really%20well%20for%20some%20reason.%20I've%20also%20tried%20to%20see%20how%20well%20the%20device%20can%20hear%20me%20try%20to%20wake%20it%2C%20and%20it's%20actually%20really%20sensitive%2C%20having%20no%20issues%20hearing%20me%20from%20over%2015%20meters%20away.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20found%20the%20process%20of%20creating%20Custom%20Commands%20very%20easy.%20Having%20had%20the%20experience%20of%20creating%20Alexa%20Skills%2C%20the%20process%20was%20quite%20similar%20in%20some%20regards.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThere's%20some%20scope%20for%20improvement%20with%20Speech%20Studio%2C%20where%20perhaps%20allowing%20for%20a%20few%20more%20preset%20types%20for%20parameters%20would%20be%20good.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20guess%20it%20would%20also%20be%20useful%20if%20we%20could%20deploy%20Custom%20Commands%20directly%20from%20Speech%20Studio%20maybe%3F%20That%20would%20save%20having%20to%20context%20switch%20away%20while%20developing%2C%20but%20tyhat's%20a%20small%20inconvenience%20only.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOverall%2C%20a%20fantastic%20way%20to%20interact%20with%20the%20Azure%20Percept%20DK%20and%20very%20easy%20to%20use...%20Keep%20your%20eyes%20open%20for%20the%20next%20post%20in%20the%20series!%3C%2FP%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2485199%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22Percept%20Audio%20-%20Custom%20Keywords%20-%20Featured%20Image.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F291264iFE315EEC8B95A379%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Percept%20Audio%20-%20Custom%20Keywords%20-%20Featured%20Image.png%22%20alt%3D%22Percept%20Audio%20-%20Custom%20Keywords%20-%20Featured%20Image.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EIn%20this%20post%20we%E2%80%99ll%20training%20our%20own%20Custom%20keyword%20and%20create%20a%20Custom%20Command%20for%20the%20Azure%20Percept%20Audio%20SoM.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2485199%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAzure%20Percept%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EAzure%20Percept%20DK%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EIoT%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Co-Authors
Version history
Last update:
‎Jul 07 2021 04:53 PM