Add voice activation to your product with Custom Keyword

Published May 06 2021 01:56 PM 1,894 Views
Microsoft

Voice activation enables your end-users to interact with your product completely hands-free. With products that are ambient in nature, like smart speakers, users can say a specific keyword to have the product respond with just their voice. This type of end-to-end voice-based experience can be achieved with keyword recognition technology, which is designed with multiple stages that span across the edge and cloud:

 

multi-stage.png

 

Custom Keyword allows you to create on-device keyword recognition models that are unique and personalized to your brand. The models will process incoming audio for your customized keyword and let your product respond to the end-user when the keyword is detected. When integrating your models with the Speech SDK, and Direct Line Speech or Custom Commands, you automatically get the benefits of the Keyword Verification service. Keyword Verification reduces the impact of false accepts from on-device models with robust models running on Azure.

 

When creating on-device models with Custom Keyword, there is no need for you to provide any training data. Our latest neural TTS can generate audio in life-like quality and in diverse speakers with multi-speaker base models. Neural TTS is available in 60 locales and languages. Custom Keyword makes use of this technology to generate training data specific to your keyword and specified pronunciations, eliminating the need for you to collect and provide training data.

 

The most common use case of keyword recognition is with voice assistants. For example, "Hey Cortana" is the keyword for the Cortana assistant. Frictionless user experiences for voice assistants often require the use of microphones that are always listening and keyword recognition acts as a privacy boundary for the end-user. Sensitive and personal audio data can be processed completely on-device until the keyword is believed to be heard. Once this occurs, the gate to stream audio to the cloud for further processing can be opened. Cloud processing often includes both Speech-to-Text and Keyword Verification.

 

keyword-verification-flow.png

 

The Speech SDK provides seamless integration between the on-device keyword recognition models created using Custom Keyword and the Keyword Verification service such that you do not need to provide any configuration for the Keyword Verification service. It will work out-of-the-box.

 

Let’s walk through how to create on-device keyword recognition models using Custom Keyword, with some tips along the way:

 

  1. Go to the Speech Studio and Sign in or, if you do not yet have a speech subscription, choose Create a subscription.
  2. On the Custom Keyword portal, click New project. Provide a name for your project with an optional description. Select the language which best represents what you expect your end-users to speak in when saying the keyword.

    custom-keyword-new-project.png
  3. Select your newly created project from the list and click Train model. Provide a name for your model with an optional description. For the keyword, provide the word or short phrase you expect your end-users to say to voice activate your product.

    custom-keyword-new-model.png

    Below are a few tips for choosing an effective keyword:
    • It should take no longer than two seconds to say.
    • Words of 4 to 7 syllables work best. For example, "Hey Computer" is a good keyword. Just "Hey" is a poor one.
    • Keywords should follow common pronunciation rules specific to the native language of your end-users.
    • A unique or even a made-up word that follows common pronunciation rules might reduce false positives. For example, "computerama" might be a good keyword
  4. Custom Keyword will automatically create candidate pronunciations for your keyword. Listen to each pronunciation by clicking the play button next to it. Unselect any pronunciations that do not match the pronunciation you expect your end-users to say.

     

    Tip: It is important to be deliberate about the pronunciations you select to ensure the best accuracy characteristics. For example, choosing more pronunciations than needed can lead to higher false accept rates. Choosing too few pronunciations, where not all expected variations are covered, can lead to lower correct accept rates.

    custom-keyword-pronunciations.png

  5. Choose the type of model you would like to generate. To make your keyword recognition journey as effortless as possible, Custom Keyword allows you to create two types of models, both of which do not require you to provide any training data:

    • Basic – Basic models are designed to be used for demo or rapid prototyping purposes and can be created within just 15 minutes.

    • Advanced – Advanced models are designed to be used for product integration with improved accuracy characteristics. These models can take up to 48 hours to be created. Remember, you do not need to provide any training data! Advanced models leverage our Text-to-Speech technology to generate training data specific to your keyword and improve the model’s accuracy.

  6. Click Train, and your model will start training. Keep an eye out in your email as you will receive a notification once the model is trained. You can then download the model and integrate with the Speech SDK.

     

    Tip: You can also test the model directly within the Custom Keyword portal in your browser by using the Testing tab. Choose your model and click Record. You may have to provide microphone access permissions. Now you can say the keyword and see when the model has recognized it!

    custom-keyword-test-model.png

     

