Why and when should I back up a profile?

Last reviewed: 11/19/2007

FAQ Article ID: F110705

The information in this article applies to:

  • ProfileKit 2


A speech recognition profile is an essential resource speech recognition engines use to enhance recognition quality.

As much as we all want high-performance speaker-independent recognition, the reality is that speech recognition is speaker-dependent and the speaker profile is an essential resource for improving speech recognition accuracy. Ensuring you can restore a possibly damaged profile or supporting the capability of porting one to a different system should be considered as an essential part of your application's administrative functions.

More Information

    ProfileKit 2 enables your application to administer speaker profiles by:
  • creating a backup in case of system failure or unexplained damage to the profile itself;
  • creating new user profiles and run speaker training; and
  • restoring the profile.

Profile formats vary across speech APIs. ProfileKit provide common methods to backup, restore, and invoke speaker training. You can test these ProfileKit functions within the Chant Developer Workbench development and testing environment before integrating them in your code.

Chant ProfileKit

ProfileKit is designed to create and run speaker training in standalone mode. It manages the recognizer is in the correct mode during profile maintenance. Any SpeechKit recognition sessions should be stopped and instances destroyed to ensure your application does not have the recognizer active during profile maintenance operations to avoid possible profile corruption.

With ProfileKit, you can create your own utilities for backup, restore and speaker training that best integrate directly with your application administrative functions.

Consider making a backup of your speaker profile after the user completes the training. This way, you have an archive of original training that you can restore on demand.

Some recognizers adjust the profiles over time by sampling the environment acoustics and updating this data in the profile for the recognizer to factor in when matching. For example, SAPI 5 provides a flag to turn this automatic adaptation on or off. If you do not want ongoing sampling updates to your SAPI 5 speaker profile, set the CNPAdaptation property to 0 with the ChantPM.SetNumberProperty method.

If your speaker profiles are being updated after initial speaker training, then you probably want to consider daily, weekly, or monthly back up schemes for your application to launch. Or, you may want to consider a usage count option for your end user to set. For example, you could do a backup after your application is launched 3 times.

You should consider your user's speaker profile an essential data resource like other critical application resources and integrate a profile backup and restore capability in your application administrative functions.