Voice interrupt detection is controlled using three system parameters and four system variables. The system parameters specify default values for the whole system. These can be overridden for an individual application by using system variables.
The other system variable turns voice interrupt detection on or off. This cannot be done on a system-wide basis. Indeed, during the course of an application, you may turn voice interrupt detection on and off again, perhaps more than once. For example, when you are using parts of older applications which were not written to handle voice interrupt detection along with newer parts which can.
The system parameters and their equivalent system variables are shown in Table 1.
System Variable |
System Parameter |
---|---|
SV217 System : Voice Interrupt Detection : On/Off |
— |
SV218 System : Voice Interrupt Detection Level |
Voice Interrupt Detection Level |
SV219 System : Voice Interrupt Detection On Time |
Voice Interrupt Detection On Time |
SV220 System : Voice Interrupt Detection Off Time |
Voice Interrupt Detection Off Time |
The value of Voice Interrupt Detection Level specifies the minimum energy level that the voice interrupt detector considers to be an interrupt. That is, any noises below that level don't count as interrupts.
Be careful when setting the voice interrupt detection level variable, if it is too high the caller will be unable to interrupt prompts even by shouting. If the value is too low, the echo1 from a prompt being played combined with the background noise level from the caller's telephone may interrupt prompts unintentionally. If there is a very loud echo on a particular line, it is recommended that the level is increased.
The value of Voice Interrupt Detection On Time specifies the minimum length of time for which the audio signal must remain above the minimum energy level. That is, a very short sound does not count as an interrupt.
After detecting a sound that qualifies as an interrupt (it's above the minimum energy level and longer than the minimum on time), the detector must make sure that the caller has finished speaking the word before starting the next state table action. This is because the caller may have spoken a multi-syllable word as the interrupt: for example, “cancel”. If the detector stops as soon as it has heard “Can”, the rest of the word, “cel” could be taken as another word and passed to a speech recognizer. If you add a tone between the play and record actions in the state table, this ensures that the caller's interrupt completes before the record action begins. So, the Voice Interrupt Detection Off Time value is used to make sure that there is a period of silence after the interrupt-word has been spoken.
This also ensures that a continuous sound picked up by the caller's telephone is not assumed to be an interrupt.
There are default values for all of these parameters and variables, which work in most circumstances. Change these values only if you have a need to, for example, if levels are set too high or too low for the environments your applications are used in. Refer to the Blueworx Voice Response for AIX: Problem Determination information for examples of problems you may encounter using voice interrupt detection and suggested solutions.
All you need to do to activate voice interrupt detection is to set SV217 to 1 in the state table. To turn voice interrupt detection off again, for example, when invoking a state table that does not have support for voice interrupt detection, set SV217 to 0 in the state table.