For more information on how to use your newly created keyword recognition models with the Speech SDK, read Create Keyword quickstart - Speech service - Azure Cognitive Services | Microsoft Docs.

%3CLINGO-SUB%20id%3D%22lingo-sub-2332961%22%20slang%3D%22en-US%22%3EAdd%20voice%20activation%20to%20your%20product%20with%20Custom%20Keyword%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2332961%22%20slang%3D%22en-US%22%3E%3CP%3EVoice%20activation%20enables%20your%20end-users%20to%20interact%20with%20your%20product%20completely%20hands-free.%20With%20products%20that%20are%20ambient%20in%20nature%2C%20like%20smart%20speakers%2C%20users%20can%20say%20a%20specific%20keyword%20to%20have%20the%20product%20respond%20with%20just%20their%20voice.%20This%20type%20of%20end-to-end%20voice-based%20experience%20can%20be%20achieved%20with%20keyword%20recognition%20technology%2C%20which%20is%20designed%20with%20multiple%20stages%20that%20span%20across%20the%20edge%20and%20cloud%3A%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-inline%22%20image-alt%3D%22multi-stage.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278884iAAA5881374C96A75%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22multi-stage.png%22%20alt%3D%22multi-stage.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ECustom%20Keyword%20allows%20you%20to%20create%20on-device%20keyword%20recognition%20models%20that%20are%20unique%20and%20personalized%20to%20your%20brand.%20The%20models%20will%20process%20incoming%20audio%20for%20your%20customized%20keyword%20and%20let%20your%20product%20respond%20to%20the%20end-user%20when%20the%20keyword%20is%20detected.%20When%20integrating%20your%20models%20with%20the%20Speech%20SDK%2C%20and%20Direct%20Line%20Speech%20or%20Custom%20Commands%2C%20you%20automatically%20get%20the%20benefits%20of%20the%20Keyword%20Verification%20service.%20Keyword%20Verification%20reduces%20the%20impact%20of%20false%20accepts%20from%20on-device%20models%20with%20robust%20models%20running%20on%20Azure.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhen%20creating%20on-device%20models%20with%20Custom%20Keyword%2C%20there%20is%20no%20need%20for%20you%20to%20provide%20any%20training%20data.%20Our%20latest%20%3CA%20href%3D%22https%3A%2F%2Fazure.microsoft.com%2Fen-us%2Fblog%2Fmicrosoft-s-new-neural-text-to-speech-service-helps-machines-speak-like-people%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Eneural%20TTS%3C%2FA%3E%20can%20generate%20audio%20in%20life-like%20quality%20and%20in%20diverse%20speakers%20with%20multi-speaker%20base%20models.%20Neural%20TTS%20is%20available%20in%20%3CA%20href%3D%22https%3A%2F%2Fwww.drware.com%2Feleven-more-languages-are-generally-available-for-azure-neural-text-to-speech%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E60%20locales%20and%20languages%3C%2FA%3E.%20Custom%20Keyword%20makes%20use%20of%20this%20technology%20to%20generate%20training%20data%20specific%20to%20your%20keyword%20and%20specified%20pronunciations%2C%20eliminating%20the%20need%20for%20you%20to%20collect%20and%20provide%20training%20data.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20most%20common%20use%20case%20of%20keyword%20recognition%20is%20with%20voice%20assistants.%20For%20example%2C%20%22Hey%20Cortana%22%20is%20the%20keyword%20for%20the%20Cortana%20assistant.%20Frictionless%20user%20experiences%20for%20voice%20assistants%20often%20require%20the%20use%20of%20microphones%20that%20are%20always%20listening%20and%20keyword%20recognition%20acts%20as%20a%20privacy%20boundary%20for%20the%20end-user.%20Sensitive%20and%20personal%20audio%20data%20can%20be%20processed%20completely%20on-device%20until%20the%20keyword%20is%20believed%20to%20be%20heard.%20Once%20this%20occurs%2C%20the%20gate%20to%20stream%20audio%20to%20the%20cloud%20for%20further%20processing%20can%20be%20opened.%20Cloud%20processing%20often%20includes%20both%20Speech-to-Text%20and%20Keyword%20Verification.%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-inline%22%20image-alt%3D%22keyword-verification-flow.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278885iD7235366C6AC7BC4%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22keyword-verification-flow.png%22%20alt%3D%22keyword-verification-flow.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Speech%20SDK%20provides%20seamless%20integration%20between%20the%20on-device%20keyword%20recognition%20models%20created%20using%20Custom%20Keyword%20and%20the%20Keyword%20Verification%20service%20such%20that%20you%20do%20not%20need%20to%20provide%20any%20configuration%20for%20the%20Keyword%20Verification%20service.%20It%20will%20work%20out-of-the-box.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ELet%E2%80%99s%20walk%20through%20how%20to%20create%20on-device%20keyword%20recognition%20models%20using%20Custom%20Keyword%2C%20with%20some%20tips%20along%20the%20way%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EGo%20to%20the%20%3CA%20href%3D%22https%3A%2F%2Fspeech.microsoft.com%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ESpeech%20Studio%3C%2FA%3E%20and%20Sign%20in%20or%2C%20if%20you%20do%20not%20yet%20have%20a%20speech%20subscription%2C%20choose%20%3CA%20href%3D%22https%3A%2F%2Fms.portal.azure.com%2F%23create%2FMicrosoft.CognitiveServicesSpeechServices%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3ECreate%20a%20subscription%3C%2FA%3E.%3C%2FLI%3E%0A%3CLI%3EOn%20the%20%3CA%20href%3D%22https%3A%2F%2Fspeech.microsoft.com%2Fportal%3Fprojecttype%3Dcustomkeyword%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ECustom%20Keyword%3C%2FA%3E%20portal%2C%20click%20%3CSTRONG%3ENew%20project%3C%2FSTRONG%3E.%20Provide%20a%20name%20for%20your%20project%20with%20an%20optional%20description.%20Select%20the%20language%20which%20best%20represents%20what%20you%20expect%20your%20end-users%20to%20speak%20in%20when%20saying%20the%20keyword.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22custom-keyword-new-project.png%22%20style%3D%22width%3A%20572px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278898iA0C2D8C1ADEF5320%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22custom-keyword-new-project.png%22%20alt%3D%22custom-keyword-new-project.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3ESelect%20your%20newly%20created%20project%20from%20the%20list%20and%20click%20%3CSTRONG%3ETrain%20model%3C%2FSTRONG%3E.%20Provide%20a%20name%20for%20your%20model%20with%20an%20optional%20description.%20For%20the%20keyword%2C%20provide%20the%20word%20or%20short%20phrase%20you%20expect%20your%20end-users%20to%20say%20to%20voice%20activate%20your%20product.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22custom-keyword-new-model.png%22%20style%3D%22width%3A%20569px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278904iEF1FE1B1279BB74D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22custom-keyword-new-model.png%22%20alt%3D%22custom-keyword-new-model.png%22%20%2F%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3EBelow%20are%20a%20few%20tips%20for%20choosing%20an%20effective%20keyword%3A%3CUL%3E%0A%3CLI%3EIt%20should%20take%20no%20longer%20than%20two%20seconds%20to%20say.%3C%2FLI%3E%0A%3CLI%3EWords%20of%204%20to%207%20syllables%20work%20best.%20For%20example%2C%20%22Hey%20Computer%22%20is%20a%20good%20keyword.%20Just%20%22Hey%22%20is%20a%20poor%20one.%3C%2FLI%3E%0A%3CLI%3EKeywords%20should%20follow%20common%20pronunciation%20rules%20specific%20to%20the%20native%20language%20of%20your%20end-users.%3C%2FLI%3E%0A%3CLI%3EA%20unique%20or%20even%20a%20made-up%20word%20that%20follows%20common%20pronunciation%20rules%20might%20reduce%20false%20positives.%20For%20example%2C%20%22computerama%22%20might%20be%20a%20good%20keyword%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3ECustom%20Keyword%20will%20automatically%20create%20candidate%20pronunciations%20for%20your%20keyword.%20Listen%20to%20each%20pronunciation%20by%20clicking%20the%20play%20button%20next%20to%20it.%20Unselect%20any%20pronunciations%20that%20do%20not%20match%20the%20pronunciation%20you%20expect%20your%20end-users%20to%20say.%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETip%3A%20It%20is%20important%20to%20be%20deliberate%20about%20the%20pronunciations%20you%20select%20to%20ensure%20the%20best%20accuracy%20characteristics.%20For%20example%2C%20choosing%20more%20pronunciations%20than%20needed%20can%20lead%20to%20higher%20false%20accept%20rates.%20Choosing%20too%20few%20pronunciations%2C%20where%20not%20all%20expected%20variations%20are%20covered%2C%20can%20lead%20to%20lower%20correct%20accept%20rates.%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22custom-keyword-pronunciations.png%22%20style%3D%22width%3A%20573px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278906iBB696A2E2898662C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22custom-keyword-pronunciations.png%22%20alt%3D%22custom-keyword-pronunciations.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3C%2FLI%3E%0A%3CLI%3E%3CP%3EChoose%20the%20type%20of%20model%20you%20would%20like%20to%20generate.%20To%20make%20your%20keyword%20recognition%20journey%20as%20effortless%20as%20possible%2C%20Custom%20Keyword%20allows%20you%20to%20create%20two%20types%20of%20models%2C%20both%20of%20which%20do%20not%20require%20you%20to%20provide%20any%20training%20data%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CP%3E%3CSTRONG%3EBasic%3C%2FSTRONG%3E%20%E2%80%93%20Basic%20models%20are%20designed%20to%20be%20used%20for%20demo%20or%20rapid%20prototyping%20purposes%20and%20can%20be%20created%20within%20just%2015%20minutes.%3C%2FP%3E%0A%3C%2FLI%3E%0A%3CLI%3E%3CP%3E%3CSTRONG%3EAdvanced%3C%2FSTRONG%3E%20%E2%80%93%20Advanced%20models%20are%20designed%20to%20be%20used%20for%20product%20integration%20with%20improved%20accuracy%20characteristics.%20These%20models%20can%20take%20up%20to%2048%20hours%20to%20be%20created.%20Remember%2C%20you%20do%20not%20need%20to%20provide%20any%20training%20data!%20Advanced%20models%20leverage%20our%20Text-to-Speech%20technology%20to%20generate%20training%20data%20specific%20to%20your%20keyword%20and%20improve%20the%20model%E2%80%99s%20accuracy.%3C%2FP%3E%0A%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3E%3CP%3EClick%20%3CSTRONG%3ETrain%3C%2FSTRONG%3E%2C%20and%20your%20model%20will%20start%20training.%20Keep%20an%20eye%20out%20in%20your%20email%20as%20you%20will%20receive%20a%20notification%20once%20the%20model%20is%20trained.%20You%20can%20then%20download%20the%20model%20and%20integrate%20with%20the%20Speech%20SDK.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETip%3A%20You%20can%20also%20test%20the%20model%20directly%20within%20the%20Custom%20Keyword%20portal%20in%20your%20browser%20by%20using%20the%20%3CSTRONG%3ETesting%3C%2FSTRONG%3E%20tab.%20Choose%20your%20model%20and%20click%20%3CSTRONG%3ERecord%3C%2FSTRONG%3E.%20You%20may%20have%20to%20provide%20microphone%20access%20permissions.%20Now%20you%20can%20say%20the%20keyword%20and%20see%20when%20the%20model%20has%20recognized%20it!%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22custom-keyword-test-model.png%22%20style%3D%22width%3A%20578px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F278907i2EE13299A50CE621%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22custom-keyword-test-model.png%22%20alt%3D%22custom-keyword-test-model.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3EFor%20more%20information%20on%20how%20to%20use%20your%20newly%20created%20keyword%20recognition%20models%20with%20the%20Speech%20SDK%2C%20read%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fcognitive-services%2Fspeech-service%2Fcustom-keyword-basics%3Fpivots%3Dprogramming-language-csharp%23use-a-keyword-model-with-the-sdk%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ECreate%20Keyword%20quickstart%20-%20Speech%20service%20-%20Azure%20Cognitive%20Services%20%7C%20Microsoft%20Docs%3C%2FA%3E.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2332961%22%20slang%3D%22en-US%22%3E%3CP%3EVoice%20activation%20enables%20your%20end-users%20to%20interact%20with%20your%20product%20completely%20hands-free.%20With%20products%20that%20are%20ambient%20in%20nature%2C%20like%20smart%20speakers%2C%20users%20can%20say%20a%20specific%20keyword%20to%20have%20the%20product%20respond%20with%20just%20their%20voice.%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2332961%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ECognitive%20Services%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Co-Authors
Version history
Last update:
‎May 06 2021 02:00 PM
Updated by: